App: Pool Swim

https://apps.garmin.com/es-ES/apps/f134a024-6ee4-47d3-8aec-3a397e3c9733



Track your pool swimming activities with your FR230 and FR235.
You can find the user guide and get support here: https://danipindado.github.io/Garmin-ConnectIQ-pool-swim-app.html


Credits
Icon made by Freepik from www.flaticon.com

You can donate my ConnectIQ development via PayPal here: https://bit.ly/2h1EMT1

Changelog
v1.0-upd.1: bugfixes. heading might drift sometimes.
v1.0-upd.2: improve heading calculation. new multicolor icon.
v2.0: support FR630. HR data.
v3.0:Initial support stroke count (feature as beta, waiting for your feedback). Several changes in memory managment and process execution for better performance and stability.
v3.0-upd.1: fix issue. data needed for stroke count analysis was not properly written in fit file. otherwise same functionality as v3.0
v3.1: discard menu: when exiting app, now you can choose between resume/save/discard.
v3.2: display summary window when paused.
v3.2-upd.1: fixed bug: duplicate lengths after triggering manual lap.v3.2-upd.1: fixed bug: duplicate lengths after triggering manual lap.
v4.0: most common pool length values and watch screen format & fields can be configured in watch. hold "up" button for three seconds. small adjustments heading. Several cosmetic changes.
v4.1:
calories can now be selected as screen field in watch menu.
new app setting "DEBUG" which enables writting of accelerometer and heading data @10Hz in FIT file (default disabled)
new feature autolap can be configured in watch menu (default disabled- when enabled, it triggers a new lap every n lengths, where n is a configuration parameter)
several bugfixes and memory enhancements.
v4.1-upd.1: bugfix calories calculation which caused crash when hr monitor is available.
v4.2: new FR630 key definition. improve how pace charts are displayed in Sport Tracks. See https://danipindado.github.io/Pool-Swim-app-v4.2-released.html
v4.3 Implement imperial units. Improve heading calibration. https://danipindado.github.io/pool-swim-app-v4-3-released.html
v4.4 Memory & stability improvements. new heading filter. stroke counting temporarily removed. https://danipindado.github.io/new-pool-swim-version-with-improved-length-detection.html
v4.5 New stroke rate algorithm. Small bugs and improvements. https://danipindado.github.io/stroke...pool-swim.html
v4.6 Garmin swim watch compatibility: recording continues during pause and stroke rate takes one arm into account only. heading chart shows now sine instead of rad. intensity field added (only 3rd party sites supporting ConnectIQ, f.i. sporttracks) https://danipindado.github.io/pool-swim-apps-improves-compatibility-with-other-swim-watches.html
v4.7 update summary window. update user guide. https://danipindado.github.io/Garmin-ConnectIQ-pool-swim-app.html
  • ECHAR BergstraBe

    Durning swimming with Pool Swim app comes to my mind some ideas that I wanted to share. I hope it will be useful to someone else also.

    Could you consider my proposals:

    - Auto-laps - after swimming a certain number of lenghts of the pool, automatic time split will be added. I thought it would be easier to control this function from mobile phone. On existing already screen with pool lenght, there could be option to enable or disable Auto-lap (be default could be off, because maybe not everyone want to use it or deal with these settings). After enabling Auto lap there will be possibility to set when auto-lap will be triggered. For example: I swim 1000 m. and I would like to have splits after each 100 m. so I set auto-laps parameter to 4. When I swim and I would like to have splits after each lap I set parameter to 1.
    - additional screen with data - durning swimming (underwater and durning movement) it's hard to see digits from the main screen because they are too small. It is possible to add another screen with one or two fields with distance or lap counter (something like screen with HR). Sometimes it's good to know how far is to the end of training ;)

    What are you thinking about it? It is reasonable?
  • hi,
    thanks a lot for your suggestions.

    - Auto-laps - after swimming a certain number of lenghts of the pool, automatic time split will be added. I thought it would be easier to control this function from mobile phone. On existing already screen with pool lenght, there could be option to enable or disable Auto-lap (be default could be off, because maybe not everyone want to use it or deal with these settings). After enabling Auto lap there will be possibility to set when auto-lap will be triggered. For example: I swim 1000 m. and I would like to have splits after each 100 m. so I set auto-laps parameter to 4. When I swim and I would like to have splits after each lap I set parameter to 1.

    this might be part of a interval functionality, such as in running workouts.
    id need to add these parameters to the app
    - intervals (yes/no)
    - warm up (yes/no)
    - repetitions (number)
    - distance interval
    - distance rest
    - cool down (yes/no)

    to be honest, i am a little bit reluctant to implement this, because:
    - a length with my app finishes when next length has already begun. it is not very convenient for the swimmer: he begins a new lenght, and after 2-3 seconds the watch beeps, and he has to take a look at the watch to see what comes next. not very handy. i can imagine people complaining.
    - beeps will not be heared. this should be done with vibrations. even sometimes i miss vibrations when swimming. i am not sure either it would be very handy for the people
    - i have very limited time for development. and to be honest this is not a feature i miss for my personal use. it does not have a great prio for me.... for now i leave the proposal in the queue, and we will see in the future. maybe i get a huge donation from spanish olimpic swimming team with the request to implement the feature :D

    - additional screen with data - durning swimming (underwater and durning movement) it's hard to see digits from the main screen because they are too small. It is possible to add another screen with one or two fields with distance or lap counter (something like screen with HR). Sometimes it's good to know how far is to the end of training ;)

    What are you thinking about it? It is reasonable?

    yes, this is something definetely i have to do. the activity screen is not useful at all. i dont get to read the numbers when swimming with the goggles on. i am over 40, so that does not help :) . but still, numbers are small.
    i will come up with some improvement very soon.
  • Here you are:

    :)


    thanks a lot!
    i have a couple of brand new ideas regarding stroke counting. stay tuned ;-)
  • Still struggling with this.


    First 10 lengths were great.
    https://connect.garmin.com/modern/activity/1482328583

    Then it started to over-count on the next activity.
    https://connect.garmin.com/modern/activity/1482328255

    Using the mouse to drag along the distance field, the extra lengths seem to be around:
    200-250
    275-300
    550-575
    600-650
    then the last bit where the spikes are.

    It looks to me like even a slight dip in heading is enough to trigger an extra length in some cases.
    Also at 15 mins there is some noise for very brief period, which again seem to get counted as a length even though I'd have though the algorithm should know they are too short?

    Incidentally, the stroke count seems way off. This isn't an area that bothers me, but thought I'd mention it anyway.
    Now on latest app and latest firmware.

    This app is so close to being brilliant, but just isn't quite working for me for some reason.
    Any ideas?

    Thanks
  • https://connect.garmin.com/modern/activity/1482328255

    Using the mouse to drag along the distance field, the extra lengths seem to be around:
    200-250
    275-300
    550-575
    600-650

    i can see what you mean here. if you zoom around 6:20 mins, distance increases. this happened because you pressed either lap, or pause button. short afterwards, at 6:30, you change directions. and an additional length is counted. this is a bug. but it seems to me the same bug that sokolsky reported last week
    https://forums.garmin.com/showthread.php?364280-App-Pool-Swim&p=925971#post925971
    it should be fixed in current version, v3.2-upd.1 . i released that version on dec 6th. did you update before that date? can you double check which version you have? i might have forgotten something. but i swum with this version last time, i triggered laps, and the issue did not happen to me. i thought it would be fixed. (you can check the version in the splash screen during the first three seconds after launching the app in the watch).

    then the last bit where the spikes are.

    i have seen this spikes from time to time in other activities. heading goes below -180°, and then becomes +179°, causing the spikes. i am working on minimize them in next version.
    out of curiosity: did you change your swimming style during the activity? what did you swim, freestyle?

    Incidentally, the stroke count seems way off.

    yes, stroke count sucks. also known :) working on that too.
  • i can see what you mean here. if you zoom around 6:20 mins, distance increases. this happened because you pressed either lap, or pause button. short afterwards, at 6:30, you change directions. and an additional length is counted. this is a bug. but it seems to me the same bug that sokolsky reported last week
    https://forums.garmin.com/showthread.php?364280-App-Pool-Swim&p=925971#post925971
    it should be fixed in current version, v3.2-upd.1 . i released that version on dec 6th. did you update before that date? can you double check which version you have? i might have forgotten something. but i swum with this version last time, i triggered laps, and the issue did not happen to me. i thought it would be fixed. (you can check the version in the splash screen during the first three seconds after launching the app in the watch).


    i have seen this spikes from time to time in other activities. heading goes below -180°, and then becomes +179°, causing the spikes. i am working on minimize them in next version.
    out of curiosity: did you change your swimming style during the activity? what did you swim, freestyle?


    yes, stroke count sucks. also known :) working on that too.


    Hi,
    I'm on V3.2, but it just says 3.2, not 3.2-upd.1 so I suspect it isn't latest after all - I'll force an update and see if that changes.
    I've been testing this by doing 10 lengths at a time, but yesterday did 10 then another 30 with pauses in between.
    The problems were in the 30, which makes it harder to work out what happened at what point.
    From memory I did 10 breaststroke, paused, did 2 front crawl, paused (as goggles had water in them), did another 8 FC, paused, then another 10 BS.
    Other than pausing after the 2 lengths to clear goggles I dont recall anything strange.
    The FC would have been quicker than the BS.

    In future I'll stick to what I was doing and record 10 lengths at a time, paying particular attention to what happens so I can feed back. After the first perfect 10 I got a bit blase.
    Nearly there though .. fingers crossed.
    Thanks
  • v4.0

    v4.0
    most common pool length values and watch screen format & fields can be configured in watch. hold "up" button for three seconds. small adjustments heading. several cosmetic changes. stroke counting still in beta. but this version writes accelerometer data to fit file at 10Hz, which will be very useful for analysis.
    WARNING: pool length might have to be configured again after update. sorry for that.
  • Was just about to update and say I've tried again on latest version (now once version behind again :( )
    3 lots of 10 lengths breaststroke were great. The heading looks fairly square
    example:
    https://connect.garmin.com/modern/activity/1490008914

    Unfortunately, 10 lengths of front crawl is a mess, and overcounted.
    That said, looking at the heading recorded I cant blame the app, I cant even tell what was lengths.
    https://connect.garmin.com/modern/activity/1490009203

    Any ideas why this is such a mess? For whatever reason front crawl is far worse for me?
    Is it because the arm goes right round, and faces both directions alternately? Is it because the wrist goes further imder the water perhaps?
    This was the reason I asked about how the compass worked, as I dont really see how it can work out heading without GPS on front crawl where efectively the arm points forwards for 1 stroke and backwards for the next.

    Like I say, I cant blame the app on this one. But wondering why I struggle so much on front crawl.
    Does everyone find the same, or no difference between strokes?

    Thanks
    P.S. Will download the latest version again for next attempt
  • Was just about to update and say I've tried again on latest version (now once version behind again :( )
    3 lots of 10 lengths breaststroke were great. The heading looks fairly square
    example:
    https://connect.garmin.com/modern/activity/1490008914

    Unfortunately, 10 lengths of front crawl is a mess, and overcounted.
    That said, looking at the heading recorded I cant blame the app, I cant even tell what was lengths.
    https://connect.garmin.com/modern/activity/1490009203

    Any ideas why this is such a mess? For whatever reason front crawl is far worse for me?
    Is it because the arm goes right round, and faces both directions alternately? Is it because the wrist goes further imder the water perhaps?
    This was the reason I asked about how the compass worked, as I dont really see how it can work out heading without GPS on front crawl where efectively the arm points forwards for 1 stroke and backwards for the next.

    Like I say, I cant blame the app on this one. But wondering why I struggle so much on front crawl.
    Does everyone find the same, or no difference between strokes?

    Thanks
    P.S. Will download the latest version again for next attempt

    Hi,
    i think yo swim tuesdays, which is the day i release new versions, because i swim Wednesdays :-)
    actually i see your lenghts in the activity. There are lot of peaks, because when heading goes below -3.14, it turns into +3.14. It seems every second length your heading is very close to -3.14, which triggers the peaks and the false lenghs.
    i did some changes regarding heading in his version, and i really expect it will behave better in this kind of cases.
    Still for me the previous version worked quite well. I seldom have false lengths. Two in las three weeks. I swum about 130 lenghs. So accuracy is better than 1% for me. I swim 50% crawl and 50% breaststroke.
    i think the first 10secs of the activity are very important, so that the app learns the direction of your pool correctly.

    give a try to the new version and let me know how it goes.

    thanks for reporting!
  • Thanks for the quick response.
    Will download and try again.

    Sorry to be a pain with these posts. But would be good for me to get this app to be accurate for me, and also by providing examples I can also hopefully help you improve the app for others and see where it can be improved further.
    Please don't see my posts as complaints though - the app is genuinely very impressive.

    Thanks