aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster/fsm-events.h
diff options
context:
space:
mode:
authorSelene ToyKeeper2017-08-27 19:40:40 -0600
committerSelene ToyKeeper2017-08-27 19:40:40 -0600
commitdce497bf15799133bf336ab46c3e39d7b0d92839 (patch)
tree6a39b7912f046af72563c93344376e3830fe810a /spaghetti-monster/fsm-events.h
parentReduced ROM size, simplified logic, made sure discrete ramp won't overflow ou... (diff)
downloadanduril-dce497bf15799133bf336ab46c3e39d7b0d92839.tar.gz
anduril-dce497bf15799133bf336ab46c3e39d7b0d92839.tar.bz2
anduril-dce497bf15799133bf336ab46c3e39d7b0d92839.zip
Ramp config mode actually works now...
Added EV_reenter_state event to indicate an obscuring state was popped off the stack and the underlying one is now on top again.
Diffstat (limited to '')
-rw-r--r--spaghetti-monster/fsm-events.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/spaghetti-monster/fsm-events.h b/spaghetti-monster/fsm-events.h
index 114ccc4..e3edc77 100644
--- a/spaghetti-monster/fsm-events.h
+++ b/spaghetti-monster/fsm-events.h
@@ -51,17 +51,18 @@ static volatile uint16_t ticks_since_last_event = 0;
#define A_ENTER_STATE 1
#define A_LEAVE_STATE 2
-#define A_TICK 3
-#define A_PRESS 4
-#define A_HOLD 5
-#define A_RELEASE 6
-#define A_RELEASE_TIMEOUT 7
+#define A_REENTER_STATE 3
+#define A_TICK 4
+#define A_PRESS 5
+#define A_HOLD 6
+#define A_RELEASE 7
+#define A_RELEASE_TIMEOUT 8
// TODO: add events for over/under-heat conditions (with parameter for severity)
-#define A_OVERHEATING 8
-#define A_UNDERHEATING 9
+#define A_OVERHEATING 9
+#define A_UNDERHEATING 10
// TODO: add events for low voltage conditions
-#define A_VOLTAGE_LOW 10
-//#define A_VOLTAGE_CRITICAL 11
+#define A_VOLTAGE_LOW 11
+//#define A_VOLTAGE_CRITICAL 12
#define A_DEBUG 255 // test event for debugging
// Event types
@@ -74,6 +75,9 @@ Event EV_enter_state[] = {
Event EV_leave_state[] = {
A_LEAVE_STATE,
0 } ;
+Event EV_reenter_state[] = {
+ A_REENTER_STATE,
+ 0 } ;
Event EV_tick[] = {
A_TICK,
0 } ;