Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #257!
This PR adds Protocol6::Time, the Time class used for the Motorola Beepwear Pro!
This one was a bit tricky: this watch's protocol cares a lot about time zones. In the other protocols, there are "time zone names," which typically presents itself as PDT, UTC, etc., but it can be any three-character label you'd like. Other than that, the time zone is not considered when actually setting the time on the watch.
In protocol 6 for the Beepwear Pro, when you set the time, you also set the time zone. When the time zone is in daylight savings, the non-DST zone is still used, and the hour is literally advanced by one in time data. There is also the ability to enable FLEXtime, which will set your time for you from the FLEX network, and it can also set the time zone and adjust for daylight savings automatically, if you wish.
When FLEXtime is enabled, the year, month, day, day of week, hour, minute, and second values are all set to zero. With the automatic DST adjustment on, the date format value increases by 8. My guess is that Timex and Motorola repurposed the unused bit in this value for this feature.
Protocol 6 also uses a unique character set, so this was added in this PR to make Time behave correctly. I added all the characters that were able to be selected when setting the time zone name manually.