Skip to content

Commit 1399cdf

Browse files
author
microbuilder
committed
Additional ADC options
1 parent 5217449 commit 1399cdf

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

cores/nRF5/wiring_analog.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,12 @@ extern "C" {
3232
typedef enum _eAnalogReference
3333
{
3434
AR_DEFAULT,
35-
AR_INTERNAL,
36-
AR_VDD4
35+
AR_INTERNAL, // 0.6V Ref * 6 = 0..3.6V
36+
AR_INTERNAL_3_0, // 0.6V Ref * 5 = 0..3.0V
37+
AR_INTERNAL_2_4, // 0.6V Ref * 4 = 0..2.4V
38+
AR_INTERNAL_1_8, // 0.6V Ref * 3 = 0..1.8V
39+
AR_INTERNAL_1_2, // 0.6V Ref * 2 = 0..1.6V
40+
AR_VDD4 // VDD/4 REF * 4 = 0..VDD
3741
} eAnalogReference ;
3842
#else
3943
typedef enum _eAnalogReference

cores/nRF5/wiring_analog_nRF52.c

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,17 +90,33 @@ static inline uint32_t mapResolution( uint32_t value, uint32_t from, uint32_t to
9090
void analogReference( eAnalogReference ulMode )
9191
{
9292
switch ( ulMode ) {
93+
case AR_VDD4:
94+
saadcReference = SAADC_CH_CONFIG_REFSEL_VDD1_4;
95+
saadcGain = SAADC_CH_CONFIG_GAIN_Gain4;
96+
break;
97+
case AR_INTERNAL_3_0:
98+
saadcReference = SAADC_CH_CONFIG_REFSEL_Internal;
99+
saadcGain = SAADC_CH_CONFIG_GAIN_Gain1_5;
100+
break;
101+
case AR_INTERNAL_2_4:
102+
saadcReference = SAADC_CH_CONFIG_REFSEL_Internal;
103+
saadcGain = SAADC_CH_CONFIG_GAIN_Gain1_4;
104+
break;
105+
case AR_INTERNAL_1_8:
106+
saadcReference = SAADC_CH_CONFIG_REFSEL_Internal;
107+
saadcGain = SAADC_CH_CONFIG_GAIN_Gain1_3;
108+
break;
109+
case AR_INTERNAL_1_2:
110+
saadcReference = SAADC_CH_CONFIG_REFSEL_Internal;
111+
saadcGain = SAADC_CH_CONFIG_GAIN_Gain1_2;
112+
break;
93113
case AR_DEFAULT:
94114
case AR_INTERNAL:
95115
default:
96116
saadcReference = SAADC_CH_CONFIG_REFSEL_Internal;
97117
saadcGain = SAADC_CH_CONFIG_GAIN_Gain1_6;
98118
break;
99119

100-
case AR_VDD4:
101-
saadcReference = SAADC_CH_CONFIG_REFSEL_VDD1_4;
102-
saadcGain = SAADC_CH_CONFIG_GAIN_Gain1_4;
103-
break;
104120
}
105121
}
106122

0 commit comments

Comments
 (0)