|
36 | 36 |
|
37 | 37 | void analogin_init(void) { |
38 | 38 | // Calibrate the ADC once, on startup. |
39 | | - nrf_saadc_enable(); |
40 | | - nrf_saadc_event_clear(NRF_SAADC_EVENT_CALIBRATEDONE); |
41 | | - nrf_saadc_task_trigger(NRF_SAADC_TASK_CALIBRATEOFFSET); |
42 | | - while (nrf_saadc_event_check(NRF_SAADC_EVENT_CALIBRATEDONE) == 0) { } |
43 | | - nrf_saadc_event_clear(NRF_SAADC_EVENT_CALIBRATEDONE); |
44 | | - nrf_saadc_disable(); |
| 39 | + nrf_saadc_enable(NRF_SAADC); |
| 40 | + nrf_saadc_event_clear(NRF_SAADC, NRF_SAADC_EVENT_CALIBRATEDONE); |
| 41 | + nrf_saadc_task_trigger(NRF_SAADC, NRF_SAADC_TASK_CALIBRATEOFFSET); |
| 42 | + while (nrf_saadc_event_check(NRF_SAADC, NRF_SAADC_EVENT_CALIBRATEDONE) == 0) { } |
| 43 | + nrf_saadc_event_clear(NRF_SAADC, NRF_SAADC_EVENT_CALIBRATEDONE); |
| 44 | + nrf_saadc_disable(NRF_SAADC); |
45 | 45 | } |
46 | 46 |
|
47 | 47 | void common_hal_analogio_analogin_construct(analogio_analogin_obj_t *self, const mcu_pin_obj_t *pin) { |
@@ -81,34 +81,33 @@ uint16_t common_hal_analogio_analogin_get_value(analogio_analogin_obj_t *self) { |
81 | 81 | .reference = NRF_SAADC_REFERENCE_VDD4, |
82 | 82 | .acq_time = NRF_SAADC_ACQTIME_3US, |
83 | 83 | .mode = NRF_SAADC_MODE_SINGLE_ENDED, |
84 | | - .burst = NRF_SAADC_BURST_DISABLED, |
85 | | - .pin_p = self->pin->adc_channel, |
86 | | - .pin_n = self->pin->adc_channel, |
| 84 | + .burst = NRF_SAADC_BURST_DISABLED |
87 | 85 | }; |
88 | 86 |
|
89 | | - nrf_saadc_resolution_set(NRF_SAADC_RESOLUTION_14BIT); |
90 | | - nrf_saadc_oversample_set(NRF_SAADC_OVERSAMPLE_DISABLED); |
91 | | - nrf_saadc_enable(); |
| 87 | + nrf_saadc_resolution_set(NRF_SAADC, NRF_SAADC_RESOLUTION_14BIT); |
| 88 | + nrf_saadc_oversample_set(NRF_SAADC, NRF_SAADC_OVERSAMPLE_DISABLED); |
| 89 | + nrf_saadc_enable(NRF_SAADC); |
92 | 90 |
|
93 | | - for (uint32_t i = 0; i < NRF_SAADC_CHANNEL_COUNT; i++) |
94 | | - nrf_saadc_channel_input_set(i, NRF_SAADC_INPUT_DISABLED, NRF_SAADC_INPUT_DISABLED); |
| 91 | + for (uint32_t i = 0; i < SAADC_CH_NUM; i++) |
| 92 | + nrf_saadc_channel_input_set(NRF_SAADC, i, NRF_SAADC_INPUT_DISABLED, NRF_SAADC_INPUT_DISABLED); |
95 | 93 |
|
96 | | - nrf_saadc_channel_init(CHANNEL_NO, &config); |
97 | | - nrf_saadc_buffer_init(&value, 1); |
| 94 | + nrf_saadc_channel_init(NRF_SAADC, CHANNEL_NO, &config); |
| 95 | + nrf_saadc_channel_input_set(NRF_SAADC, CHANNEL_NO, self->pin->adc_channel, self->pin->adc_channel); |
| 96 | + nrf_saadc_buffer_init(NRF_SAADC, &value, 1); |
98 | 97 |
|
99 | | - nrf_saadc_task_trigger(NRF_SAADC_TASK_START); |
100 | | - while (nrf_saadc_event_check(NRF_SAADC_EVENT_STARTED) == 0); |
101 | | - nrf_saadc_event_clear(NRF_SAADC_EVENT_STARTED); |
| 98 | + nrf_saadc_task_trigger(NRF_SAADC, NRF_SAADC_TASK_START); |
| 99 | + while (nrf_saadc_event_check(NRF_SAADC, NRF_SAADC_EVENT_STARTED) == 0); |
| 100 | + nrf_saadc_event_clear(NRF_SAADC, NRF_SAADC_EVENT_STARTED); |
102 | 101 |
|
103 | | - nrf_saadc_task_trigger(NRF_SAADC_TASK_SAMPLE); |
104 | | - while (nrf_saadc_event_check(NRF_SAADC_EVENT_END) == 0); |
105 | | - nrf_saadc_event_clear(NRF_SAADC_EVENT_END); |
| 102 | + nrf_saadc_task_trigger(NRF_SAADC, NRF_SAADC_TASK_SAMPLE); |
| 103 | + while (nrf_saadc_event_check(NRF_SAADC, NRF_SAADC_EVENT_END) == 0); |
| 104 | + nrf_saadc_event_clear(NRF_SAADC, NRF_SAADC_EVENT_END); |
106 | 105 |
|
107 | | - nrf_saadc_task_trigger(NRF_SAADC_TASK_STOP); |
108 | | - while (nrf_saadc_event_check(NRF_SAADC_EVENT_STOPPED) == 0); |
109 | | - nrf_saadc_event_clear(NRF_SAADC_EVENT_STOPPED); |
| 106 | + nrf_saadc_task_trigger(NRF_SAADC, NRF_SAADC_TASK_STOP); |
| 107 | + while (nrf_saadc_event_check(NRF_SAADC, NRF_SAADC_EVENT_STOPPED) == 0); |
| 108 | + nrf_saadc_event_clear(NRF_SAADC, NRF_SAADC_EVENT_STOPPED); |
110 | 109 |
|
111 | | - nrf_saadc_disable(); |
| 110 | + nrf_saadc_disable(NRF_SAADC); |
112 | 111 |
|
113 | 112 | if (value < 0) |
114 | 113 | value = 0; |
|
0 commit comments