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_WRITE_EL20XX(SLAVE, CHANNEL, VALUE) \ |
20 #define EC_WRITE_EL200X(SLAVE, CHANNEL, VALUE) \ |
21 do { \ |
21 do { \ |
22 if (VALUE) EC_PROC_DATA(SLAVE)[0] |= (1 << (CHANNEL)); \ |
22 if (VALUE) EC_PROC_DATA(SLAVE)[0] |= (1 << (CHANNEL)); \ |
23 else EC_PROC_DATA(SLAVE)[0] &= ~(1 << (CHANNEL)); \ |
23 else EC_PROC_DATA(SLAVE)[0] &= ~(1 << (CHANNEL)); \ |
24 } while (0) |
24 } while (0) |
25 |
25 |
26 /*****************************************************************************/ |
26 /*****************************************************************************/ |
27 |
27 |
28 #define EC_READ_EL31XX(SLAVE, CHANNEL) \ |
28 #define EC_READ_EL310X(SLAVE, CHANNEL) \ |
29 ((short int) ((EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] << 8) | \ |
29 ((signed short int) ((EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] << 8) | \ |
30 EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 1])) |
30 EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 1])) |
|
31 |
|
32 #define EC_READ_EL316X(SLAVE, CHANNEL) \ |
|
33 ((unsigned short int) ((EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] << 8) | \ |
|
34 EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 1])) |
31 |
35 |
32 /*****************************************************************************/ |
36 /*****************************************************************************/ |
33 |
37 |
34 #define EC_WRITE_EL41XX(SLAVE, CHANNEL, VALUE) \ |
38 #define EC_WRITE_EL410X(SLAVE, CHANNEL, VALUE) \ |
35 do { \ |
39 do { \ |
36 EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 1] = ((VALUE) & 0xFF00) >> 8; \ |
40 EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 1] = ((VALUE) & 0xFF00) >> 8; \ |
37 EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] = (VALUE) & 0xFF; \ |
41 EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] = (VALUE) & 0xFF; \ |
38 } while (0) |
42 } while (0) |
39 |
43 |