io_app.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. #ifndef __IO_APP_H__
  2. #define __IO_APP_H__
  3. #include "st_sys.h"
  4. #define LOCAL_INPUT_BITS_NUMBER 20
  5. #define LOCAL_OUTPUT_BITS_NUMBER 19
  6. extern byte_bits_t io_inputs[];
  7. extern byte_bits_t io_inputs_old[];
  8. extern byte_bits_t io_outputs[];
  9. #define X00 io_inputs[0].bits.b0
  10. #define X01 io_inputs[0].bits.b1
  11. #define X02 io_inputs[0].bits.b2
  12. #define X03 io_inputs[0].bits.b3
  13. #define X04 io_inputs[0].bits.b4
  14. #define X05 io_inputs[0].bits.b5
  15. #define X06 io_inputs[0].bits.b6
  16. #define X07 io_inputs[0].bits.b7
  17. #define X10 io_inputs[1].bits.b0
  18. #define X11 io_inputs[1].bits.b1
  19. #define X12 io_inputs[1].bits.b2
  20. #define X13 io_inputs[1].bits.b3
  21. #define X14 io_inputs[1].bits.b4
  22. #define X15 io_inputs[1].bits.b5
  23. #define X16 io_inputs[1].bits.b6
  24. #define X17 io_inputs[1].bits.b7
  25. #define X20 io_inputs[2].bits.b0
  26. #define X21 io_inputs[2].bits.b1
  27. #define X22 io_inputs[2].bits.b2
  28. #define X23 io_inputs[2].bits.b3
  29. #define X24 io_inputs[2].bits.b4
  30. #define X25 io_inputs[2].bits.b5
  31. #define X26 io_inputs[2].bits.b6
  32. #define X27 io_inputs[2].bits.b7
  33. #define X30 io_inputs[3].bits.b0
  34. #define X31 io_inputs[3].bits.b1
  35. #define X32 io_inputs[3].bits.b2
  36. #define X33 io_inputs[3].bits.b3
  37. #define X34 io_inputs[3].bits.b4
  38. #define X35 io_inputs[3].bits.b5
  39. #define X36 io_inputs[3].bits.b6
  40. #define X37 io_inputs[3].bits.b7
  41. #define X40 io_inputs[4].bits.b0
  42. #define X41 io_inputs[4].bits.b1
  43. #define X42 io_inputs[4].bits.b2
  44. #define X43 io_inputs[4].bits.b3
  45. #define X44 io_inputs[4].bits.b4
  46. #define X45 io_inputs[4].bits.b5
  47. #define X46 io_inputs[4].bits.b6
  48. #define X47 io_inputs[4].bits.b7
  49. #define OLDX00 io_inputs_old[0].bits.b0
  50. #define OLDX01 io_inputs_old[0].bits.b1
  51. #define OLDX02 io_inputs_old[0].bits.b2
  52. #define OLDX03 io_inputs_old[0].bits.b3
  53. #define OLDX04 io_inputs_old[0].bits.b4
  54. #define OLDX05 io_inputs_old[0].bits.b5
  55. #define OLDX06 io_inputs_old[0].bits.b6
  56. #define OLDX07 io_inputs_old[0].bits.b7
  57. #define OLDX10 io_inputs_old[1].bits.b0
  58. #define OLDX11 io_inputs_old[1].bits.b1
  59. #define OLDX12 io_inputs_old[1].bits.b2
  60. #define OLDX13 io_inputs_old[1].bits.b3
  61. #define OLDX14 io_inputs_old[1].bits.b4
  62. #define OLDX15 io_inputs_old[1].bits.b5
  63. #define OLDX16 io_inputs_old[1].bits.b6
  64. #define OLDX17 io_inputs_old[1].bits.b7
  65. #define OLDX20 io_inputs_old[2].bits.b0
  66. #define OLDX21 io_inputs_old[2].bits.b1
  67. #define OLDX22 io_inputs_old[2].bits.b2
  68. #define OLDX23 io_inputs_old[2].bits.b3
  69. #define OLDX24 io_inputs_old[2].bits.b4
  70. #define OLDX25 io_inputs_old[2].bits.b5
  71. #define OLDX26 io_inputs_old[2].bits.b6
  72. #define OLDX27 io_inputs_old[2].bits.b7
  73. #define OLDX30 io_inputs_old[3].bits.b0
  74. #define OLDX31 io_inputs_old[3].bits.b1
  75. #define OLDX32 io_inputs_old[3].bits.b2
  76. #define OLDX33 io_inputs_old[3].bits.b3
  77. #define OLDX34 io_inputs_old[3].bits.b4
  78. #define OLDX35 io_inputs_old[3].bits.b5
  79. #define OLDX36 io_inputs_old[3].bits.b6
  80. #define OLDX37 io_inputs_old[3].bits.b7
  81. #define OLDX40 io_inputs_old[4].bits.b0
  82. #define OLDX41 io_inputs_old[4].bits.b1
  83. #define OLDX42 io_inputs_old[4].bits.b2
  84. #define OLDX43 io_inputs_old[4].bits.b3
  85. #define OLDX44 io_inputs_old[4].bits.b4
  86. #define OLDX45 io_inputs_old[4].bits.b5
  87. #define OLDX46 io_inputs_old[4].bits.b6
  88. #define OLDX47 io_inputs_old[4].bits.b7
  89. #define Y00 io_outputs[0].bits.b0
  90. #define Y01 io_outputs[0].bits.b1
  91. #define Y02 io_outputs[0].bits.b2
  92. #define Y03 io_outputs[0].bits.b3
  93. #define Y04 io_outputs[0].bits.b4
  94. #define Y05 io_outputs[0].bits.b5
  95. #define Y06 io_outputs[0].bits.b6
  96. #define Y07 io_outputs[0].bits.b7
  97. #define Y10 io_outputs[1].bits.b0
  98. #define Y11 io_outputs[1].bits.b1
  99. #define Y12 io_outputs[1].bits.b2
  100. #define Y13 io_outputs[1].bits.b3
  101. #define Y14 io_outputs[1].bits.b4
  102. #define Y15 io_outputs[1].bits.b5
  103. #define Y16 io_outputs[1].bits.b6
  104. #define Y17 io_outputs[1].bits.b7
  105. #define Y20 io_outputs[2].bits.b0
  106. #define Y21 io_outputs[2].bits.b1
  107. #define Y22 io_outputs[2].bits.b2
  108. #define Y23 io_outputs[2].bits.b3
  109. #define Y24 io_outputs[2].bits.b4
  110. #define Y25 io_outputs[2].bits.b5
  111. #define Y26 io_outputs[2].bits.b6
  112. #define Y27 io_outputs[2].bits.b7
  113. #define Y30 io_outputs[3].bits.b0
  114. #define Y31 io_outputs[3].bits.b1
  115. #define Y32 io_outputs[3].bits.b2
  116. #define Y33 io_outputs[3].bits.b3
  117. #define Y34 io_outputs[3].bits.b4
  118. #define Y35 io_outputs[3].bits.b5
  119. #define Y36 io_outputs[3].bits.b6
  120. #define Y37 io_outputs[3].bits.b7
  121. extern int io_inputs_buffer[20];
  122. void io_app_read_input(void);
  123. void io_app_write_ouput(void);
  124. void io_app_init(void);
  125. void io_app_run(void);
  126. extern void TestAction(void);
  127. extern void InitTestAction(void);
  128. #endif