~toykeeper/flashlight-firmware/fsm

« back to all changes in this revision

Viewing changes to ToyKeeper/spaghetti-monster/anduril/version-check-mode.c

  • Committer: Selene ToyKeeper
  • Date: 2023-05-30 12:59:57 UTC
  • mto: (483.1.175 anduril2)
  • mto: This revision was merged to the branch mainline in revision 491.
  • Revision ID: bzr@toykeeper.net-20230530125957-ocw55ho5z3049btr
changed version check from YYYYMMDDXXXX to XXXX.YYYY-MM-DD,
where the punctuation makes a "buzz" instead of number blinks

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
// this happens in FSM loop()
15
15
inline void version_check_iter() {
16
16
    for (uint8_t i=0; i<sizeof(version_number)-1; i++) {
17
 
        blink_digit(pgm_read_byte(version_number + i) - '0');
 
17
        uint8_t digit = pgm_read_byte(version_number + i) - '0';
 
18
        if (digit < 10) blink_digit(digit);
 
19
        else {  // "buzz" for non-numeric characters
 
20
            for(uint8_t frame=0; frame<25; frame++) {
 
21
                set_level((frame&1) << 5);
 
22
                nice_delay_ms(16);
 
23
            }
 
24
            nice_delay_ms(BLINK_SPEED * 8 / 12);
 
25
        }
18
26
        nice_delay_ms(300);
19
27
    }
20
 
    // FIXME: when user interrupts with button, "off" takes an extra click
21
 
    //  before it'll turn back on, because the click to cancel gets sent
22
 
    //  to the "off" state instead of version_check_state
23
 
    //while (button_is_pressed()) {}
24
 
    //empty_event_sequence();
25
28
 
26
29
    set_state_deferred(off_state, 0);
27
30
}