15 #define EC_READ_EL10XX(SLAVE, CHANNEL) \ |
15 #define EC_READ_EL10XX(SLAVE, CHANNEL) \ |
16 ((EC_PROC_DATA(SLAVE)[0] >> (CHANNEL)) & 0x01) |
16 ((EC_PROC_DATA(SLAVE)[0] >> (CHANNEL)) & 0x01) |
17 |
17 |
18 /*****************************************************************************/ |
18 /*****************************************************************************/ |
19 |
19 |
20 #define EC_READ_EL31XX(SLAVE, CHANNEL) \ |
|
21 ((short int) ((EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] << 8) | \ |
|
22 EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 1])) |
|
23 |
|
24 /*****************************************************************************/ |
|
25 |
|
26 #define EC_WRITE_EL20XX(SLAVE, CHANNEL, VALUE) \ |
20 #define EC_WRITE_EL20XX(SLAVE, CHANNEL, VALUE) \ |
27 do { \ |
21 do { \ |
28 if (VALUE) EC_PROC_DATA(SLAVE)[0] |= (1 << (CHANNEL)); \ |
22 if (VALUE) EC_PROC_DATA(SLAVE)[0] |= (1 << (CHANNEL)); \ |
29 else EC_PROC_DATA(SLAVE)[0] &= ~(1 << (CHANNEL)); \ |
23 else EC_PROC_DATA(SLAVE)[0] &= ~(1 << (CHANNEL)); \ |
30 } while (0) |
24 } while (0) |
|
25 |
|
26 /*****************************************************************************/ |
|
27 |
|
28 #define EC_READ_EL31XX(SLAVE, CHANNEL) \ |
|
29 ((short int) ((EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] << 8) | \ |
|
30 EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 1])) |
31 |
31 |
32 /*****************************************************************************/ |
32 /*****************************************************************************/ |
33 |
33 |
34 #define EC_WRITE_EL41XX(SLAVE, CHANNEL, VALUE) \ |
34 #define EC_WRITE_EL41XX(SLAVE, CHANNEL, VALUE) \ |
35 do { \ |
35 do { \ |
37 EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] = (VALUE) & 0xFF; \ |
37 EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] = (VALUE) & 0xFF; \ |
38 } while (0) |
38 } while (0) |
39 |
39 |
40 /*****************************************************************************/ |
40 /*****************************************************************************/ |
41 |
41 |
42 #define EC_READ_EL5001(SLAVE) \ |
42 #define EC_CONF_EL5001_BAUD (0x4067) |
|
43 |
|
44 #define EC_READ_EL5001_STATE(SLAVE) \ |
|
45 ((unsigned char) EC_PROC_DATA(SLAVE)[0]) |
|
46 |
|
47 #define EC_READ_EL5001_VALUE(SLAVE) \ |
43 ((unsigned int) (EC_PROC_DATA(SLAVE)[1] | \ |
48 ((unsigned int) (EC_PROC_DATA(SLAVE)[1] | \ |
44 (EC_PROC_DATA(SLAVE)[2] << 8) | \ |
49 (EC_PROC_DATA(SLAVE)[2] << 8) | \ |
45 (EC_PROC_DATA(SLAVE)[3] << 16) | \ |
50 (EC_PROC_DATA(SLAVE)[3] << 16) | \ |
46 (EC_PROC_DATA(SLAVE)[4] << 24))) |
51 (EC_PROC_DATA(SLAVE)[4] << 24))) |
47 |
52 |
48 #define EC_READ_EL5001_STATE(SLAVE) \ |
53 /*****************************************************************************/ |
|
54 |
|
55 #define EC_READ_EL5101_STATE(SLAVE) \ |
49 ((unsigned char) EC_PROC_DATA(SLAVE)[0]) |
56 ((unsigned char) EC_PROC_DATA(SLAVE)[0]) |
|
57 |
|
58 #define EC_READ_EL5101_VALUE(SLAVE) \ |
|
59 ((unsigned int) (EC_PROC_DATA(SLAVE)[1] | \ |
|
60 (EC_PROC_DATA(SLAVE)[2] << 8))) |
|
61 |
|
62 #define EC_READ_EL5101_LATCH(SLAVE) \ |
|
63 ((unsigned int) (EC_PROC_DATA(SLAVE)[3] | \ |
|
64 (EC_PROC_DATA(SLAVE)[4] << 8))) |
50 |
65 |
51 /*****************************************************************************/ |
66 /*****************************************************************************/ |
52 |
67 |
53 /* Emacs-Konfiguration |
68 /* Emacs-Konfiguration |
54 ;;; Local Variables: *** |
69 ;;; Local Variables: *** |