@@ -101,11 +101,17 @@ static PinName g_current_pin = NC;
101
101
#define ADC_REGULAR_RANK_1 1
102
102
#endif
103
103
104
- /* Private Functions */
105
- static uint32_t get_adc_channel (PinName pin, uint32_t *bank)
104
+ /* Exported Functions */
105
+ /* *
106
+ * @brief Return ADC HAL channel linked to a PinName
107
+ * @param pin: PinName
108
+ * @param bank: pointer to get ADC channel bank if required
109
+ * @retval HAL channel. return -1 if pin has no ADC
110
+ */
111
+ uint32_t get_adc_channel (PinName pin, uint32_t *bank)
106
112
{
107
113
uint32_t function = pinmap_function (pin, PinMap_ADC);
108
- uint32_t channel = 0 ;
114
+ uint32_t channel = - 1 ;
109
115
switch (STM_PIN_CHANNEL (function)) {
110
116
#ifdef ADC_CHANNEL_0
111
117
case 0 :
@@ -218,7 +224,7 @@ static uint32_t get_adc_channel(PinName pin, uint32_t *bank)
218
224
#endif
219
225
#endif
220
226
default :
221
- channel = 0 ;
227
+ channel = - 1 ;
222
228
break ;
223
229
}
224
230
#ifdef ADC_CHANNELS_BANK_B
@@ -233,9 +239,16 @@ static uint32_t get_adc_channel(PinName pin, uint32_t *bank)
233
239
return channel;
234
240
}
235
241
236
- static uint32_t get_adc_internal_channel (PinName pin)
242
+ /* *
243
+ * @brief Return ADC HAL internal channel linked to a PinName
244
+ * @param pin: specific PinName's for ADC internal. Value can be:
245
+ * PADC_TEMP, PADC_TEMP_ADC5, PADC_VREF, PADC_VBAT
246
+ * Note that not all of these values may be available for all series.
247
+ * @retval HAL internal channel. return -1 if pin has no ADC internal
248
+ */
249
+ uint32_t get_adc_internal_channel (PinName pin)
237
250
{
238
- uint32_t channel = 0 ;
251
+ uint32_t channel = - 1 ;
239
252
switch (pin) {
240
253
#if defined(ADC_CHANNEL_TEMPSENSOR)
241
254
case PADC_TEMP:
@@ -263,18 +276,23 @@ static uint32_t get_adc_internal_channel(PinName pin)
263
276
break ;
264
277
#endif
265
278
default :
266
- channel = 0 ;
279
+ channel = - 1 ;
267
280
break ;
268
281
}
269
282
return channel;
270
283
}
271
284
#endif /* HAL_ADC_MODULE_ENABLED && !HAL_ADC_MODULE_ONLY */
272
285
273
286
#if defined(HAL_DAC_MODULE_ENABLED) && !defined(HAL_DAC_MODULE_ONLY)
274
- static uint32_t get_dac_channel (PinName pin)
287
+ /* *
288
+ * @brief Return DAC HAL channel linked to a PinName
289
+ * @param pin: specific PinName's for ADC internal. Value can be:
290
+ * @retval HAL channel. return -1 if pin has no dac
291
+ */
292
+ uint32_t get_dac_channel (PinName pin)
275
293
{
276
294
uint32_t function = pinmap_function (pin, PinMap_DAC);
277
- uint32_t channel = 0 ;
295
+ uint32_t channel = - 1 ;
278
296
switch (STM_PIN_CHANNEL (function)) {
279
297
#ifdef DAC_CHANNEL_0
280
298
case 0 :
@@ -290,7 +308,7 @@ static uint32_t get_dac_channel(PinName pin)
290
308
break ;
291
309
#endif
292
310
default :
293
- channel = 0 ;
311
+ channel = - 1 ;
294
312
break ;
295
313
}
296
314
return channel;
0 commit comments