SHARE
TWEET

Untitled

a guest Jun 16th, 2018 214 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // _proc_device.h:
  2. //************************************************************************
  3. //************************ Главный автомат *******************************
  4. //************************************************************************
  5.  
  6. //========================================================================
  7. STATE (PROC_DEVICE_INIT,             proc_device_init)
  8. STATE (PROC_DEVICE_WEIGHT_MODE,      proc_device_weight_mode)
  9. STATE (PROC_DEVICE_DOSER_IDLE_MODE,  proc_device_doser_idle_mode)
  10. STATE (PROC_DEVICE_DOSER_MODE,       proc_device_doser_mode)
  11. STATE (PROC_DEVICE_IDLE,             proc_device_idle)
  12. STATE (PROC_DEVICE_EMERG_MODE,       proc_device_emerg_mode)
  13. //========================================================================
  14.  
  15. // proc_device.h:
  16. //========================================================================
  17. typedef enum _proc_device
  18. {
  19. #define STATE(name, func) name,
  20. #include "_proc_device.h"
  21. #undef STATE
  22.  
  23. PROC_DEVICE_STATES,
  24. } proc_device_t;
  25. //------------------------------------------------------------------------
  26. void proc_device (void);
  27. //------------------------------------------------------------------------
  28. void proc_device_init (void);
  29. //------------------------------------------------------------------------
  30. void proc_device_weight_mode_init (void);
  31. void proc_device_weight_mode (void);
  32. //------------------------------------------------------------------------
  33. void proc_device_doser_idle_mode_init (void);
  34. void proc_device_doser_idle_mode (void);
  35. //------------------------------------------------------------------------
  36. void proc_device_doser_mode_init (void);
  37. void rst_proc_device_doser_mode (void);
  38. void proc_device_doser_mode (void);
  39. //------------------------------------------------------------------------
  40. void proc_device_idle_init (void);
  41. void proc_device_idle (void);
  42. //------------------------------------------------------------------------
  43. void set_proc_device_emerg_mode (u08 err_id);
  44. void proc_device_emerg_mode (void);
  45. //========================================================================
  46.  
  47.  
  48.  
  49. //========================================================================
  50. // Шаблон
  51. void proc_fsm_func (FUNC __flash *ptr_func, u08 s)
  52. {
  53.    ptr_func [s] ();
  54. }
  55. //========================================================================
  56.  
  57.  
  58.  
  59. // proc_device.c:
  60. //========================================================================
  61. __flash FUNC proc_device_func [PROC_DEVICE_STATES] =
  62. {
  63. #define STATE(name, func) func,
  64. #include "_proc_device.h"
  65. #undef STATE
  66. };
  67. //------------------------------------------------------------------------
  68. static proc_device_t _proc_device;
  69. static u08 _proc_device_slave;
  70. //------------------------------------------------------------------------
  71. void proc_device (void)
  72. {
  73. //   proc_meter (); // Важно!!! Инициализация!
  74.  
  75.    proc_fsm_func (proc_device_func, _proc_device);
  76. }
  77. //========================================================================
  78.  
  79. void proc_device (void)
  80. {
  81.  
  82. }
  83. //------------------------------------------------------------------------
  84. void proc_device_init (void)
  85. {
  86.  
  87. }
  88. //------------------------------------------------------------------------
  89. void proc_device_weight_mode_init (void)
  90. {
  91.  
  92. }
  93.  
  94. void proc_device_weight_mode (void)
  95. {
  96.  
  97. }
  98. //------------------------------------------------------------------------
  99. void proc_device_doser_idle_mode_init (void)
  100. {
  101.  
  102. }
  103.  
  104. void proc_device_doser_idle_mode (void)
  105. {
  106.  
  107. }
  108. //------------------------------------------------------------------------
  109. void proc_device_doser_mode_init (void)
  110. {
  111.  
  112. }
  113.  
  114. void rst_proc_device_doser_mode (void)
  115. {
  116.  
  117. }
  118.  
  119. void proc_device_doser_mode (void)
  120. {
  121.  
  122. }
  123. //------------------------------------------------------------------------
  124. void proc_device_idle_init (void)
  125. {
  126.  
  127. }
  128.  
  129. void proc_device_idle (void)
  130. {
  131.  
  132. }
  133. //------------------------------------------------------------------------
  134. void set_proc_device_emerg_mode (u08 err_id)
  135. {
  136.  
  137. }
  138.  
  139. void proc_device_emerg_mode (void)
  140. {
  141.  
  142. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top