diff options
| author | Selene ToyKeeper | 2018-11-11 06:09:07 -0700 |
|---|---|---|
| committer | Selene ToyKeeper | 2018-11-11 06:09:07 -0700 |
| commit | 6b41b5df92128c8810cbe14fd56258d90c3bb2b2 (patch) | |
| tree | 5c2d5d80e54922e17edbcfd49317a84107b97bf5 /spaghetti-monster/fsm-events.h | |
| parent | Rewrote the event system to use a single byte for each event instead of an ar... (diff) | |
| download | anduril-6b41b5df92128c8810cbe14fd56258d90c3bb2b2.tar.gz anduril-6b41b5df92128c8810cbe14fd56258d90c3bb2b2.tar.bz2 anduril-6b41b5df92128c8810cbe14fd56258d90c3bb2b2.zip | |
Several fixes...
- Made momentary+lockout modes smaller and work better.
- Fixed buggy timing on hold events; made ticks_since_last_event reset when it should.
- Reduced ROM size by caching volatile ticks_since_last_event sometimes.
- Swapped what the top Event bit means, because it makes event handlers easier to write.
- Made the maximum click event keep triggering if user keeps pressing, instead of
dropping everything after the limit.
Diffstat (limited to '')
| -rw-r--r-- | spaghetti-monster/fsm-events.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/spaghetti-monster/fsm-events.h b/spaghetti-monster/fsm-events.h index d838800..45c95ee 100644 --- a/spaghetti-monster/fsm-events.h +++ b/spaghetti-monster/fsm-events.h @@ -63,8 +63,8 @@ static volatile uint16_t ticks_since_last_event = 0; */ // event masks / bits -#define B_SYSTEM 0b10000000 -#define B_CLICK 0b00000000 +#define B_SYSTEM 0b00000000 +#define B_CLICK 0b10000000 #define B_TIMEOUT 0b01000000 #define B_HOLD 0b00100000 #define B_PRESS 0b00010000 @@ -219,7 +219,7 @@ void process_emissions(); //#define emit_now emit uint8_t emit_now(Event event, uint16_t arg); void emit(Event event, uint16_t arg); -#define emit_current_event(arg) emit(current_event, arg) +void emit_current_event(uint16_t arg); uint8_t nice_delay_ms(uint16_t ms); //uint8_t nice_delay_4ms(uint8_t ms); |
