Skip to content

Commit d440df2

Browse files
committed
[ADC] Allow to enable HAL module only
Define `HAL_ADC_MODULE_ONLY` in `build_opt.h` or `hal_conf_extra.h` allow HAL ADC module usage without any usage by the core. Fixes stm32duino#697 Signed-off-by: Frederic Pillon <[email protected]>
1 parent 44b12af commit d440df2

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

cores/arduino/stm32/analog.cpp

+6-5
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,13 @@ extern "C" {
4747

4848

4949
/* Private_Variables */
50-
#if defined(HAL_ADC_MODULE_ENABLED) || defined(HAL_DAC_MODULE_ENABLED)
50+
#if (defined(HAL_ADC_MODULE_ENABLED) && !defined(HAL_ADC_MODULE_ONLY)) ||\
51+
defined(HAL_DAC_MODULE_ENABLED)
5152
static PinName g_current_pin = NC;
5253
#endif
5354

5455
/* Private_Defines */
55-
#ifdef HAL_ADC_MODULE_ENABLED
56+
#if defined(HAL_ADC_MODULE_ENABLED) && !defined(HAL_ADC_MODULE_ONLY)
5657

5758
#ifndef ADC_SAMPLINGTIME
5859
#if defined(ADC_SAMPLETIME_8CYCLES_5)
@@ -269,7 +270,7 @@ static uint32_t get_adc_internal_channel(PinName pin)
269270
}
270271
return channel;
271272
}
272-
#endif /* HAL_ADC_MODULE_ENABLED */
273+
#endif /* HAL_ADC_MODULE_ENABLED && !HAL_ADC_MODULE_ONLY */
273274

274275
#if defined(HAL_TIM_MODULE_ENABLED) && !defined(HAL_TIM_MODULE_ONLY)
275276
uint32_t get_pwm_channel(PinName pin)
@@ -557,7 +558,7 @@ void dac_stop(PinName pin)
557558
}
558559
#endif //HAL_DAC_MODULE_ENABLED
559560

560-
#ifdef HAL_ADC_MODULE_ENABLED
561+
#if defined(HAL_ADC_MODULE_ENABLED) && !defined(HAL_ADC_MODULE_ONLY)
561562
////////////////////////// ADC INTERFACE FUNCTIONS /////////////////////////////
562563

563564
/**
@@ -980,7 +981,7 @@ uint16_t adc_read_value(PinName pin)
980981

981982
return uhADCxConvertedValue;
982983
}
983-
#endif /* HAL_ADC_MODULE_ENABLED */
984+
#endif /* HAL_ADC_MODULE_ENABLED && !HAL_ADC_MODULE_ONLY*/
984985

985986
#if defined(HAL_TIM_MODULE_ENABLED) && !defined(HAL_TIM_MODULE_ONLY)
986987
////////////////////////// PWM INTERFACE FUNCTIONS /////////////////////////////

cores/arduino/wiring_analog.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ void analogReference(eAnalogReference ulMode)
7171
uint32_t analogRead(uint32_t ulPin)
7272
{
7373
uint32_t value = 0;
74-
#ifdef HAL_ADC_MODULE_ENABLED
74+
#if defined(HAL_ADC_MODULE_ENABLED) && !defined(HAL_ADC_MODULE_ONLY)
7575
PinName p = analogInputToPinName(ulPin);
7676
if (p != NC) {
7777
value = adc_read_value(p);

0 commit comments

Comments
 (0)