Complete
over 1 year ago

What's wrong with the Forerunner 165 series ?

Hello all,

there seems to be a problem with both the Forerunner 165 and 165 Music models. The SDK used is the latest version 7.1.1 in Visual Studio. The Forerunner 165 model has a screen resolution of 390x390 pixels, and shares the same sub-project as all other models with screen resolutions ranging from 360x360 to 454x454. When I run one of my applications in the simulator with the Fr165 model, the simulator crashes at the output of a menu for entering numerical values (numerical picker) and, randomly, at other places in the program (navigation through the application's various menus). But the annoying thing here is that this problem also occurs on the physical model, following feedback from a user owning this watch, displaying the IQ symbol on the screen. And when I test the same application with another model (either of the same or a different resolution) sharing the same sub-project, everything goes smoothly, with no crashes or application crashes.
I then tested with three other different applications, and the same problem occurs every time, under the same circumstances. I've also tried with SDK version 7.1.0, but the result is the same: it crashes all the time.

I then tested with three other different applications, and the same problem occurs every time, more or less under the same circumstances. I've also tried with SDK version 7.1.0, but the result is the same: it always crashes.

Finally, I carried out a final test with my Relax HR application, whose project is structured in the same way (all models from resolution 218x218 to 454x454 all share the same sub-project). When I launch a model other than the FR165 with the same screen resolution (EPIX Pro 42 mm), I get a screen with all the design (lines, text, etc), which is expected and normal, but when I launch the FR165, here's the result in the simulator: no label, no text displayed, but only the lines and objects! Even though it's the same source code and the same used resource files!

I could not add some pictures here to show and illustrate this strange result, due to file quota restrictions.

So there seems to be a specific problem with these two models only, which possibly don't handle certain instructions properly. Am I missing something here, or is this a problem that others have already encountered or may reproduce?

-- Edit, after other several tests, 3 hours after my first post:

I investigated further and discovered that the problem occurred after loading and displaying an image in PNG format, stored in the resource file. Every time an image is loaded and displayed on the screen, the application either crashes within seconds of being displayed, or behaves very strangely like the Relax HR application (no text displayed on screen, for example). When I deactivate the loading and display of images, everything seems to work correctly, with no subsequent crashes when using the application's functions / menus.

So yes, I'm going to disable image loading and display for these 2 models, for the application currently concerned for this user, but I'd like to avoid having to do this for all my applications, which all use loading and display of at least one image.

-- End edit

Therefore, please Garmin team, could you investigate this somewhat penalizing problem for users who own this model?

Thanks in advance.

  • Thanks a lot Brandon for your reply.

    When the application crashes in the simulator, no error code is returned in the debugging console, which remains hopelessly empty, so I can't show you anything about it. On the other hand, the ERA tool had recovered the 2 errors encountered by the user of my application, and was located at the image display level, of which here are the 2 lines of code concerned:

    1- 

    if (img_Welcome == null{
    img_Welcome = loadWelcomeImage($.vUserProfile.gender); }
    dc.drawBitmap(W2 - (img_Welcome.getWidth() / 2), H2 - (1.2 * img_Welcome.getHeight()), img_Welcome);

    2- 

    if (img_unlock_app == null{
    img_unlock_app = Ui.loadResource(Rez.Drawables.img_unlock_ok); }
    dc.drawBitmap(W2 - 25, H2 - y1, img_unlock_app);
    Temporarily, so as not to penalize users and allow them to use the application, I've disabled the loading and display of images for these 2 models, but this can only be temporary.
     
    As indicated in my previous post, the application, and these instructions for loading and displaying images, work very well with the other models which share exactly the same sub-project, i.e. identical source files and resources to those used by the Forerunner 165 / Music, which leads me to believe that the problem does not stem from the code or a bug generated by the application, but rather from an inherent problem with the Fr165 model. Because if there were a problem with the code, the error and application crash would occur for all models sharing the same sub-project, which is not the case here. That's why I've opened this topic, so that you can investigate further.
  • What you're describing is an app crash, which is typically due to a bug in the app's code (though not always). Do you have crash logs with call stacks you can provide and code snippets that could be used to reproduce the issue? We can't typically debug third-party apps, but if you can provide more specifics, we should be able to reproduce and determine whether there's a problem in FR165 firmware that's at the root of the issue.