Skip to content

Commit 9d50ed4

Browse files
committed
Add ADC continuous test
1 parent 8d392ad commit 9d50ed4

File tree

1 file changed

+41
-11
lines changed

1 file changed

+41
-11
lines changed

tests/periman/periman.ino

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,16 @@ int8_t uart1_tx_pin;
4343

4444
// This function is automatically called by unity before each test is run
4545
void setUp(void) {
46+
log_v("Setting up next test");
4647
Serial1.setPins(uart1_rx_pin, uart1_tx_pin);
4748
uart_internal_loopback(1, SOC_RX0);
4849
delay(100);
50+
log_v("Running test");
4951
}
5052

5153
// This function is automatically called by unity after each test is run
5254
void tearDown(void) {
55+
log_v("Tearing down last test");
5356
Serial1.print(last_test);
5457
Serial1.println(" test: This should not be printed");
5558
Serial1.flush();
@@ -81,10 +84,39 @@ void sigmadelta_test(void) {
8184
#endif
8285

8386
#if SOC_ADC_SUPPORTED
84-
void adc_test(void) {
87+
void adc_oneshot_test(void) {
8588
analogReadResolution(12);
8689
analogRead(A4);
87-
last_test = "ADC";
90+
last_test = "ADC Oneshot";
91+
}
92+
93+
volatile bool adc_coversion_done = false;
94+
void ARDUINO_ISR_ATTR adcComplete() {
95+
adc_coversion_done = true;
96+
}
97+
98+
void adc_continuous_test(void) {
99+
uint8_t adc_pins[] = {A4};
100+
uint8_t adc_pins_count = 1;
101+
adc_continuos_data_t * result = NULL;
102+
103+
analogContinuousSetWidth(12);
104+
analogContinuousSetAtten(ADC_11db);
105+
106+
analogContinuous(adc_pins, adc_pins_count, 6, 20000, &adcComplete);
107+
analogContinuousStart();
108+
109+
while (adc_coversion_done == false) {
110+
delay(1);
111+
}
112+
113+
if (!analogContinuousRead(&result, 0)) {
114+
TEST_FAIL_MESSAGE("ADC continuous read failed");
115+
}
116+
117+
analogContinuousStop();
118+
119+
last_test = "ADC Continuous";
88120
}
89121
#endif
90122

@@ -225,15 +257,14 @@ void setup() {
225257
RUN_TEST(spi_test);
226258
#endif
227259

228-
uart1_tx_pin = A4;
229-
230260
#if SOC_ADC_SUPPORTED
231-
RUN_TEST(adc_test);
261+
uart1_tx_pin = A4;
262+
RUN_TEST(adc_oneshot_test);
263+
RUN_TEST(adc_continuous_test);
232264
#endif
233265

234-
uart1_tx_pin = DAC1;
235-
236266
#if SOC_DAC_SUPPORTED
267+
uart1_tx_pin = DAC1;
237268
RUN_TEST(dac_test);
238269
#endif
239270

@@ -243,19 +274,18 @@ void setup() {
243274
#endif
244275
#endif
245276

246-
uart1_tx_pin = T1;
247-
248277
#if SOC_TOUCH_SENSOR_SUPPORTED
278+
uart1_tx_pin = T1;
249279
RUN_TEST(touch_test);
250280
#endif
251281

252-
uart1_tx_pin = UART1_TX_DEFAULT;
253-
254282
#if SOC_USB_SERIAL_JTAG_SUPPORTED && (ARDUINO_USB_MODE == 1)
283+
uart1_tx_pin = UART1_TX_DEFAULT;
255284
RUN_TEST(jtag_test);
256285
#endif
257286

258287
#if SOC_USB_OTG_SUPPORTED && (ARDUINO_USB_MODE == 0)
288+
uart1_tx_pin = 19;
259289
RUN_TEST(usb_test);
260290
#endif
261291

0 commit comments

Comments
 (0)