From d191b375207bdde37308dd6f3c54cdac3c761912 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 4 Feb 2018 20:36:36 +1100 Subject: [PATCH] HAL_ChibiOS: cope with having no ADC inputs --- libraries/AP_HAL_ChibiOS/AnalogIn.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libraries/AP_HAL_ChibiOS/AnalogIn.cpp b/libraries/AP_HAL_ChibiOS/AnalogIn.cpp index d4d29f8bfb..8245efb640 100644 --- a/libraries/AP_HAL_ChibiOS/AnalogIn.cpp +++ b/libraries/AP_HAL_ChibiOS/AnalogIn.cpp @@ -178,7 +178,7 @@ AnalogIn::AnalogIn() : */ void AnalogIn::adccallback(ADCDriver *adcp, adcsample_t *buffer, size_t n) { - if (buffer != &samples[0]) { + if (buffer != samples) { return; } for (uint8_t i = 0; i < ADC_DMA_BUF_DEPTH; i++) { @@ -194,6 +194,9 @@ void AnalogIn::adccallback(ADCDriver *adcp, adcsample_t *buffer, size_t n) */ void AnalogIn::init() { + if (ADC_GRP1_NUM_CHANNELS == 0) { + return; + } adcStart(&ADCD1, NULL); memset(&adcgrpcfg, 0, sizeof(adcgrpcfg)); adcgrpcfg.circular = true; @@ -219,7 +222,7 @@ void AnalogIn::init() adcgrpcfg.sqr1 |= chan << (5*(i-12)); } } - adcStartConversion(&ADCD1, &adcgrpcfg, &samples[0], ADC_DMA_BUF_DEPTH); + adcStartConversion(&ADCD1, &adcgrpcfg, samples, ADC_DMA_BUF_DEPTH); } /*