Skip to content

Commit

Permalink
annotate SLEEPCFG-register detail
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Maestas committed Jan 22, 2024
1 parent af49d3c commit a2a60eb
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion watch-library/hardware/hal/src/hal_sleep.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,13 @@ 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.
// wait for the mode set to actually take, per note in Microchip data
// sheet DS60001465, section 19.8.2:
//
// A small latency happens between the store instruction and actual
// writing of the SLEEPCFG register due to bridges. Software has to make
// sure the SLEEPCFG register reads the wanted value before issuing WFI
// instruction.
while(_get_sleep_mode() != mode);

_go_to_sleep();
Expand Down

0 comments on commit a2a60eb

Please sign in to comment.