25 lines
645 B
C
25 lines
645 B
C
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include "ui_cmd.h"
|
|
|
|
typedef enum {
|
|
ST_IDLE = 0,
|
|
ST_STEP_SELECT,
|
|
ST_ARMED,
|
|
ST_RUNNING,
|
|
ST_STOPPED,
|
|
ST_COMPLETE
|
|
} machine_state_t;
|
|
|
|
void app_machine_init(void);
|
|
machine_state_t app_machine_state(void);
|
|
void app_machine_handle_cmd(const ui_cmd_t *cmd);
|
|
void app_machine_tick(uint32_t now_ms); /* drive timers; tests call this */
|
|
void app_machine_on_temp(float c, bool ok);
|
|
int app_machine_last_event(ui_evt_t *out); /* pop 1 event; 0 empty, 1 ok */
|
|
uint8_t app_machine_process_id(void);
|
|
uint8_t app_machine_step_index(void);
|
|
uint32_t app_machine_remaining_ms(void);
|