aboutsummaryrefslogtreecommitdiffstats
path: root/tests/output.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/output.c')
-rw-r--r--tests/output.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/output.c b/tests/output.c
new file mode 100644
index 0000000..713c329
--- /dev/null
+++ b/tests/output.c
@@ -0,0 +1,49 @@
+enum
+{
+ EVENT_ONE_SECOND,
+}MACHINE_FLICKER_EVENT;
+
+enum
+{
+ MACHINE_FLICKER,
+}MACHINES;
+
+extern void machine_flicker_light_off(enum MACHINE_FLICKER_EVENT event);
+extern void machine_flicker_light_on(enum MACHINE_FLICKER_EVENT event);
+
+extern machine_buffer_t* turn_on_light(machine_buffer_t *arguments,machine_buffer_t *input);
+extern machine_buffer_t* turn_off_light(machine_buffer_t *arguments,machine_buffer_t *input);
+
+void machine_flicker_push_event(enum MACHINE_FLICKER_EVENT event);
+
+
+
+void (*machine_states[])()={machine_flicker_light_on};
+
+
+
+void machine_flicker_push_event(enum MACHINE_FLICKER_EVENT event)
+{
+ machine_states[MACHINE_FLICKER](event);
+}
+
+void machine_flicker_light_off(enum MACHINE_FLICKER_EVENT event)
+{
+ switch(event)
+ {
+ case EVENT_ONE_SECOND:
+ turn_on_light(get_machine_buffer(""));
+ machine_states[MACHINE_FLICKER]=machine_flicker_light_on;
+ break;
+ }
+}
+void machine_flicker_light_on(enum MACHINE_FLICKER_EVENT event)
+{
+ switch(event)
+ {
+ case EVENT_ONE_SECOND:
+ turn_off_light(get_machine_buffer(""));
+ machine_states[MACHINE_FLICKER]=machine_flicker_light_off;
+ break;
+ }
+}