4 #ifdef CONF_DSENSOR_SWMUX 10 #define SWMUX_0000_S 0xF000 11 #define SWMUX_0000_E 0xFFFF 14 #define SWMUX_A000_S 0x9000 15 #define SWMUX_A000_E 0x9FFF 18 #define SWMUX_AB00_S 0x8000 19 #define SWMUX_AB00_E 0x8BFF 22 #define SWMUX_A0C0_S 0x8C00 23 #define SWMUX_A0C0_E 0x8FFF 26 #define SWMUX_ABC0_S 0x7000 27 #define SWMUX_ABC0_E 0x7FFF 30 #define SWMUX_0B00_S 0xBFF0 31 #define SWMUX_0B00_E 0xC5FF 34 #define SWMUX_0BC0_S 0xA000 35 #define SWMUX_0BC0_E 0xAFFF 38 #define SWMUX_00C0_S 0xD000 39 #define SWMUX_00C0_E 0xDFFF 43 #define SWMUX_XXXD_S 0x0000 44 #define SWMUX_XXXD_E 0x4FFF 48 unsigned char swmux_bits(
unsigned int raw) {
49 if(raw>=SWMUX_0000_S && raw <=SWMUX_0000_E) {
51 }
else if (raw>=SWMUX_A000_S && raw <=SWMUX_A000_E) {
53 }
else if (raw>=SWMUX_AB00_S && raw <=SWMUX_AB00_E) {
54 return SWMUX_A_MASK|SWMUX_B_MASK;
55 }
else if (raw>=SWMUX_A0C0_S && raw <=SWMUX_A0C0_E) {
56 return SWMUX_A_MASK|SWMUX_C_MASK;
57 }
else if (raw>=SWMUX_ABC0_S && raw <=SWMUX_ABC0_E) {
58 return SWMUX_A_MASK|SWMUX_B_MASK|SWMUX_C_MASK;
59 }
else if (raw>=SWMUX_0B00_S && raw <=SWMUX_0B00_E) {
61 }
else if (raw>=SWMUX_0BC0_S && raw <=SWMUX_0BC0_E) {
62 return SWMUX_B_MASK|SWMUX_C_MASK;
63 }
else if (raw>=SWMUX_00C0_S && raw <=SWMUX_00C0_E) {
65 }
else if (raw>=SWMUX_XXXD_S && raw <=SWMUX_XXXD_E) {
68 return SWMUX_ERROR_MASK;
72 #endif //CONF_DSENSOR_SWMUX Interface: direct control of a touch sensor multiplexor.