Process_Control.h 804 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef __PROCESS_CONTROL_H
  2. #define __PROCESS_CONTROL_H
  3. #include <stdint.h>
  4. #include "Timer_Module.h"
  5. struct PCTRL_Struct
  6. {
  7. uint16_t current_step;
  8. char current_step_msg[40];
  9. uint16_t next_step;
  10. char next_step_msg[40];
  11. struct TIMER_Struct timer;
  12. uint32_t wait_time;
  13. uint16_t step_wait;
  14. uint16_t (* goto_step_listener)(uint16_t ns);
  15. };
  16. // 直接跳转到下一步
  17. // 不带日志
  18. void PCTRL_GotoStepNoLog(struct PCTRL_Struct * pctrl, uint16_t ns);
  19. // 带日志
  20. void PCTRL_GotoStep(struct PCTRL_Struct * pctrl, uint16_t ns, char * msg);
  21. // 先等待再跳转到下一步
  22. void PCTRL_GotoStepWait(struct PCTRL_Struct * pctrl, uint16_t ns, uint32_t t, char * msg);
  23. // 只等待,等待之后返回原来的步骤
  24. void PCTRL_GotoWait(struct PCTRL_Struct * pctrl, uint32_t t);
  25. // 等待
  26. void PCTRL_Wait(struct PCTRL_Struct * pctrl);
  27. #endif