From 1548312823aec256b086e49aa5b4a4ee46d65ce7 Mon Sep 17 00:00:00 2001 From: Vladimir Zidar Date: Sun, 16 Apr 2017 02:44:07 +0200 Subject: [PATCH] LP-480 CopterControl will expect ADC_Init() only if board revision has analog gyro, so be prepared to get NULL from PIOS_BOARD_HW_DEFS_GetAdcCfg() --- flight/pios/common/pios_board_sensors.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/flight/pios/common/pios_board_sensors.c b/flight/pios/common/pios_board_sensors.c index 3b0e58b6c..7d204757f 100644 --- a/flight/pios/common/pios_board_sensors.c +++ b/flight/pios/common/pios_board_sensors.c @@ -185,16 +185,19 @@ void PIOS_BOARD_Sensors_Configure() #endif #ifdef PIOS_INCLUDE_ADC - PIOS_ADC_Init(PIOS_BOARD_HW_DEFS_GetAdcCfg(pios_board_info_blob.board_rev)); -#ifndef PIOS_EXCLUDE_ADVANCED_FEATURES - uint8_t adc_config[HWSETTINGS_ADCROUTING_NUMELEM]; - HwSettingsADCRoutingArrayGet(adc_config); - for (uint32_t i = 0; i < HWSETTINGS_ADCROUTING_NUMELEM; i++) { - if (adc_config[i] != HWSETTINGS_ADCROUTING_DISABLED) { - PIOS_ADC_PinSetup(i); + const struct pios_adc_cfg *adc_cfg = PIOS_BOARD_HW_DEFS_GetAdcCfg(pios_board_info_blob.board_rev); + if(adc_cfg) { + PIOS_ADC_Init(adc_cfg); +# ifndef PIOS_EXCLUDE_ADVANCED_FEATURES + uint8_t adc_config[HWSETTINGS_ADCROUTING_NUMELEM]; + HwSettingsADCRoutingArrayGet(adc_config); + for (uint32_t i = 0; i < HWSETTINGS_ADCROUTING_NUMELEM; i++) { + if (adc_config[i] != HWSETTINGS_ADCROUTING_DISABLED) { + PIOS_ADC_PinSetup(i); + } } +# endif } -#endif #endif /* PIOS_INCLUDE_ADC */ // internal bmp280 baro