How do I use the simulator to change layouts on datafields?

Possibly a dumb question, but search yielded no results ("toggle app settings" is greyed out, and this is a datafield). I've set up a datafield - both a basic one (from scratch for troubleshooting) and one that's available in github (this is the manual). I can see the data outputs, but the datafields are changeable, and the only button that seems to create any sort of response is the top right button (which for this, is an activity datafield, so I get to see the timer only). Highly recommended btw!

Is it not possible to customize the datafield on the simulator? I can't do so on the watch, because once I build the PRG and install it, it seems to just be flashing which indicates I still have some tweaking to do, so I'm trying to isolate the problem on the simulator before going that route again. Plus, it seems I can't interact with my watch while it's charging and plugged into a computer? (Is that new? I usually never really charge on a computer and I know I can interact with the watch during those other times...)

Trying to make a nicer version for the 8, as latest publicly availalbe code supports a 416x416 watchface. The main screen is finally looking good on my 454x454, I just know something's broken somewhere when making changes to the data field and switching things up. I would love to not keep going back and forth with configuring it and sticking it on my device - there's gotta be a way to do this on the sim, right? I restored an older version not including my changes and loaded a 280x280 - the display was fine, but again, I couldn't figure out how to tweak the datafield.

Thanks!

Top Replies

All Replies

  • "toggle app settings" is greyed out

    That's for on-device settings (when your data field or watch face provides a special view to customize settings). On an older watch like FR955, this is accessible during an activity by opening the activity and selecting Connect IQ Fields.

    It's not for editing the kind of app settings that appear in the Connect IQ app on your phone (which is what I gather your post is about). For that, select File > Edit Persistent Storage > Edit Application Properties Data or press CTRL-P. No, it's not intuitive.

    Plus, it seems I can't interact with my watch while it's charging and plugged into a computer? (Is that new? I usually never really charge on a computer and I know I can interact with the watch during those other times...)

    If you plug your watch into a computer, it goes into USB mass storage mode (for non-music devices) or MTP mode (for music devices), which means you can't interact with the watch normally, as you said. You can avoid this by changing a setting:

    (Fenix 8)

    Hold UP from watchface > Watch Settings > System > Advanced > USB mode: Garmin

    (Older watches)

    Hold UP from watchface > System > USB mode: Garmin

    It's not 100% clear what the original purpose of "Garmin mode" was (maybe to connect to older Garmin software), but the practical effect is that when it's turned on, if you connect your device to a computer, you'll be prompted to enter MTP mode (or USB mass storage mode for non-music devices). If you decline, then the watch will just act like plugged it into a dumb charger, and you'll be able to continue to interact with it (but obviously you won't be able to access the file system.)

  • Also, if you want to use the Connect IQ phone app to edit app settings, you have to upload the app to the store. If you're only testing or using an app just for yourself, you can mark it as a beta when you first upload it, which means that it will be approved instantly and nobody else will be able to see it.

  • Your answers are incredibly helpful, thanks. I would never have figured this out (and AI just isn't there quite yet as  said last week) so I was on the verge of giving up. But I learn to come through coding and asking questions. (It's also been 20+ years since I've done anything remotely close to this.)

    Is this beta limitation for datafields only? I installed a PRG of a watchface (using the IDE > build for device) and am able to customize settings without issue. But I know this datafield is probably still full of bugs, and I am getting nearly 1k warnings on container/arrays. 

  • Is this beta limitation for datafields only?

    The limitation is that an app needs to be uploaded to the store in order to get the kind of app settings that are defined in resource files and display in the Connect IQ phone app.

    installed a PRG of a watchface (using the IDE > build for device) and am able to customize settings without issue

    How do you customize settings in the watchface? If it's on the watch itself, you don't need to install the app from the store.

  • For the watchface, I loaded a PRG watchface and was able to use the top right button to access a Customize menu where I was able to change units, colors, and a few other custom settings. 

    Good point, it didn't occur to me that this might be customizable through Connect IQ and not the watch itself. It's been awhile since I've used it... Guess I'm gonna upload a few betas. 

    Btw, do I have to go into the Garmin folder in my device to uninstall these manual PRGs? I imagine the answer is yes because long pressing does nothing. 

    Thanks Pray 

  • For the watchface, I loaded a PRG watchface and was able to use the top right button to access a Customize menu where I was able to change units, colors, and a few other custom settings. 

    That's on-device settings.

    - in the sim, this corresponds to Settings > Trigger App Settings, so if that menu entry is greyed out, the app doesn't have on-device settings

    - on a real device, the way to open on-device settings (if present) in a data field is to open the activity menu and navigate to Connect IQ Fields. You will be presented with a list of data fields which have on-device settings. If there are no CIQ data fields added to the activity which have on-device settings, the Connect IQ Fields menu won't be present

    Btw, do I have to go into the Garmin folder in my device to uninstall these manual PRGs? I imagine the answer is yes because long pressing does nothing. 

    You can't because on the newest Garmin devices (and recent devices with newer firmware) all CIQ apps are hidden (as in unavailable by any means) from the user-accessible file system.

    This practice started with the first music-capable devices (and back then, it was only music provider PRGs which were "hidden"). Eventually more app types were "hidden" and now all app types are "hidden".

    To remove a sideloaded app:

    - you can use the Connect IQ app on your phone

    - you can use the Connect IQ app on your watch

    - you can use Garmin Express on a PC or Mac (note that Garmin Express can mess up your device settings, like resetting your glance order without asking you)

    - for device apps, you can highlight the app in the app list, use the context menu (hold UP), and select Delete from Device

  • Thank you, got it - that beta setup is super easy, thanks. Really grateful for all these helpful answers. 

    Re: my watchface question: I noticed (or TIL) that the F8 AMOLED supports a smaller low-light watchface display, possibly to conserve power since it's AMOLED. How do I access that view in the simulator and when wearing the watch? I stumbled upon it today (after using this watchface for a week) entirely by chance, and only when I flicked my wrist a certain way. Only have seen it twice since. Seems hard to replicate. 

    Re: the datafield: Ctrl+P (application properties) - if I make changes through this menu on the simulator, it *should* reflect on the datafield once I hit save, correct? Or rather, once I debug. I notice it, but sometimes the behavior is unpredictable and doesn't mimic actual watch behavior. Obviously I can't do much debugging external to a lot of watchface drawings and that's not ideal. Are there any shortcuts that I should be considering to make finding these nuanced bugs easier? 

  • Changing and saving properties in the sim (or in Garmin Connect and real device) does exactly that: it saves it. You'll get notified in AppBase.onSettingsChanged(). So it's up to you what you do when this callback is called. You can ignore it (by not even implementing it) or you can change the behavior of your app according to the new settings

  • Gotcha. I'm trying to understand why and how to address discrepancies between the watch itself and the simulator, since the simulator always looks better at first.

    Still, where do I find this smaller watchface view and how do I get it viewable on the simulator?

  • One more for you: what would usually be the reason an app would look great on the simulator for my device but then get the beautiful IQ! symbol indicating some kind of error, and are there logs or anything to ascertain why that would happen?