@@ -43,13 +43,16 @@ int8_t uart1_tx_pin;
4343
4444// This function is automatically called by unity before each test is run
4545void 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
5254void 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