Skip to content

Commit f80cf3b

Browse files
committed
DM: fix analog correction library
1 parent 70066a8 commit f80cf3b

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
*.bz2
2+
*.atsuo
23

34
bootloaders/*/build/
45
*~
-121 KB
Binary file not shown.

libraries/SAMD_AnalogCorrection/src/SAMD_AnalogCorrection.cpp

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,23 @@
2020

2121
void analogReadCorrection (int offset, uint16_t gain)
2222
{
23+
Adc *adc;
24+
#if defined (__SAMD51__)
25+
adc = ADC0;
26+
#else
27+
adc = ADC;
28+
#endif
2329
// Set correction values
24-
ADC->OFFSETCORR.reg = ADC_OFFSETCORR_OFFSETCORR(offset);
25-
ADC->GAINCORR.reg = ADC_GAINCORR_GAINCORR(gain);
30+
adc->OFFSETCORR.reg = ADC_OFFSETCORR_OFFSETCORR(offset);
31+
adc->GAINCORR.reg = ADC_GAINCORR_GAINCORR(gain);
2632

2733
// Enable digital correction logic
28-
ADC->CTRLB.bit.CORREN = 1;
29-
while(ADC->STATUS.bit.SYNCBUSY);
34+
adc->CTRLB.bit.CORREN = 1;
35+
36+
#if defined (__SAMD51__)
37+
while(adc->SYNCBUSY.bit.OFFSETCORR || adc->SYNCBUSY.bit.GAINCORR);
38+
#else
39+
while(adc->STATUS.bit.SYNCBUSY);
40+
#endif
3041
}
3142

0 commit comments

Comments
 (0)