benjymous / MWM-for-Android

Meta Watch Manager Android SDK project for watch wrangling, remote protocol handling and notification routing for the Meta Watch wearable development systems. Includes an Intents based API for quick experiments.
www.metawatch.org
Apache License 2.0
59 stars 30 forks source link

RTC not being automatically set #61

Open benjymous opened 11 years ago

benjymous commented 11 years ago

Presumably something that changed in #60 means the clock isn't being auto set after connect any more

benjymous commented 11 years ago

Actually it is - or at least it's sometimes being set - will continue investigating!

Anunakin commented 11 years ago

Here using FW 3.1.0, and MWM 1.20.0 , CM7.2 Android 2.3.7, ... RTC sync works.

benjymous commented 11 years ago

Thanks - I've noticed a few times it either hasn't synced at all (so after resetting my watch and reconnecting, I notice the time is a few minutes past midnight), or that the time on the watch and my phone have drifted apart (I nearly missed the bus one morning as my watch was 4 minutes slow!)

But it's not very reproducible, so I'm not sure what's happening!

sdemills commented 11 years ago

I find my MW is losing 4 minutes per day. Normally I switch off the MW BT radio at bedtime to conserve battery overnight, then switch it on again in the morning, and I notice that it is 4 mins slow. Reconnecting does not correct the time. If I stop the service and start it again then the time is corrected.

How about a setting that says how often to correct the time? And is it possible to correct the time when the MW connects even though the service is not restarting?

benjymous commented 11 years ago

I have a feeling it's caused by the phone not being awake when the watch reconnects, so the time lag compensation gets it wrong. I'll try adding a wakelock when setting the time to see if that makes any difference.

sdemills commented 11 years ago

Posted this under DST Issue, but it really belongs here...

I notice after the last update that even on service recycle the time now no longer corrects. I have gotten around this at this point by using Tasker to fire, on a schedule, an Intent: android.intent.action.TIME_SET and that has fixed the problem for me.

Ideally, MWM should have an Option to correct the time on a user-defined schedule. For example: I'm using hourly between 7:00-23:00.

RussNelson commented 11 years ago

Typically a watch is run by a small low-frequency crystal. Its accuracy is affected by its manufacture and by temperature, and that's about it. If you're wearing it on your wrist that will keep it at a consistent temperature. So, over time, you can expect your watch to drift by a constant amount every day. This can (should) be adjusted-for by the watch firmware by noticing how much it gets corrected by, and when it was last corrected. That delta only needs to be set once and should remain constant for the life of the timepiece.

benjymous commented 11 years ago

Should be fixed by 905e0d3157

At least time gets properly set on connect now.