Guest User

Untitled

a guest
Jun 16th, 2018
279
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

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×