52 ESOS_SENSOR_CH00 = 0x00,
74 ESOS_SENSOR_VREF_1V0 = 0x00,
75 ESOS_SENSOR_VREF_1V024,
77 ESOS_SENSOR_VREF_2V048,
81 ESOS_SENSOR_VREF_4V096,
89 ESOS_SENSOR_ONE_SHOT = 0x00,
90 ESOS_SENSOR_AVG2 = 0x01,
91 ESOS_SENSOR_AVG4 = 0x02,
92 ESOS_SENSOR_AVG8 = 0x03,
93 ESOS_SENSOR_AVG16 = 0x04,
94 ESOS_SENSOR_AVG32 = 0x05,
95 ESOS_SENSOR_AVG64 = 0x06,
96 ESOS_SENSOR_MIN2 = 0x21,
97 ESOS_SENSOR_MIN4 = 0x22,
98 ESOS_SENSOR_MIN8 = 0x23,
99 ESOS_SENSOR_MIN16 = 0x24,
100 ESOS_SENSOR_MIN32 = 0x25,
101 ESOS_SENSOR_MIN64 = 0x26,
102 ESOS_SENSOR_MAX2 = 0x41,
103 ESOS_SENSOR_MAX4 = 0x42,
104 ESOS_SENSOR_MAX8 = 0x43,
105 ESOS_SENSOR_MAX16 = 0x44,
106 ESOS_SENSOR_MAX32 = 0x45,
107 ESOS_SENSOR_MAX64 = 0x46,
108 ESOS_SENSOR_MEDIAN2 = 0x81,
109 ESOS_SENSOR_MEDIAN4 = 0x82,
110 ESOS_SENSOR_MEDIAN8 = 0x83,
111 ESOS_SENSOR_MEDIAN16 = 0x84,
112 ESOS_SENSOR_MEDIAN32 = 0x85,
113 ESOS_SENSOR_MEDIAN64 = 0x86,
120 ESOS_SENSOR_FORMAT_BITS = 0x00,
121 ESOS_SENSOR_FORMAT_VOLTAGE = 0x80,
122 ESOS_SENSOR_FORMAT_PERCENT = 0x40,
134 #define SIGNAL_ADC_BUSY esos_SetSystemFlag(__ESOS_SYS_ADC_IS_BUSY)
136 #define ESOS_TASK_WAIT_WHILE_ADC_BUSY do { \
137 esos_ClearSystemFlag(__ESOS_SYS_ADC_IS_BUSY); \
138 ESOS_TASK_WAIT_UNTIL(esos_IsSystemFlagSet(__ESOS_SYS_ADC_IS_BUSY)); \
143 #define ESOS_TASK_WAIT_ON_AVAILABLE_SENSOR(CHCONST, VREFCONST) do { \
144 ESOS_ALLOCATE_CHILD_TASK(th_child); \
145 ESOS_TASK_SPAWN_AND_WAIT(th_child, _WAIT_ON_AVAILABLE_SENSOR, CHCONST, VREFCONST); \
148 #define ESOS_TASK_WAIT_SENSOR_QUICK_READ(u16_data) do { \
149 ESOS_ALLOCATE_CHILD_TASK(th_child); \
150 ESOS_TASK_SPAWN_AND_WAIT(th_child, _WAIT_SENSOR_QUICK_READ, &u16_data); \
153 #define ESOS_TASK_WAIT_SENSOR_READ(u16_data, PROCESSCONST, FMTCONST) do { \
154 ESOS_ALLOCATE_CHILD_TASK(th_child); \
155 ESOS_TASK_SPAWN_AND_WAIT(th_child, _WAIT_SENSOR_READ, &u16_data, PROCESSCONST, FMTCONST); \