summaryrefslogtreecommitdiffstats
path: root/watch-library/hardware/hal/src
diff options
context:
space:
mode:
authorAlex Maestas <git@se30.xyz>2023-12-18 03:06:10 +0000
committerAlex Maestas <git@se30.xyz>2023-12-18 03:09:36 +0000
commitd96d6f9c919816a01a9139adf02a1063289cac27 (patch)
tree8833693fb9216e9f994ebb9fbd49ea92ab2451e2 /watch-library/hardware/hal/src
parentd10fa223b2fb85bbd79918ef6d19d16acb8e7af5 (diff)
downloadSensor-Watch-d96d6f9c919816a01a9139adf02a1063289cac27.tar.gz
Sensor-Watch-d96d6f9c919816a01a9139adf02a1063289cac27.tar.bz2
Sensor-Watch-d96d6f9c919816a01a9139adf02a1063289cac27.zip
make the HAL sleep function obey the chip documentation
the sleep mode doesn't get set immediately, and needs to be waited upon.
Diffstat (limited to 'watch-library/hardware/hal/src')
-rw-r--r--watch-library/hardware/hal/src/hal_sleep.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/watch-library/hardware/hal/src/hal_sleep.c b/watch-library/hardware/hal/src/hal_sleep.c
index 89472f15..fd9c84cb 100644
--- a/watch-library/hardware/hal/src/hal_sleep.c
+++ b/watch-library/hardware/hal/src/hal_sleep.c
@@ -57,6 +57,9 @@ int sleep(const uint8_t mode)
if (ERR_NONE != _set_sleep_mode(mode))
return ERR_INVALID_ARG;
+ // wait for the mode set to actually take, per chip doc.
+ while(_get_sleep_mode() != mode);
+
_go_to_sleep();
return ERR_NONE;