Toybox.WachtUi.animate() does not work correctly on a FR630

According to the API documentation. This function should create an animation. This works correctly on the simulator. However on my real device (Forerunner 630) the animation is never completed and stops too soon.

2 ways to reproduce
The easiest way: Compile and build the "drawable" sample project for FR630 and sideload to FR630, and Run. The moving cloud works correctly on Simulator (also when FR630 is emulated). On the real FR630 the cloud stops somewhere on the screen (not where it should stop)

The 'A bit harder' way:
- To make sure it was not another problem in this code, i created a new watch app (new project IQ project, type app in Eclipse. So you get the one with the monkey)
- changed the following code:

function onShow() {
myString = new WatchUi.Text({
:text=>"Hello World!",
:color=>Graphics.COLOR_WHITE,
:font=>Graphics.FONT_LARGE,
:locX =>WatchUi.LAYOUT_HALIGN_CENTER,
:locY=>WatchUi.LAYOUT_VALIGN_CENTER
});
WatchUi.animate(myString, :locY, WatchUi.ANIM_TYPE_LINEAR, 1, 120, 0.3, AnimateCallback());
}

function AnimateCallback() {
System.println("AnimateCallback called");
WatchUi.requestUpdate();
}

// Update the view
function onUpdate(dc) {
// Call the parent onUpdate function to redraw the layout
View.onUpdate(dc);
myString.draw(dc);
}


- compile and build for FR630. On the simulator the "hello world" stops exactly where it should (in the middle of the screen). You can also see that AnimateCallback is called (being logged to console). However on real FR630 the hello world animation stops before its in the middle of the screen (the bug)
- I did do another test: If i add a timer which refreshes the UI after about 1 second, you can see that when the timer goes off, "hello world" is shown at the correct place again. however if i change the timer to 300msec (the same duration as the animation), it looks like the display is not refreshed, so "hello world" is at the wrong place on the display.

I hope you can fix this. I would really like this functionality to work on my FR630. And since i'm building an app to be used on other devices as well i must be sure this functionality works on all other devices.
  • akamming I should've mentioned this before, but this was mentioned in a thread about a year and a half ago. I assume it was never fixed, especially because the devices are relatively old. Because Garmin is not transparent about outstanding bugs, we can't know for sure without testing it on a real device as you have.

    https://forums.garmin.com/forum/deve...ect-iq/158754-

  • FlowState tx. then indeed we reconfirmed the bug. I think Garmin should be wise enough to fix bugs like this. I do not think 1.5 yr after introduction or 3 yr after introduction you can consider devices like this too old to fix bugs. The FR630 was an expensive topmodel at the time: It was the flagship of the forerunners. It was also expensive compared to the competitors.
    So to keep it attractive for users to buy flagship models, they should make sure they support for several years

    Just a comparison:
    - My Samsung S7 was introduced 2 months after the FR630. but it's still in full support: 2 weeks ago i installed the android 8 firmware.
    - My wife bought an iphone 5 in 2012. It lost support in 2018

    I would really be dissappointed (especially knowing that the bug apparently is already there since 1.5 yrs) if they already consider the FR630 too old to fix bugs. This would also imply that they consider devices like the FR645M of the Fenix 5 to be too old to fix bugs somewhere next year.

  • akamming if you read the forums you will find many bugs that have not and will not ever be fixed, for CIQ1 and CIQ2 devices. I don't like it as a dev, but that's the way it is. :/

    There's a lot of disappointing things in CIQ once you scratch the surface. Having said that, it's improving greatly, but only for newer devices.
  • if you read the forums you will find many bugs that have not and will not ever be fixed, for CIQ1 and CIQ2 devices. I don't like it as a dev, but that's the way it is. :/

    There's a lot of disappointing things in CIQ once you scratch the surface. .


    oops.. that's not good. i wasn't aware of this. that's not a good support policy. currently i am not in need of new device, but this would make me seriously reconsider buying a new garmin device when i need a new sports watch...

    anyway.. let's see what happens with this bug report. Maybe this issue will be the positive exception ;-)
  • I've found this issue on FR230, 235, 920XT and 630. It appears when this bug first came up, it was only resolved for 735XT. I apologize for this oversight. I will send this off to each of the device teams.
  • I've found this issue on FR230, 235, 920XT and 630. It appears when this bug first came up, it was only resolved for 735XT. I apologize for this oversight. I will send this off to each of the device teams.


    Thanks!