Here is a test running the function from ram, with the same spurious longer response times.
Results:
ADC0 - Value 0838
ADC1 - Value 0844
Readtime 6.000000 usecs
ADC0 - Value 083b
ADC1 - Value 0843
Readtime 6.000000 usecs
ADC0 - Value 083a
ADC1 - Value 0843
Readtime 6.000000 usecs
ADC0 - Value 083a
ADC1 - Value 0844
Readtime 6.000000 usecs
ADC0 - Value 083a
ADC1 - Value 0844
Readtime 6.000000 usecs
ADC0 - Value 083a
ADC1 - Value 0843
Readtime 33.000000 usecs
ADC0 - Value 0839
ADC1 - Value 0843
Readtime 6.000000 usecs
ADC0 - Value 083b
ADC1 - Value 0843
Readtime 7.000000 usecs
ADC0 - Value 0839
ADC1 - Value 0844
Readtime 6.000000 usecs
ADC0 - Value 083c
ADC1 - Value 0844
Readtime 6.000000 usecs
ADC0 - Value 083a
ADC1 - Value 0844
Readtime 6.000000 usecs
Command: 5342
ADC0 - Value 083a
ADC1 - Value 0843
Readtime 6.000000 usecs
ADC0 - Value 083c
ADC1 - Value 0845
Readtime 32.000000 usecs
Code:
void __not_in_flash_func(Sandbox_ADC) (void) { uint16_t adc0_read =0x0000; uint16_t adc1_read =0x0000; uint64_t start_time = 0; uint64_t end_time = 0; bool sandbox_out = 0; start_time = to_us_since_boot (get_absolute_time()); // Time for next step adc_select_input(0); // Read ADC adc0_read = adc_read(); // Select ADC1 adc_select_input(1); // Read ADC adc1_read = adc_read(); end_time = to_us_since_boot (get_absolute_time()); printf("ADC0 - Value %04x \nADC1 - Value %04x\nReadtime %f usecs\n",adc0_read, adc1_read, double (end_time-start_time));}
ADC0 - Value 0838
ADC1 - Value 0844
Readtime 6.000000 usecs
ADC0 - Value 083b
ADC1 - Value 0843
Readtime 6.000000 usecs
ADC0 - Value 083a
ADC1 - Value 0843
Readtime 6.000000 usecs
ADC0 - Value 083a
ADC1 - Value 0844
Readtime 6.000000 usecs
ADC0 - Value 083a
ADC1 - Value 0844
Readtime 6.000000 usecs
ADC0 - Value 083a
ADC1 - Value 0843
Readtime 33.000000 usecs
ADC0 - Value 0839
ADC1 - Value 0843
Readtime 6.000000 usecs
ADC0 - Value 083b
ADC1 - Value 0843
Readtime 7.000000 usecs
ADC0 - Value 0839
ADC1 - Value 0844
Readtime 6.000000 usecs
ADC0 - Value 083c
ADC1 - Value 0844
Readtime 6.000000 usecs
ADC0 - Value 083a
ADC1 - Value 0844
Readtime 6.000000 usecs
Command: 5342
ADC0 - Value 083a
ADC1 - Value 0843
Readtime 6.000000 usecs
ADC0 - Value 083c
ADC1 - Value 0845
Readtime 32.000000 usecs
Statistics: Posted by pm490 — Thu May 02, 2024 8:50 pm