Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // _proc_device.h:
- //************************************************************************
- //************************ Главный автомат *******************************
- //************************************************************************
- //========================================================================
- STATE (PROC_DEVICE_INIT, proc_device_init)
- STATE (PROC_DEVICE_WEIGHT_MODE, proc_device_weight_mode)
- STATE (PROC_DEVICE_DOSER_IDLE_MODE, proc_device_doser_idle_mode)
- STATE (PROC_DEVICE_DOSER_MODE, proc_device_doser_mode)
- STATE (PROC_DEVICE_IDLE, proc_device_idle)
- STATE (PROC_DEVICE_EMERG_MODE, proc_device_emerg_mode)
- //========================================================================
- // proc_device.h:
- //========================================================================
- typedef enum _proc_device
- {
- #define STATE(name, func) name,
- #include "_proc_device.h"
- #undef STATE
- PROC_DEVICE_STATES,
- } proc_device_t;
- //------------------------------------------------------------------------
- void proc_device (void);
- //------------------------------------------------------------------------
- void proc_device_init (void);
- //------------------------------------------------------------------------
- void proc_device_weight_mode_init (void);
- void proc_device_weight_mode (void);
- //------------------------------------------------------------------------
- void proc_device_doser_idle_mode_init (void);
- void proc_device_doser_idle_mode (void);
- //------------------------------------------------------------------------
- void proc_device_doser_mode_init (void);
- void rst_proc_device_doser_mode (void);
- void proc_device_doser_mode (void);
- //------------------------------------------------------------------------
- void proc_device_idle_init (void);
- void proc_device_idle (void);
- //------------------------------------------------------------------------
- void set_proc_device_emerg_mode (u08 err_id);
- void proc_device_emerg_mode (void);
- //========================================================================
- //========================================================================
- // Шаблон
- void proc_fsm_func (FUNC __flash *ptr_func, u08 s)
- {
- ptr_func [s] ();
- }
- //========================================================================
- // proc_device.c:
- //========================================================================
- __flash FUNC proc_device_func [PROC_DEVICE_STATES] =
- {
- #define STATE(name, func) func,
- #include "_proc_device.h"
- #undef STATE
- };
- //------------------------------------------------------------------------
- static proc_device_t _proc_device;
- static u08 _proc_device_slave;
- //------------------------------------------------------------------------
- void proc_device (void)
- {
- // proc_meter (); // Важно!!! Инициализация!
- proc_fsm_func (proc_device_func, _proc_device);
- }
- //========================================================================
- void proc_device (void)
- {
- }
- //------------------------------------------------------------------------
- void proc_device_init (void)
- {
- }
- //------------------------------------------------------------------------
- void proc_device_weight_mode_init (void)
- {
- }
- void proc_device_weight_mode (void)
- {
- }
- //------------------------------------------------------------------------
- void proc_device_doser_idle_mode_init (void)
- {
- }
- void proc_device_doser_idle_mode (void)
- {
- }
- //------------------------------------------------------------------------
- void proc_device_doser_mode_init (void)
- {
- }
- void rst_proc_device_doser_mode (void)
- {
- }
- void proc_device_doser_mode (void)
- {
- }
- //------------------------------------------------------------------------
- void proc_device_idle_init (void)
- {
- }
- void proc_device_idle (void)
- {
- }
- //------------------------------------------------------------------------
- void set_proc_device_emerg_mode (u08 err_id)
- {
- }
- void proc_device_emerg_mode (void)
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement