summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--movement/movement.c2
-rw-r--r--watch-library/shared/watch/watch_rtc.h3
-rw-r--r--watch-library/simulator/watch/watch_rtc.c2
3 files changed, 4 insertions, 3 deletions
diff --git a/movement/movement.c b/movement/movement.c
index 1c8e641c..aa95f2f1 100644
--- a/movement/movement.c
+++ b/movement/movement.c
@@ -155,7 +155,7 @@ void movement_request_tick_frequency(uint8_t freq) {
if (freq == 128) return; // Movement uses the 128 Hz tick internally
// disable all callbacks except the 128 Hz one
- watch_rtc_disable_matching_periodic_callbacks(0b01111111);
+ watch_rtc_disable_matching_periodic_callbacks(0xFE);
movement_state.subsecond = 0;
movement_state.tick_frequency = freq;
diff --git a/watch-library/shared/watch/watch_rtc.h b/watch-library/shared/watch/watch_rtc.h
index b51d6c48..183e6dd0 100644
--- a/watch-library/shared/watch/watch_rtc.h
+++ b/watch-library/shared/watch/watch_rtc.h
@@ -138,7 +138,8 @@ void watch_rtc_register_periodic_callback(ext_irq_cb_t callback, uint8_t frequen
void watch_rtc_disable_periodic_callback(uint8_t frequency);
/** @brief Disables tick callbacks for the given periods (as a bitmask).
- * @param mask The frequencies of tick callbacks you wish to disable, in Hz. To disable the 2 and 4 Hz callbacks, pass 0b00000110;
+ * @param mask The frequencies of tick callbacks you wish to disable, in Hz.
+ * The 128 Hz callback is 0b1, the 64 Hz callback is 0b10, the 32 Hz callback is 0b100, etc.
*/
void watch_rtc_disable_matching_periodic_callbacks(uint8_t mask);
diff --git a/watch-library/simulator/watch/watch_rtc.c b/watch-library/simulator/watch/watch_rtc.c
index 2cae701d..ea8659dc 100644
--- a/watch-library/simulator/watch/watch_rtc.c
+++ b/watch-library/simulator/watch/watch_rtc.c
@@ -115,7 +115,7 @@ void watch_rtc_disable_periodic_callback(uint8_t frequency) {
void watch_rtc_disable_matching_periodic_callbacks(uint8_t mask) {
for (int i = 0; i < 8; i++) {
- if (tick_callbacks[i] != -1 && (mask & (1 << i)) != 0) {
+ if (tick_callbacks[i] != -1 && (mask & (1 << (7 - i))) != 0) {
emscripten_clear_interval(tick_callbacks[i]);
tick_callbacks[i] = -1;
}