This topic came up a couple of times in the past, and there were multiple ways people do it. One of them is also what I did in some data fields, i.e:
hidden var mBatteryStatusBlink as Number = 0; onUpdate(dc) { mBatteryStatusBlink += 1; if (mBatteryStatusBlink % 2 == 0) { dc.drawBitmap(x, y, batteryStatusIconDrawable); } }
In the simulator it blinks once per second as I thought it will, and also on 2 of my 3 real devices I tested.
However to my surprise on real fenix6 at the beginning (before I start the activity and for the 1st 10 seconds of the activity) it blink something like 5-10 times a second. I think the reason is that next to my DF I have a built-in timer field, that counts the time in "hundreds" of seconds for the 1st 10 seconds (which interestingly the fr965 and edgeexplore2 don't do).
So I guess the better way is to save the timestamp and compare it...