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
  • Faq

    EDIT: From now you can find all the information in the user guide.


    You can find the user guide and get support here: https://danipindado.github.io/Garmin-ConnectIQ-pool-swim-app.html
  • Finally available, see first post
  • V2.0

    Add support for fr630 (tap: start/stop. Lap: lap/exit. swipe left/right change view). please use contact form in case of problems.
    add HR data if sensor available
    increase length sensitivity
  • Former Member
    Former Member over 8 years ago
    Resume, Save or Discard

    Hi,

    When the application is on pause and we press the return bottom automatically the application is turn off and the activity save. This happened to me by mistake several times, resulting in several activities when I only did one. Is there a possibility to include the standard three possibilities existing in all other main applications? Resume, Save or Discard.

    Thanks

    Regards,
    Antonio
  • Hi,

    When the application is on pause and we press the return bottom automatically the application is turn off and the activity save. This happened to me by mistake several times, resulting in several activities when I only did one. Is there a possibility to include the standard three possibilities existing in all other main applications? Resume, Save or Discard.

    Thanks

    Regards,
    Antonio


    Cool idea! Yes, I will implement it :-)
  • Same issue as AJDSMATA

    Cool idea! Yes, I will implement it :-)


    Yes, this will be very helpful.
    Thanks.
  • Firstly, thanks for producing this, it works pretty well for me (albiet in certain conditions)

    Doing 2 lots of 10 lengths breaststroke was perfect lap counts.

    Sadly, 10 lengths of front crawl over-estimated by quite a few lengths. Any idea why that could be? I did stop for upto 5 seconds a couple of times to adjust/empty goggles, and didn't pause the watch - could that have been enough to trigger a new length?

    It also appeared to be triggering a length in well under 10 seconds, even when it was counting correctly, despite what it says in the release notes?

    However, the following 2 statements seem to contradict each other slightly:
    Length detection is based on heading: when you finish one length and then you turn back, the app will trigger a length. it might take a couple of seconds.
    Length detection is deactivated during the first 10 seconds of every length, to avoid that lengths are triggered when you are taking a rest and maybe the heading could oscillate.

    Perhaps some logic could be implemented where you can enter a minimum amount of time for a length, so for instance if you have the pool length at 25m and a minimum time of 20 seconds, it will discard any false entries where the length trigger was only 5 seconds apart? Just a thought.

    Finally, it uploads the activity time to Garmin Connect with a time only, but I wasn't getting any length or distance info with it? I went in and set pool length to 25m. Is it supposed to or not?

    Moving on to feature requests, is it possible to add the possibility to display lengths rather than distance during the activity?

    Please take the above as feedback and not criticism. The app worked better than I ever expected it to, and if this can be ironed out would be awesome.

    Thanks
  • V3.0

    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.

    do you want to colaborate? do you have a cool swimming technique (my goal is to properly detect strokes for each style)? then send me a FIT file containing all or some of the swimming styles. if each style is grouped in just one interval, it would be awesome.

    coming soon:
    - discard/resume/save menu on exit button
    - summary window when paused (pool length, distance, ...)

    later:
    - automatic pause recognition
  • Firstly, thanks for producing this, it works pretty well for me (albiet in certain conditions)
    Thanks, great that you like it :)

    Doing 2 lots of 10 lengths breaststroke was perfect lap counts.

    Sadly, 10 lengths of front crawl over-estimated by quite a few lengths. Any idea why that could be? I did stop for upto 5 seconds a couple of times to adjust/empty goggles, and didn't pause the watch - could that have been enough to trigger a new length?

    It also appeared to be triggering a length in well under 10 seconds, even when it was counting correctly, despite what it says in the release notes?

    Did you stop 5 seconds before the current length had been detected? if the length had not been detected yet, what you noticed is the current length activation.
    once a length has been detected (you will notice a small vibration in the watch), there will not be a new length detection for at least 10 secs, even if you change direction.
    my recommendation is: if you are going to stop, even for a few seconds, press pause. the current length will be automatically added when you press pause.

    However, the following 2 statements seem to contradict each other slightly:
    Length detection is based on heading: when you finish one length and then you turn back, the app will trigger a length. it might take a couple of seconds.
    Length detection is deactivated during the first 10 seconds of every length, to avoid that lengths are triggered when you are taking a rest and maybe the heading could oscillate.

    Perhaps some logic could be implemented where you can enter a minimum amount of time for a length, so for instance if you have the pool length at 25m and a minimum time of 20 seconds, it will discard any false entries where the length trigger was only 5 seconds apart? Just a thought.

    by now you will probably have realized, that english is not my mother tongue :) i am spanish. probably i failed to explain it properly.
    In the first sentence i try to point out, that the length is not finished when you reach wall - i am not using the accelerometer to detect it. you will turn back, and then the watch will realize that you have changed directions, and it will trigger a lap.
    in the second sentence i meant, that, once one length was detected, no further length will be detected for the following 10 seconds. to avoid multiple triggering.
    if i understand you right, this second sentence is actually your proposal: it will discard any false entries when the length duration < 10 secs.

    Finally, it uploads the activity time to Garmin Connect with a time only, but I wasn't getting any length or distance info with it? I went in and set pool length to 25m. Is it supposed to or not?

    you should see:
    real time infos => charts
    interval infos => interval tab
    session info => session tab
    see attached screenshots.
    https://forums.garmin.com/attachment.php?attachmentid=38676&d=1480457567
    EDIT: for some reason, i am not able of attaching more than one screenshot.... strange. anyway, the charts in GC are the instant data, and bottom left, you have the session data: pool length, and so on....

    i have to say here that as of now, garmin connect is somewhat buggy with regards to ConnectIQ fields. there are lot of know issues: chart colors are ignored, some fields are not shown even if they should, and some more.
    Garmin is aware, they have admited it here: https://forums.garmin.com/showthread.php?364535-Known-Issues-Thread
    they are working on fixes.
    Moving on to feature requests, is it possible to add the possibility to display lengths rather than distance during the activity?

    Do you mean in the watch? my plan is to provide field customization in a future. stay tuned!
    Please take the above as feedback and not criticism. The app worked better than I ever expected it to, and if this can be ironed out would be awesome.
    Thanks

    i thank you a lot for your feedback. it helps me make the app better. :)
  • Thanks for the quick response.

    Here is the 10 lengths front crawl activity that over counted. Not sure if this helps?
    https://connect.garmin.com/modern/activity/1464294250

    edit:
    here is one of the good ones:
    https://connect.garmin.com/modern/activity/1464293996

    I'd not actually looked in web based GC, just on mobile, and you can see the distance on the graphs.
    However it isn't recorded on the summary for some reason, which shows 0 yards.

    I like swimming activities in metres, rather than imperial despite using miles for running/cycling. Sorry, us brits are awkwad like that. But perhaps that might be a cause of the issue with the meters to imperial conversion? Will see if I can change that setting somewhere in garmin connect and see if that makes any difference.

    As for the stopping, I didn't take too much notice. But will try to next time, and/or pause manually. As the breaststroke worked fine I never gave it too much thought.

    Thanks again.