123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- #ifndef __IO_APP_H__
- #define __IO_APP_H__
- #include "st_sys.h"
- #define INPUT_BITS_NUMBER 24
- #define OUTPUT_BITS_NUMBER 16
- #define EXTEND_IO_INPUT_NUMBER 6
- #define EXTEND_IO_OUTPUT_NUMBER 7
- #if (INPUT_BITS_NUMBER < IO_PIN_INPUT_NUMBER)
- #undef INPUT_BITS_NUMBER
- #define INPUT_BITS_NUMBER IO_PIN_INPUT_NUMBER
- #endif
- #if (OUTPUT_BITS_NUMBER < IO_PIN_OUTPUT_NUMBER)
- #undef OUTPUT_BITS_NUMBER
- #define OUTPUT_BITS_NUMBER IO_PIN_OUTPUT_NUMBER
- #endif
- #define INPUT_NUMBER INPUT_BITS_NUMBER + EXTEND_IO_INPUT_NUMBER
- #define OUTPUT_NUMBER OUTPUT_BITS_NUMBER + EXTEND_IO_OUTPUT_NUMBER
- extern byte_bits_t io_inputs[];
- extern byte_bits_t io_inputs_old[];
- extern byte_bits_t io_outputs[];
- #define X00 io_inputs[0].bits.b0
- #define X01 io_inputs[0].bits.b1
- #define X02 io_inputs[0].bits.b2
- #define X03 io_inputs[0].bits.b3
- #define X04 io_inputs[0].bits.b4
- #define X05 io_inputs[0].bits.b5
- #define X06 io_inputs[0].bits.b6
- #define X07 io_inputs[0].bits.b7
- #define X10 io_inputs[1].bits.b0
- #define X11 io_inputs[1].bits.b1
- #define X12 io_inputs[1].bits.b2
- #define X13 io_inputs[1].bits.b3
- #define X14 io_inputs[1].bits.b4
- #define X15 io_inputs[1].bits.b5
- #define X16 io_inputs[1].bits.b6
- #define X17 io_inputs[1].bits.b7
- #define X20 io_inputs[2].bits.b0
- #define X21 io_inputs[2].bits.b1
- #define X22 io_inputs[2].bits.b2
- #define X23 io_inputs[2].bits.b3
- #define X24 io_inputs[2].bits.b4
- #define X25 io_inputs[2].bits.b5
- #define X26 io_inputs[2].bits.b6
- #define X27 io_inputs[2].bits.b7
- #define X30 io_inputs[3].bits.b0
- #define X31 io_inputs[3].bits.b1
- #define X32 io_inputs[3].bits.b2
- #define X33 io_inputs[3].bits.b3
- #define X34 io_inputs[3].bits.b4
- #define X35 io_inputs[3].bits.b5
- #define X36 io_inputs[3].bits.b6
- #define X37 io_inputs[3].bits.b7
- #define X40 io_inputs[4].bits.b0
- #define X41 io_inputs[4].bits.b1
- #define X42 io_inputs[4].bits.b2
- #define X43 io_inputs[4].bits.b3
- #define X44 io_inputs[4].bits.b4
- #define X45 io_inputs[4].bits.b5
- #define X46 io_inputs[4].bits.b6
- #define X47 io_inputs[4].bits.b7
- #define OLDX00 io_inputs_old[0].bits.b0
- #define OLDX01 io_inputs_old[0].bits.b1
- #define OLDX02 io_inputs_old[0].bits.b2
- #define OLDX03 io_inputs_old[0].bits.b3
- #define OLDX04 io_inputs_old[0].bits.b4
- #define OLDX05 io_inputs_old[0].bits.b5
- #define OLDX06 io_inputs_old[0].bits.b6
- #define OLDX07 io_inputs_old[0].bits.b7
-
- #define OLDX10 io_inputs_old[1].bits.b0
- #define OLDX11 io_inputs_old[1].bits.b1
- #define OLDX12 io_inputs_old[1].bits.b2
- #define OLDX13 io_inputs_old[1].bits.b3
- #define OLDX14 io_inputs_old[1].bits.b4
- #define OLDX15 io_inputs_old[1].bits.b5
- #define OLDX16 io_inputs_old[1].bits.b6
- #define OLDX17 io_inputs_old[1].bits.b7
-
- #define OLDX20 io_inputs_old[2].bits.b0
- #define OLDX21 io_inputs_old[2].bits.b1
- #define OLDX22 io_inputs_old[2].bits.b2
- #define OLDX23 io_inputs_old[2].bits.b3
- #define OLDX24 io_inputs_old[2].bits.b4
- #define OLDX25 io_inputs_old[2].bits.b5
- #define OLDX26 io_inputs_old[2].bits.b6
- #define OLDX27 io_inputs_old[2].bits.b7
-
- #define OLDX30 io_inputs_old[3].bits.b0
- #define OLDX31 io_inputs_old[3].bits.b1
- #define OLDX32 io_inputs_old[3].bits.b2
- #define OLDX33 io_inputs_old[3].bits.b3
- #define OLDX34 io_inputs_old[3].bits.b4
- #define OLDX35 io_inputs_old[3].bits.b5
- #define OLDX36 io_inputs_old[3].bits.b6
- #define OLDX37 io_inputs_old[3].bits.b7
- #define OLDX40 io_inputs_old[4].bits.b0
- #define OLDX41 io_inputs_old[4].bits.b1
- #define OLDX42 io_inputs_old[4].bits.b2
- #define OLDX43 io_inputs_old[4].bits.b3
- #define OLDX44 io_inputs_old[4].bits.b4
- #define OLDX45 io_inputs_old[4].bits.b5
- #define OLDX46 io_inputs_old[4].bits.b6
- #define OLDX47 io_inputs_old[4].bits.b7
- #define X00_UP (X00 && !OLDX00)
- #define X01_UP (X01 && !OLDX01)
- #define X02_UP (X02 && !OLDX02)
- #define X03_UP (X03 && !OLDX03)
- #define X04_UP (X04 && !OLDX04)
- #define X05_UP (X05 && !OLDX05)
- #define X06_UP (X06 && !OLDX06)
- #define X07_UP (X07 && !OLDX07)
- #define X10_UP (X10 && !OLDX10)
- #define X11_UP (X11 && !OLDX11)
- #define X12_UP (X12 && !OLDX12)
- #define X13_UP (X13 && !OLDX13)
- #define X14_UP (X14 && !OLDX14)
- #define X15_UP (X15 && !OLDX15)
- #define X16_UP (X16 && !OLDX16)
- #define X17_UP (X17 && !OLDX17)
- #define X20_UP (X20 && !OLDX20)
- #define X21_UP (X21 && !OLDX21)
- #define X00_DW (!X00 && OLDX00)
- #define X01_DW (!X01 && OLDX01)
- #define X02_DW (!X02 && OLDX02)
- #define X03_DW (!X03 && OLDX03)
- #define X04_DW (!X04 && OLDX04)
- #define X05_DW (!X05 && OLDX05)
- #define X06_DW (!X06 && OLDX06)
- #define X07_DW (!X07 && OLDX07)
- #define X10_DW (!X10 && OLDX10)
- #define X11_DW (!X11 && OLDX11)
- #define X12_DW (!X12 && OLDX12)
- #define X13_DW (!X13 && OLDX13)
- #define X14_DW (!X14 && OLDX14)
- #define X15_DW (!X15 && OLDX15)
- #define X16_DW (!X16 && OLDX16)
- #define X17_DW (!X17 && OLDX17)
- #define X20_DW (!X20 && OLDX20)
- #define X21_DW (!X21 && OLDX21)
- #define Y00 io_outputs[0].bits.b0
- #define Y01 io_outputs[0].bits.b1
- #define Y02 io_outputs[0].bits.b2
- #define Y03 io_outputs[0].bits.b3
- #define Y04 io_outputs[0].bits.b4
- #define Y05 io_outputs[0].bits.b5
- #define Y06 io_outputs[0].bits.b6
- #define Y07 io_outputs[0].bits.b7
- #define Y10 io_outputs[1].bits.b0
- #define Y11 io_outputs[1].bits.b1
- #define Y12 io_outputs[1].bits.b2
- #define Y13 io_outputs[1].bits.b3
- #define Y14 io_outputs[1].bits.b4
- #define Y15 io_outputs[1].bits.b5
- #define Y16 io_outputs[1].bits.b6
- #define Y17 io_outputs[1].bits.b7
- #define Y20 io_outputs[2].bits.b0
- #define Y21 io_outputs[2].bits.b1
- #define Y22 io_outputs[2].bits.b2
- #define Y23 io_outputs[2].bits.b3
- #define Y24 io_outputs[2].bits.b4
- #define Y25 io_outputs[2].bits.b5
- #define Y26 io_outputs[2].bits.b6
- #define Y27 io_outputs[2].bits.b7
- #define Y30 io_outputs[3].bits.b0
- #define Y31 io_outputs[3].bits.b1
- #define Y32 io_outputs[3].bits.b2
- #define Y33 io_outputs[3].bits.b3
- #define Y34 io_outputs[3].bits.b4
- #define Y35 io_outputs[3].bits.b5
- #define Y36 io_outputs[3].bits.b6
- #define Y37 io_outputs[3].bits.b7
- extern int io_inputs_buffer[17];
- void io_app_read_input(void);
- void io_app_write_ouput(void);
- void io_app_init(void);
- void io_app_run(void);
- extern void TestAction(void);
- extern void InitTestAction(void);
- #endif
|