Start To Run https://starttorun.info downloads, reviews, schedules, info... Sat, 14 Sep 2019 07:40:13 +0000 en-US hourly 1 https://wordpress.org/?v=5.2.4 All In One https://starttorun.info/all-in-one/ https://starttorun.info/all-in-one/#comments Mon, 12 Aug 2019 20:36:35 +0000 https://starttorun.info/?p=1821 Overview – Key functionalities and restrictions The All In One data field shows you 7 metrics in a full screen view All In One integrates the functionality of several of my other data fields in 1 view. Configure the settings for 3 activity profiles (run, bike, other) so you will only need to download 1 ...read more

Dit bericht All In One komt van: Start To Run.

]]>

Overview – Key functionalities and restrictions
  • The All In One data field shows you 7 metrics in a full screen view
  • All In One integrates the functionality of several of my other data fields in 1 view.
  • Configure the settings for 3 activity profiles (run, bike, other) so you will only need to download 1 connect iq app for all your sports
  • Due to very strict memory limits in Connect IQ the available functionality depends on the memory limits of your device.

Q1: To which tier does my device belong?
NameDevices
Tier 1All Connect IQ 1 devices: FR230, FR235, FR630, FR920XT, Fenix3, D2Bravo, Vivoactive
Tier 2Devices with 32kb memory: Approach S60, FR245, FR645, FR735XT, FR935, Fenix5, Fenix5s, Fenix Chronos, Fenix 6s, Fenix 6, Vivoactive Hr, Vivoactive 3, Vivoactive 4, Venu, Edge 130, Edge 520
Tier 3Devices with 64kb or more memory: D2Charlie, D2Delta, Descent Mk1, Fenix 5x, Fenix 5+, Fenix5s+, Fenix5x+, Fenix 6s Pro, Fenix 6 Pro, Fenix 6x Pro, FR245 Music, FR645 Music, FR945, Marq
Tier 4“Big” devices: Oregon, Rino, Edge 520 Plus, Edge 530, Edge 820, Edge 830, Edge 1000, Edge Explore, Edge 1030

Q2: Which features are available on my device?
Tier NameFeatures
Tier 1
  • 5 customizable fields with 23 possible field options
  • ability to set up your preferences for 3 activity profiles (run / bike / other)
  • Integration of Data Field: Fat Burner (fixed value per zone, no configurable zone values)
  • Integration of Data Field: Let There Be Light! (only enough memory to provide the choice between always on or always off)
Tier 2
  • 5 customizable fields with 33 possible field options
  • abiltity to set up your preferences for 3 activity profiles (run / bike / other)
  • abitlity to record metrics to fit file (defaults to off. When on the following metrics are recorded in the activity summary: fat burned, carbs burned, activity steps)
  • allow to change settings while field active
  • basic support for running dynamics
  • Integration of Data Field: Fat Burner (always interpolation method, no configurable zone values)
  • Integration of Data Field: Eat! Drink! Reminder! (up to 3 configurable alarms)
  • Integration of Data Field: Back To Start
  • Integration of Data Field: Elevation Grade (grade in percent, elevation grade not available on non barometric devices)
  • Integration of Data Field: Let There Be Light! (not enough memory to calculate sunset/sunrise, but instead you can opt to turn on the light before/after a certain reference hour)
  • Integration of Data Field: Steps Carousel (carousel of activity steps / goal completed percentage)
Tier 3
  • All features of Tier 2
  • 7 customizable fields with 42 possible field options
  • extended support for running dynamics
  • Configurable Fat Burner
  • Extra graph for fat burned / carbs burned over the course of the activity (in addition to the value in the summary) so you can analyse after your activity where you burned most fat
  • Let There Be Light Setting allows to turn the light on between sunset and sunrise
Tier 4
  • All features of Tier 3
  • 1 activity profile with many customizable fields optimized for a big screen display
  • Option to show Background image
Q3: I’ve installed “All In One” but I can’t find it on my device
All In One is a data field and you have to edit an existing activity profile such as RUN via RUN SETTINGS to use it (choose a 1 field layout and as field 1 select the All In One app).

For a visual how to search on Google for “Youtube edit data fields”

I have another question!
There are several channels for support:
  • You can post your question below this article
  • You can post your question in the forum support topic
  • You can use the contact developer link on the app description page

Donations

The data field is fully functional without donating. Donations are optional but encouraged from within the data field with an encouragement text. If you find All In One Data Field useful and/or it helps you to achieve your goals you can show your appreciation by donating an amount (suggested donation: 5 euro) on my PayPal account (Mention the name of the app: “All In One”, select “donate to a friend” for less paypal fees)

After donation you will receive a donation key on your paypal email address which will remove the encouragement message from the data field. (this is a manual process, but normally you should receive a key within 24 hours)

(SPECIAL PROMO – donate 19 euro or more and get a key that’s valid for all my current and future apps: https://www.paypal.me/PeterDeDecker/19eur )

Dit bericht All In One komt van: Start To Run.

]]>
https://starttorun.info/all-in-one/feed/ 12
Connect IQ Summit 2019 videos https://starttorun.info/connect-iq-summit-2019-videos/ https://starttorun.info/connect-iq-summit-2019-videos/#comments Fri, 07 Jun 2019 13:09:51 +0000 http://starttorun.info/?p=1795 Monkey C Essentials Shannon and Marianne give an overview of the Monkey C language at the 2019 Connect IQ Summit Effective debugging Jeff and Adam overview the Connect IQ developer tool suite at the 2019 Connect IQ summit

Dit bericht Connect IQ Summit 2019 videos komt van: Start To Run.

]]>

Monkey C Essentials


Shannon and Marianne give an overview of the Monkey C language at the 2019 Connect IQ Summit


Effective debugging


Jeff and Adam overview the Connect IQ developer tool suite at the 2019 Connect IQ summit

Dit bericht Connect IQ Summit 2019 videos komt van: Start To Run.

]]>
https://starttorun.info/connect-iq-summit-2019-videos/feed/ 1
Navigator https://starttorun.info/navigator/ https://starttorun.info/navigator/#comments Fri, 03 May 2019 12:17:43 +0000 http://starttorun.info/?p=1706 Summary Navigator solves the following issues for me: it directs me (in bird flight) to the start location of the course it keeps me on track by following the detailed course line it warns me before turns it shows me my important metrics while I’m navigating it shows me my position within the course at ...read more

Dit bericht Navigator komt van: Start To Run.

]]>
Summary Navigator solves the following issues for me:
  • it directs me (in bird flight) to the start location of the course
  • it keeps me on track by following the detailed course line
  • it warns me before turns
  • it shows me my important metrics while I’m navigating
  • it shows me my position within the course at all times which motivates me to keep progressing the course
  • As it is a data field I can integrate this in any Garmin native activity profile and combine this with other data fields of my choice

You will see all these things in 1 single screen (configurable through app settings):
  • Zoomed-In route (200m scale) to show you the details of the turns you need to take
  • Route overview map showing your overall position within the course
  • All important data metrics you want to see: heart rate, speed, distance, time, etc…

Privacy Policy

The Navigator app does not track personal information directly but makes use of a 3rd party API provided by dynamic.watch which does store personal info on every data request, you can read the detailed privacy policy here

Installation

Installation requires several steps which are described below.

Step 1: download the data field and configure to use it on your watch on a layout with 1 field

Download the data field from the app store here https://apps.garmin.com/en-US/apps/865d1d3b-9cff-4253-b985-1eeb98ac3374

Then configure an activity profile (eg Run) to use this data field in a layout with 1 field.

The video below shows how to install one of my other data fields, follow the below instructions but select the “Navigator” field (instead of “Peter’s (Race) Pacer”)



Step 2: Sign up for an account at dynamic.watch and create your first route

Visit https://dynamic.watch/ and sign up for a new account



Create a new route for example by uploading a gpx file


After uploading the route, click on “Back” or the “X” icon to close the edit screen and make sure that this route is marked as your active route (the clock icon is black next to your active route)



Step 3: Link dynamic.watch with the Navigator app

The Navigator app uses the Partner App Code system from dynamic.watch to download the routes, before you can use this system, you need to enable this “Partner App Code” system.
Click on “Link your device” and then click on “Click to enable”



Copy the Partner Access Code to the Clipboard



Step 4: Configure the application settings of Navigator

Go to Garmin Connect Mobile and Paste the Partner Access Code into the Application Settings of the Navigator App.

(My settings are in dutch but the above screenshots should give you the general idea, click on the pic to enlarge)

Step 5: Start the data field and wait for the route to be downloaded

  • On your watch go into the activity profile (eg Run) to which you added the Navigator data field to (you did this in step 1)
  • Start Garmin Connect Mobile and synchronize your device (this action will force an active bluetooth connection and make the download of the route faster)
  • Wait for the route to be downloaded (this can take up to 5 minutes)

FAQ

Q1. The data field shows “No Route (see FAQ)”
– Did you follow the setup instructions as above?
– Did you enter the correct Partner Access Code in the settings?
– Do you have internet connection?
– Did you already wait 5 minutes?

Q2. The turns warning doesn’t warn me on a street crossing or it warns me when there’s no turn nearby
This is possible, the data field doesn’t know streets or path ways and have to calculate turns as the route progresses.
Turns are defined as:
  • More than 100 meter away from the previous turn
  • The angle from this course point to the next course point is more than 30 degrees
So not the classic turns as you know them, but in practice it generally works well. 🙂

Donations

The Navigator data field is fully functional without donating. Donations are optional but encouraged from from within the data field with a small encouragement text. If you find Navigator useful you can show your appreciation by donating an amount (suggested donation: 5 euro) on my PayPal account (mention the name of the app “Navigator”)

After donation you will receive a donation key on your paypal email address which which will enable the option to warn on turns and remove the “Like it? Donate!” message from the data field. (this is a manual process, but normally you should receive a key within 24 hours).

(SPECIAL PROMO – donate 19 euro or more and get a key that’s valid for all my current and future apps )

Dit bericht Navigator komt van: Start To Run.

]]>
https://starttorun.info/navigator/feed/ 8
Start To Run (Garmin App) https://starttorun.info/start-to-run-garmin-app/ https://starttorun.info/start-to-run-garmin-app/#comments Mon, 22 Apr 2019 08:07:04 +0000 http://starttorun.info/?p=1694 This is the program that taught me how to run. Back in the day I couldn’t run 500 meters, now I’m running ultramarathons… so this schedule worked wonders for me. The original (dutch) lessons on which this app is based can be found here Screenshots Advice Try to run in an even pace (run slow ...read more

Dit bericht Start To Run (Garmin App) komt van: Start To Run.

]]>

The original (dutch) lessons on which this app is based can be found here

Screenshots

choose  the lesson

choose the lesson. Devices with keys use the up/down/enter button, devices with touch screen use tap lower/upper screen or swipe

summary screen

A summary screen is presented so you know what to expect from this lesson!

action screen

This is what you see during the lesson. At the bottom of the screen you also see what the next “block” is going to be.

Advice

  • Try to run in an even pace (run slow enough so you can keep up this pace!)
  • Walk in a way that you are active but also recuperate enough to handle the next running block
  • Take (at least) one day of rest after each lesson!
  • Treat the schedule as a guideline (take extra rest when you feel too tired!)
  • Consult a doctor to take a cardiogram is a wise thing to do

Schedule Info

Download links

Download the apps from the Connect IQ Store:
After installation you find the apps on your watch in the “IQ Apps” section.

Donations

You can use the app for free for as long as you want, but a donation is encouraged from within the app with a small encouragement message. If you like the app then consider to support the development!

Suggested donation amount: 5 euro (Mention the name of the app: “Start To Run”, tip: choose donate to a friend to limit paypal fees)

(SPECIAL PROMO – donate 19 euro or more and get a key that’s valid for all my current and future apps )

Dit bericht Start To Run (Garmin App) komt van: Start To Run.

]]>
https://starttorun.info/start-to-run-garmin-app/feed/ 9
The best Bluetooth headphones and speakers for Garmin watches https://starttorun.info/the-best-bluetooth-headphones-and-bluetooth-speakers-for-garmin-watches/ https://starttorun.info/the-best-bluetooth-headphones-and-bluetooth-speakers-for-garmin-watches/#comments Sat, 16 Feb 2019 04:59:31 +0000 http://starttorun.info/?p=1597 Over the past months I’ve purchased several Bluethooth headphones and Bluethooth speakers and paired them with my Garmin Fenix 5x Plus What you read in this article is which sets work best for my use cases (long distance running, hiking and a bit of cycling). I’ve listed the devices in the order of how much ...read more

Dit bericht The best Bluetooth headphones and speakers for Garmin watches komt van: Start To Run.

]]>

Over the past months I’ve purchased several Bluethooth headphones and Bluethooth speakers and paired them with my Garmin Fenix 5x Plus
top row: Skullcandy, Trekz, Plantronics. Bottom Row: Samsung, Polk

top row: Skullcandy, Trekz, Plantronics.
bottom Row: Samsung, Polk

What you read in this article is which sets work best for my use cases (long distance running, hiking and a bit of cycling). I’ve listed the devices in the order of how much I like them.

Recommended headphones and speakers


Plantronics Backbeat Fit
This is the headphone that I like and use the most, it’s my go to unit when running a single marathon.

Pros:
  • the very best audio experience of all my Bluetooth headphones
  • very lightweight
  • flexible (you can easily fold it and put in your pocket when you are tired of listening to music)
  • long battery life ~6 hours
  • although this is an in ear headphone only a part of your ear canal is covered, so if you listen on low volume you can also still hear your environment very well and even converse with people running next to you)
  • ear plugs don’t fall out

Cons:
  • There are very occasional audio dropouts when walking and wearing the Garmin watch on the left wrist (I don’t experience audio dropouts whilst running/cycling). Workaround: wear the watch on the right wrist so that the distance is shorter to the receiver that’s on the right side of the headphone.

Purchase Plantronics Backbeat Fit on Amazon: Amazon.de (EUR)
Samsung Level Box Slim
I use this Bluetooth speaker (in my back pocket) whenever I go biking or hiking.

Pros:
  • portable
  • Very (very!) good quality with a rich sound
  • great to use when in company as you can enjoy the same music together
  • very long battery life (>10h)
  • perfect for hiking and biking

Cons:
  • No backclip
  • a mini speaker, but it’s not so small (14cm x 7.5cm x 2cm)
  • on the heavy side (240g)
  • a bit heavy and not straightforward (need a running tight with a big pocket) to take along while running
Purchase Samsung Level Box on Amazon: Amazon.de (EUR)
Aftershokz Trekz Titanium
I use these Bluetooth headphones when I run inside the city (which I don’t do that often as I prefer running in nature).

Pros:
  • you can hear the environment around you the very best from all my headphones (even on higher volume). If you run a lot in high traffic areas and your safety is important to you, then this should be the major selling point for this unit.
  • bone conduction: on higher volumes you feel the unit trembling on your bones. On the lowest volume you don’t feel this. (I typically put all my headphones on lowest volume as I like to run and hike for many hours)
  • lightweight
  • long battery life (longest I’ve run with it was 4 hours and the unit was still going strong)
  • I wear glasses and was a bit scared that the bone conduction part that sits behind the ear would conflict with the glasses, but there’s no issue at all with this combination

Cons:
  • as the speaker sits slightly before your ear the music experience is less intense
  • because the speaker is not in ear the audio quality is less (still very acceptable, but without a doubt the least from all my headphones)
  • not flexible, when you’re tired of listening to music you can’t reduce the size of the unit so it’s harder to put away in your pocket.
  • I’ve had a few occasions that I got a stiff neck when running with these headphones, presumably because the back of the unit sits a few centimeters behind my head and limits the neck movement a bit. Likely only an issue when you run with it for many hours…
Purchase Aftershokz Trekz Titanium on Amazon: Amazon.de (EUR)
Skullcandy method wireless
This is my go to unit when running several marathons on consecutive days (as the moments you don’t want to hear music increase when doing multi-day events).

Pros:
  • definitely one of the best features of this headphone is that there is no need to put the unit in your pocket: this headphone has a collar which sits in your neck, when you’re tired of listening to music you can just let the earplugs dangle without fear of losing your headphones…
  • no one says you have to put both plugs in your ears, when I want to hear the environment or am talking to a person running next to me
  • good audio quality (in-between the audio quality of the Plantronics and the Trekz)
  • lightweight
  • long battery life (>5hours)
Pro/Con:
  • Update August 12th: I had to send back two units because they broke down with the same problem (unable to charge, unable to power on), my current (third unit) is working great so far and this has actually become my preferred unit as I see myself picking up this headset the more and more often as I really like being able to listen to music with just 1 ear…
Cons:
  • the ear plugs cover your complete ear canal so if you wear both plugs simultaneously you don’t hear the environment around you very well
  • Update August 12th: on the first 2 versions I had problems with ear plugs falling out sometimes, I’m no longer having this issue with this 3rd replacement.
  • When listening for many hours (3+ in my case) your ears can start feeling wet because of the build up of sweat behind the ear plug. (Usually I listen with 1 plug, so I just switch ears to resolve)
Purchase Skullcandy Method Wireless on Amazon: Amazon.de (EUR)

Not recommended headphones and speakers


Polk Boom Bit
I use this Bluetooth speaker on short runs, I wouldn’t recommend the device to people who like to exercise more than 1 hour. (In order to maximize battery life set the speaker to the lowest volume and in order for to hear anything when playing on the lowest volume clip the speaker on your shoulder right under your ear)

Pros:
  • small (3cm x 7cm x 1cm)
  • very lightweight (36g)
  • has a backclip to clip on your t-shirt
  • ok audio quality
  • this could be the perfect running companion as you hear the environment around you and there’s no irritation about plugs in your ears… but 1 hour battery life is usually too short for me. I hope that future versions will have longer battery life!
Cons:
  • very short battery life (even on the lowest volume) (~1 hour)
Purchase Polk Boom Bit on Amazon: Amazon.de (EUR)
I hope that my user experience has helped you to decide which Bluetooth headphones or Bluetooth speaker could be the best fit for your training profile. In case you have any questions feel free to ask below!

Dit bericht The best Bluetooth headphones and speakers for Garmin watches komt van: Start To Run.

]]>
https://starttorun.info/the-best-bluetooth-headphones-and-bluetooth-speakers-for-garmin-watches/feed/ 1
Data Lover https://starttorun.info/data-lover/ https://starttorun.info/data-lover/#comments Tue, 24 Apr 2018 14:48:20 +0000 http://starttorun.info/?p=1518 A watch face featuring a readable time font, sun events, active statistics and OpenWeatherMap weather. (features depend on watch capabilities, see Q5 in the Frequently Asked Questions below). Frequently asked questions Q1: There is no weather data downloaded / The location of the weather is not correct / … Getting weather to your watch requires ...read more

Dit bericht Data Lover komt van: Start To Run.

]]>

click to enlarge picture

click to enlarge picture



Frequently asked questions

Q1: There is no weather data downloaded / The location of the weather is not correct / …
Getting weather to your watch requires 4 things to be right:
  • Condition 1: You need to be actively connected with your phone via Bluetooth (go to Garmin Connect Mobile and synchronize your watch to force an active connection)
  • Condition 2: Your phone needs to be connected with the internet
  • Condition 3: You need to acquire a gps position by starting a run activity and waiting for a green gps fix. (you can return to the watch face once you have acquired the fix, you don’t need to start the run activity). Alternatively in the settings of the app you can also set the default longitude/latitude to your home location, enter the lat/long in the format as provided by this website: https://www.latlong.net/.
  • Condition 4: Garmin Connect Mobile needs to be running on your mobile phone (as a background process or actively as a foreground process). Make sure that you have no battery saver apps running that kill the Garmin Connect Mobile instance. (All Internet traffic is throttled through the Garmin Connect Mobile App) (This condition is very important! When the weather is not updating on your watch the usual cause is that Garmin Connect Mobile is not running any more)
Once the above 4 things are ok you’ll need to wait until the next Internet request to happen. When using the non-donation version this may take up to 4 hours!

(TIP: change the right chart option to Weather + Time Last Update to see when the last weather update was executed)


Q2: I have entered the lat/long but the watch shows the wrong city
A typical mistake is that you haven’t put a minus symbol where there has to be one. So don’t do a Google search but go to https://www.latlong.net/ and copy the latitude/longitude for your city as that site shows it.

Q3: How often is the weather being refreshed?
A simple question with a not so straightforward answer as it’s dependant on several factors:
  • the fastest weather refresh rate is normally 4 hours, after filling in a donation key the fastest refresh rate becomes 15 minutes.
  • the refresh happens at regular intervals and at the moment the refresh happens there needs to be an active bluetooth connection, an active internet connection and a stored gps location (see Q1)
  • the data of the weather comes from the OpenWeaterMap weather service, if the service address returns an invalid response (or times out) then the cached data stored in the watch face remains to be shown
  • the data of the weather comes from the OpenWeaterMap weather service, this service also caches data and is also dependant on eg weather stations to provide data to OpenWeaterMap So It could be that there is no new data and that the data just remains the same….

Q4: Can I verify whether the weather fetch was sucessful?
Yes, you can set the right chart option to Weather + Time of last update. When the weather fetch is succesful it will show the time of the latest fetch in the foreground color (white by default), when the weather fetch returned an error it will show in red (See Q1 on how to resolve. For additional debug info set up a debug session, see instructions at the bottom of this article.

Q5: The weather, the active heart rate chart and/or the option to show seconds is not available on my device
  • fetching the weather requires the ability to connect to the internet which is not possible on Connect IQ 1 devices
  • always on seconds and the active heart rate chart feature depend on the always on technology to provide updates to the screen while in low power mode (this is only supported in fenix 5 derivatives and vivoactive 3 derivatives)

Q6: The sunrise/sunset time is incorrect
The sunrise time is calculated once a day and is dependent on getting a good gps fix:
  • the gps location is only known for a very short period in watch faces (only shortly after doing a gps activity). To let the watchface acquire your location do the following: start a gps activity (eg run) and wait till you have acquired a good gps signal. stop the activity and go back to the watchface.

Q7: Can I force an update of the weather and or force an update of the sunrise/sunset times?
This doesn’t work on all watches, but it’ll work on most:
  • setup everything as explained in Q1 and/or Q5
  • uninstall the watch face (see Q8) (you will lose all your customizations by the uninstallation)
  • install the watch face

Q8: I try to install the watch face but the Connect IQ store tells me I need a firmware update while I’m already at the latest version!
Solution 1: Disconnect your watch from the usb cable, likely there’s an update on your watch ready to be installed. Install this update and retry.
Solution 2: Restore your watch to factory settings from within the System menu on your watch. (Be sure to upload your activities to Garmin Connect first as all user data will be wiped from the watch.)

Q9: I can not remove the watch face
To delete the Data Lover watch face you first have to make another face the active watch face.

Q10: Setting “x” is not applied properly
Sometimes when auto-updating a watch face the settings were updated to the new version but the program itself was not yet updated and was stuck on the previous version. To fix this remove the watch face (see Q9) and reinstall the watch face. (you will have to reapply your customization to the settings when removing and installing)

Q11: I have a Vivoactive 3 and the city shown is far away from my location
There is a firmware bug on the Vivoactive 3 which makes the gps drift. A workaround for this issue is to ignore the values the gps watch returns, you do this by setting the following configuration in the App Settings:
  • Allow Gps Override: Set to off
  • Latitude/Longitude: Fill the values for your location (Beware that you might need a minus sign for your latitude or longitude, to get the correct format for your location use the website https://www.latlong.net )

Q12: Where do I find the app settings?
You can use Garmin Express or Garmin Connect Mobile to adjust the application settings, a help topic which describes this in more detail can be found here

Q13: How do I change the temperature to Celsius?
On your watch go to Settings – System – Units – Temperature
On the next internet request the weather will use the new unit.

I have another question!
There are several channels for support:
  • You can post your question below this article
  • You can post your question in the forum support topic
  • You can use the contact developer link on the app description page


Download

The watchface can be downloaded from the Connect IQ Store

Donations

The watch face is fully functional without donating (there is a very occasional small message to encourage donations, refreshing the weather info occurs at a slightly higher rate after donation).

If you like the watch face you can show your appreciation by donating a small amount (suggested donation: 3 euro) on my PayPal account (Mention the name of the app: “Data Lover”). After donation you will receive a donation key on your PayPal email address which will remove the encouragement message from the watch face. (this email is a manual process, if you do not receive a donation key within 48 hours contact me via the contact developer link)

(SPECIAL PROMO: in case you like several of my apps and you want to remove donation encouragement messages from all of them, then donating one big amount might be beneficial to you. When you donate 19 euro or more you’ll get one key that’s valid for ALL my current AND future apps: https://www.paypal.me/PeterDeDecker/19eur )

Debugging setup (for advanced users)

The watch face contains a debug option, to set this up follow these steps:
1/ Uninstall the watch face (See Q9)
2/ Install the watch face and turn on the debug option in the settings
3/ Connect the watch with an usb cable to your computer and browse to the folder \GARMIN\APPS Remember the most recent name of the PRG file
4/ Browse to the folder \GARMIN\APPS\LOGS and create a txt file with the same name as the most recent prg file 5/ After running the watchface for a while the txt file should contain debug info about sun events and weather retrieval

Dit bericht Data Lover komt van: Start To Run.

]]>
https://starttorun.info/data-lover/feed/ 222
Connect IQ Fonts https://starttorun.info/connect-iq-fonts/ https://starttorun.info/connect-iq-fonts/#comments Thu, 29 Mar 2018 15:00:20 +0000 http://starttorun.info/?p=1389 Overview This page will show you a collection of fonts which can be used for your Garmin IQ projects. Feel free to share your own creations helping to make this a valuable font library for all coders. A font set should include a bitmap (png) and a font description file (fnt) for each type style ...read more

Dit bericht Connect IQ Fonts komt van: Start To Run.

]]>
Overview
This page will show you a collection of fonts which can be used for your Garmin IQ projects. Feel free to share your own creations helping to make this a valuable font library for all coders.
A font set should include a bitmap (png) and a font description file (fnt) for each type style (font size, font weight etc.), additionaly the original base of the created font (ttf, otf etc.) could also be added.

The following font sections are available:
  • Standard fonts fonts for normal text including at least the characters a-z, A-Z, 0-9
  • Special characters reduced character set for special purposes (e.g. numbers only)
  • Symbols individual character set for special purposes (e.g. activity symbols, icons)




Standard fonts


Tiny Font
Original Forerunner 935 Font. DOWNLOAD

XTiny Font
Original Forerunner 935 Font. DOWNLOAD

Cool Font
This font is slightly larger than the original tiny fonts of the Forerunner 935 without being wider, so it is more readable but does not need much more space. Compared to the standard fonts the CoolFont’s characters have a more rounder shape. DOWNLOAD




Special characters


No font available for now…



Symbols


No font available for now…



Publish your Connect IQ font


If you like to share your font to support other coders just send an email to ConnectIQFont@gmail.com.
Please send only fonts which have been done by you and keep in mind to respect copyrights when adding vector fonts into the zip archive.
Thank you!

Dit bericht Connect IQ Fonts komt van: Start To Run.

]]>
https://starttorun.info/connect-iq-fonts/feed/ 1
Guest post 0: tackling Connect IQ versions, screen shapes and memory limitations (the resource override version) https://starttorun.info/guestpost-0-tackling-connect-iq-versions-screen-shapes-and-memory-limitations-the-resource-override-version/ https://starttorun.info/guestpost-0-tackling-connect-iq-versions-screen-shapes-and-memory-limitations-the-resource-override-version/#comments Mon, 05 Feb 2018 22:17:56 +0000 http://starttorun.info/?p=1419 Last year I made a first version of the article that now appeared on the Garmin developer blog, jungles did not exist yet back then, so I was using resource overrides to solve the same problem. Nowadays I’d advise you to go for the jungle approach as it provides greater flexibility, yet this version of ...read more

Dit bericht Guest post 0: tackling Connect IQ versions, screen shapes and memory limitations (the resource override version) komt van: Start To Run.

]]>
Last year I made a first version of the article that now appeared on the Garmin developer blog, jungles did not exist yet back then, so I was using resource overrides to solve the same problem. Nowadays I’d advise you to go for the jungle approach as it provides greater flexibility, yet this version of this article might still be useful to as it shows how to use resource overrides in Monkey C code. When you read the guest post that was posted on the Garmin developer blog, you should notice many similarities, both versions of the code are available from my github account🙂

Garmin devices come in different shape and sizes, have different memory constraints, and have different levels of Connect IQ compatibility. To be able to maintain different Connect IQ devices you can use the has functionality to test whether a certain feature is present on the device, but applying this technique too much makes the code unmanageable. You could also set up a Connect IQ project per device and copy/paste your code across your projects, but this is very labor intensive to keep your code in sync and is prone to mistakes.

Using one code base to handle all Garmin devices compatible with Connect IQ is easier than you think. All you have to do is combine three core features of the Connect IQ framework: inheritance, resource overrides, and file excludes. Let’s see how these features help you to solve the issues that held us back.

Screen Geometry


One way to solve different size/shape issues is to use the layout system. This works perfect for watch faces as you have a lot of memory available there. In data fields, the memory budget is usually tight and as the layout system has a higher memory requirement, I got used to opting for using direct drawing on the dc object instead. I want to have the same benefits as the layout system though, as I might want a different layout on each device.

So how do we do this?

  • Define a base class CommonLogicView where we handle all logic that we have to do on each device.
  • Define a class called DeviceView for each device that we want to support. This DeviceView inherits from the CommonLogicViewand implements the layout specifics for each device by drawing to the dc
  • For each device create a build resource exclude where you exclude all other device class implementations. Let’s say that you’re trying to build for the original vivoactive and the Forerunner 735XT. These two products have different screen geometry and support different versions of Connect IQ. The picture below shows how the project will look like after this has been set up:

  • Folder structure

    The resources/fr735xt file excludes are defined in sources.xml. We simply specify which code files we do NOT want in the build for this device. We apply a similar tactic for each device we implement:

    
        
    

    The CommonLogicView is the base view. Here we handle all code that we can use in all the device implementations. It’s a pretty easy class, the main entry point into this class is the onUpdate function:

    class CommonLogicView extends Ui.WatchFace {
        ...
    
        // this is called whenever the screen needs to be updated
        function onUpdate(dc) {
            // Common update of the screen: Clear the screen with the backgroundcolor.
            clearScreen(dc);
            
            // We can also do common calculations here, in this case we'll just get the current time
            determineClockTime();
        }
        
        // clears the screen and stores the width & height in global variables
        function clearScreen(dc) {
            ...
        }
        
        function determineClockTime() {
            ...
        }
    }

    The DeviceView is where we implement the specifics of the device, so for the Forerunner 735XT we could have something like this:

    class DeviceView extends CommonLogicView {  // inherits from CommonLogic
        function initialize() {
            CommonLogicView.initialize();  // important to call the initialize of your base class, even when you have nothing to add…
        }
    
        function onUpdate(dc) {
            CommonLogicView.onUpdate(dc);
            
            dc.setColor(Gfx.COLOR_WHITE, Gfx.COLOR_TRANSPARENT);
            dc.drawText(width / 2, height / 2, Gfx.FONT_NUMBER_THAI_HOT, timeString, Gfx.TEXT_JUSTIFY_CENTER | Gfx.TEXT_JUSTIFY_VCENTER);
    
            dc.setColor(Gfx.COLOR_BLUE, Gfx.COLOR_TRANSPARENT);
            dc.drawText(width / 2, 140, Gfx.FONT_SMALL, "I'm Peter's favourite!", Gfx.TEXT_JUSTIFY_CENTER);
        }
    }

    For the vivoactive we have a similar file, but then implementing the specifics of the vivoactive:

    class DeviceView extends CommonLogicView {
        function initialize() {
            CommonLogicView.initialize();  // important to call the initialize of your base class, even when you have nothing to add…
        }
    
        function onUpdate(dc) {
            // call the parent function in order to execute the logic of the parent
            CommonLogicView.onUpdate(dc);
            
            dc.setColor(Gfx.COLOR_WHITE, Gfx.COLOR_TRANSPARENT);
            dc.drawText(width / 2, height / 2, Gfx.FONT_NUMBER_THAI_HOT, timeString, Gfx.TEXT_JUSTIFY_CENTER | Gfx.TEXT_JUSTIFY_VCENTER);
    
            dc.setColor(Gfx.COLOR_PINK, Gfx.COLOR_TRANSPARENT);
            dc.drawText(width / 2, 110, Gfx.FONT_MEDIUM, "I'm a cool watch!", Gfx.TEXT_JUSTIFY_CENTER);
        }
    }

    When we run the code this results in the following in the simulator:

    simulator view


    Full Source Code

    Memory Constraints

    The Forerunner 235 and Forerunner 735XT are both semi-round, but they have different memory limitations. For instance, in data field mode, the FR235 allows for 16K of memory, while the FR735XT has 26K of available memory to play with. That means we can pack 10K more goodies in the 735XT data field!
    To do this we apply the same technique of combining inheritance, resource overrides and file excludes, just adding one layer of extra inheritance does the trick:

    adding a memory layer


    In my Peter’s (Race) Pacer app I’m taking this technique to the extreme and have 4 layers of inheritance defined: CommonLogic, LayoutLowMemory, CommonHighMemoryLogic, and LayoutHighMemory.

    All layers inherit from each other so that I don’t have to write a single letter of duplicate code. This allows me to support all combinations of Connect IQ 1.x and 2.x devices from a single code base, while getting the max out of the available memory for each device!

    2 Layouts


    Connect IQ Version Compatibility

    We are treated with more and more features being added to the Connect IQ framework. Older devices can not be upgraded to Connect IQ 2 because they don’t have enough processing power and/or memory available. Luckily we can apply the same technique of combining inheritance and file excludes to be able to use new Connect IQ 2 features in our projects while simultaneously also retaining support for users that have Connect IQ 1 devices. Cool, eh?

    Let’s demonstrate this with a sample project. I’m going to extend the watch face with the ability to pull “to do” lists from a web-service via a background process, while at the same time we continue to support Connect IQ 1 devices. Of course the functionality on the Connect IQ devices will remain the same as before the changes as there is no alternative to background services in Connect IQ 1.x.

    We open our project from before and add the Connect IQ abstraction layer, this is the one I’ve defined for Connect IQ 1:

    class CiqView extends CommonLogicView {
        hidden var message; // I could add this variable to the CommonLogicView class, this is to show that you can define class instance variables at any level in the inheritance tree…
    
        function initialize() {
            CommonLogicView.initialize();
            message = "I'm a CIQ1 device!";
        }
    }
    A very similar class we add for the Connect IQ 2 devices, looks quite similar, only difference being that we’ll pick up the message from the application class:

    class CiqView extends CommonLogicView {
        hidden var message;  
    
        function initialize() {
            CommonLogicView.initialize();
        }
    
        function onUpdate(dc) {
            CommonLogicView.onUpdate(dc);
            message = App.getApp().backgroundMessage;
        }
    }
    In addition we change the DeviceView to show the message variable and in the resource file excludes exclude either the Ciq1View.mc or Ciq2View.mc.

    We’ve also duplicated the application layer level. The Connect IQ 1 version is pretty straightforward (you can have a peek at the source on github). The Connect IQ 2 version is slightly more complex as we’ll implement a background service to fetch from a webservice here (trimmed for readability):

    (:background)
    class PetersWatchfaceApp extends App.AppBase {
        var backgroundMessage = "What should I do?";
    
        function initialize() {
            AppBase.initialize();
        }
    
        function getInitialView() {
            // register for temporal events, we don't need to check whether this is supported, we know we have a Connect IQ 2 device here!
            Background.registerForTemporalEvent(new Time.Duration(5 * 60));                
            return [ new DeviceView() ];  
        }
        
        function onBackgroundData(data) {
            // store the data from the background event in a class level variable
            backgroundMessage = data;
            
            // we received a new todo item, invoke a request to update the screen
            Ui.requestUpdate();
        }
    
        function getServiceDelegate(){
            return [new BackgroundServiceDelegate()];
        }
    }

    The service delegate is the main entry point for the background service, inside we’ll fetch a random to do item from the web-service.

    (:background)
    class BackgroundServiceDelegate extends System.ServiceDelegate {
        function initialize() {
            System.ServiceDelegate.initialize();
        }
        
        // this is called every time the periodic event is triggered by the system.
        function onTemporalEvent() {
            Comm.makeWebRequest(
                "https://jsonplaceholder.typicode.com/todos/" + (Math.rand() % 100 + 1),  // get a random number between 1 and 100
                {},
                { "Content-Type" => Comm.REQUEST_CONTENT_TYPE_URL_ENCODED },
                method(:onReceive)
            );    
        }
        
        // receive the data from the web request
        function onReceive(responseCode, data) {
            if (responseCode == 200) {
                Background.exit(data["title"]); // get the title part of the todo list…
            } else {
                Background.exit("Error " + responseCode);
            }
        }    
    }

    Full source code

    Hope you’ll like this technique!
    Happy coding!

    Dit bericht Guest post 0: tackling Connect IQ versions, screen shapes and memory limitations (the resource override version) komt van: Start To Run.

    ]]> https://starttorun.info/guestpost-0-tackling-connect-iq-versions-screen-shapes-and-memory-limitations-the-resource-override-version/feed/ 4 Connect IQ Tools for developers https://starttorun.info/connect-iq-tools-for-developers/ https://starttorun.info/connect-iq-tools-for-developers/#respond Sun, 21 Jan 2018 08:24:47 +0000 http://starttorun.info/?p=1469 Several 3rd party developers have developed tools to make your Connect IQ development easier. This page provides an overview of these tools. Name Description Bird’s IQ (Puffolino) the program checks a source text to analyze how variables and constants are used. This could be helpful for tuning a program (to use more local and class ...read more

    Dit bericht Connect IQ Tools for developers komt van: Start To Run.

    ]]>

    .

    Name Description
    Bird’s IQ
    (Puffolino)
    the program checks a source text to analyze how variables and constants are used. This could be helpful for tuning a program (to use more local and class variables and less globals) or finding unused variables etc
    Download
    Foxrunner
    (Puffolino)
    this tool for the systray checks if you have connected your forerunner or fenix watch to the USB port – if so, it will automatically copy new activities to a specified directory

    Download
    Monkey Code Keeper
    (TomasSlavicek)
    This tool checks the sanity of your code (unused variables, functions, etc…)

    Download
    Screeny
    (Puffolino)
    when screenshots are done, you often see unwanted borders (watch bezel in the simulator or black background) – this is a tool which allows to create colorful or transparent backgrounds and also allows to make a colored circle around the watch display. The program has been optimized for 240×240 displays.

    Download


    Dit bericht Connect IQ Tools for developers komt van: Start To Run.

    ]]>
    https://starttorun.info/connect-iq-tools-for-developers/feed/ 0
    Fat Burner https://starttorun.info/fat-burner/ https://starttorun.info/fat-burner/#comments Sun, 07 Jan 2018 11:11:28 +0000 http://starttorun.info/?p=1462 Summary Simple datafield to accomodate a request by Susun. This field calculates the fat calories burned depending on heart rate zone & calories. The following defaults are configured: Z1: 9kcal burned = 1 gram of fat burned Z2: 80% fat Z3: 50% fat Z4: 20% fat Z5: 0% fat In the settings you can: opt ...read more

    Dit bericht Fat Burner komt van: Start To Run.

    ]]>
    Summary Simple datafield to accomodate a request by Susun.

    This field calculates the fat calories burned depending on heart rate zone & calories. The following defaults are configured:
    • Z1: 9kcal burned = 1 gram of fat burned
    • Z2: 80% fat
    • Z3: 50% fat
    • Z4: 20% fat
    • Z5: 0% fat


    In the settings you can:
    • opt to see Fat Burner (=default) / Carbs Burner / Fat Burner and Carbs Burner
    • finetune the percentages for each zone


    (Advice : do to consume too much carbs per hour, the absolute maximum is 70g/hour)


    Installation

    • Install the Data Field on your watch by clicking download in the Connect IQ store
    • Configure your watch to use the data field:
      • Choose the Activity Profile for which you wish to install this data field for (eg Running)
      • Choose Activity Settings
      • Choose Data Screens
      • Choose “Screen 1” (or another screen)
      • Choose field 1 (or any of the other fields)
      • Choose “Connect IQ”
      • Select “Fat Burner” from the list


    The sequence on how to do the above things is a little bit different on each watch (you can find the buttons to press in the user manual of your device in the section “Customizing the data screens)”


    Configuration

    You can configure how the app behaves in the application settings (via Garmin Express or Garmin Connect Mobile)


    Support / Questions / Feature Requests

    When you have questions preferably post this question in the forum support topic (you have to log in first with your garmin user name in the top right corner before you can make a reply to this post)

    Dit bericht Fat Burner komt van: Start To Run.

    ]]>
    https://starttorun.info/fat-burner/feed/ 2