aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster/fsm-events.h
diff options
context:
space:
mode:
authorSelene ToyKeeper2018-11-11 06:09:07 -0700
committerSelene ToyKeeper2018-11-11 06:09:07 -0700
commit6b41b5df92128c8810cbe14fd56258d90c3bb2b2 (patch)
tree5c2d5d80e54922e17edbcfd49317a84107b97bf5 /spaghetti-monster/fsm-events.h
parentRewrote the event system to use a single byte for each event instead of an ar... (diff)
downloadanduril-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.h6
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);