From 4ea1820366107ad57eab3f8b9b1232897ea15d54 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sat, 31 Jul 2021 16:18:04 +0200 Subject: [PATCH] Allow NULL driver methods --- radio/src/hal/adc_driver.cpp | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/radio/src/hal/adc_driver.cpp b/radio/src/hal/adc_driver.cpp index 6569f19ce..19a14c18f 100644 --- a/radio/src/hal/adc_driver.cpp +++ b/radio/src/hal/adc_driver.cpp @@ -89,14 +89,17 @@ uint16_t rtcBatteryVoltage; bool adcInit(const etx_hal_adc_driver_t* driver) { etx_hal_adc_driver = driver; - if (etx_hal_adc_driver && etx_hal_adc_driver->init) - { - if(!etx_hal_adc_driver->init()) - return false; + if (!etx_hal_adc_driver) + return false; - return true; + // If there is an init function + // it should succeed + if (etx_hal_adc_driver->init && + !etx_hal_adc_driver->init()) { + return false; } - return false; + + return true; } static bool adcSingleRead() @@ -104,14 +107,13 @@ static bool adcSingleRead() if (!etx_hal_adc_driver) return false; - if (!etx_hal_adc_driver->start_conversion || + if (etx_hal_adc_driver->start_conversion && !etx_hal_adc_driver->start_conversion()) return false; - if (!etx_hal_adc_driver->wait_completion) - return false; + if (etx_hal_adc_driver->wait_completion) + etx_hal_adc_driver->wait_completion(); - etx_hal_adc_driver->wait_completion(); return true; }