Skip to content

Commit 88e3194

Browse files
committed
stm32_adc_utils: make constexpr some functions
1 parent 0de7d5a commit 88e3194

2 files changed

Lines changed: 336 additions & 287 deletions

File tree

src/current_sense/hardware_specific/stm32/stm32_adc_utils.cpp

Lines changed: 0 additions & 281 deletions
Original file line numberDiff line numberDiff line change
@@ -14,55 +14,6 @@
1414

1515
extern ADC_HandleTypeDef hadc[];
1616

17-
int _adcToIndex(ADC_TypeDef *AdcHandle){
18-
if(AdcHandle == ADC1) return 0;
19-
#ifdef ADC2 // if ADC2 exists
20-
else if(AdcHandle == ADC2) return 1;
21-
#endif
22-
#ifdef ADC3 // if ADC3 exists
23-
else if(AdcHandle == ADC3) return 2;
24-
#endif
25-
#ifdef ADC4 // if ADC4 exists
26-
else if(AdcHandle == ADC4) return 3;
27-
#endif
28-
#ifdef ADC5 // if ADC5 exists
29-
else if(AdcHandle == ADC5) return 4;
30-
#endif
31-
return 0;
32-
}
33-
int _adcToIndex(ADC_HandleTypeDef *AdcHandle){
34-
return _adcToIndex(AdcHandle->Instance);
35-
}
36-
37-
38-
ADC_TypeDef* _indexToADC(uint8_t index){
39-
switch (index) {
40-
case 0:
41-
return ADC1;
42-
break;
43-
#ifdef ADC2 // if ADC2 exists
44-
case 1:
45-
return ADC2;
46-
break;
47-
#endif
48-
#ifdef ADC3 // if ADC3 exists
49-
case 2:
50-
return ADC3;
51-
break;
52-
#endif
53-
#ifdef ADC4 // if ADC4 exists
54-
case 3:
55-
return ADC4;
56-
break;
57-
#endif
58-
#ifdef ADC5 // if ADC5 exists
59-
case 4:
60-
return ADC5;
61-
break;
62-
#endif
63-
}
64-
return nullptr;
65-
}
6617

6718
int _findIndexOfEntry(PinName pin) {
6819
// remove the ALT if it is there
@@ -256,238 +207,6 @@ uint32_t _getADCChannel(PinName pin, ADC_TypeDef *AdcHandle )
256207
return channel;
257208
}
258209

259-
uint32_t _getADCInjectedRank(uint8_t ind){
260-
switch (ind) {
261-
#ifdef ADC_INJECTED_RANK_1
262-
case 0:
263-
return ADC_INJECTED_RANK_1;
264-
#endif
265-
#ifdef ADC_INJECTED_RANK_2
266-
case 1:
267-
return ADC_INJECTED_RANK_2;
268-
#endif
269-
#ifdef ADC_INJECTED_RANK_3
270-
case 2:
271-
return ADC_INJECTED_RANK_3;
272-
#endif
273-
#ifdef ADC_INJECTED_RANK_4
274-
case 3:
275-
return ADC_INJECTED_RANK_4;
276-
#endif
277-
default:
278-
return 0;
279-
}
280-
}
281-
282-
uint32_t _getADCRegularRank(uint8_t ind)
283-
{
284-
switch (ind) {
285-
#ifdef ADC_REGULAR_RANK_1
286-
case 0:
287-
return ADC_REGULAR_RANK_1;
288-
#endif
289-
#ifdef ADC_REGULAR_RANK_2
290-
case 1:
291-
return ADC_REGULAR_RANK_2;
292-
#endif
293-
#ifdef ADC_REGULAR_RANK_3
294-
case 2:
295-
return ADC_REGULAR_RANK_3;
296-
#endif
297-
#ifdef ADC_REGULAR_RANK_4
298-
case 3:
299-
return ADC_REGULAR_RANK_4;
300-
#endif
301-
#ifdef ADC_REGULAR_RANK_5
302-
case 4:
303-
return ADC_REGULAR_RANK_5;
304-
#endif
305-
#ifdef ADC_REGULAR_RANK_6
306-
case 5:
307-
return ADC_REGULAR_RANK_6;
308-
#endif
309-
#ifdef ADC_REGULAR_RANK_7
310-
case 6:
311-
return ADC_REGULAR_RANK_7;
312-
#endif
313-
#ifdef ADC_REGULAR_RANK_8
314-
case 7:
315-
return ADC_REGULAR_RANK_8;
316-
#endif
317-
#ifdef ADC_REGULAR_RANK_9
318-
case 8:
319-
return ADC_REGULAR_RANK_9;
320-
#endif
321-
#ifdef ADC_REGULAR_RANK_10
322-
case 9:
323-
return ADC_REGULAR_RANK_10;
324-
#endif
325-
#ifdef ADC_REGULAR_RANK_11
326-
case 10:
327-
return ADC_REGULAR_RANK_11;
328-
#endif
329-
#ifdef ADC_REGULAR_RANK_12
330-
case 11:
331-
return ADC_REGULAR_RANK_12;
332-
#endif
333-
#ifdef ADC_REGULAR_RANK_13
334-
case 12:
335-
return ADC_REGULAR_RANK_13;
336-
#endif
337-
#ifdef ADC_REGULAR_RANK_14
338-
case 13:
339-
return ADC_REGULAR_RANK_14;
340-
#endif
341-
#ifdef ADC_REGULAR_RANK_15
342-
case 14:
343-
return ADC_REGULAR_RANK_15;
344-
#endif
345-
#ifdef ADC_REGULAR_RANK_16
346-
case 15:
347-
return ADC_REGULAR_RANK_16;
348-
#endif
349-
default:
350-
return 0;
351-
}
352-
}
353-
354-
uint32_t _getADCChannel(uint8_t ind)
355-
{
356-
switch (ind)
357-
{
358-
#ifdef ADC_CHANNEL_0
359-
case 0:
360-
return ADC_CHANNEL_0;
361-
#endif
362-
#ifdef ADC_CHANNEL_1
363-
case 1:
364-
return ADC_CHANNEL_1;
365-
#endif
366-
#ifdef ADC_CHANNEL_2
367-
case 2:
368-
return ADC_CHANNEL_2;
369-
#endif
370-
#ifdef ADC_CHANNEL_3
371-
case 3:
372-
return ADC_CHANNEL_3;
373-
#endif
374-
#ifdef ADC_CHANNEL_4
375-
case 4:
376-
return ADC_CHANNEL_4;
377-
#endif
378-
#ifdef ADC_CHANNEL_5
379-
case 5:
380-
return ADC_CHANNEL_5;
381-
#endif
382-
#ifdef ADC_CHANNEL_6
383-
case 6:
384-
return ADC_CHANNEL_6;
385-
#endif
386-
#ifdef ADC_CHANNEL_7
387-
case 7:
388-
return ADC_CHANNEL_7;
389-
#endif
390-
#ifdef ADC_CHANNEL_8
391-
case 8:
392-
return ADC_CHANNEL_8;
393-
#endif
394-
#ifdef ADC_CHANNEL_9
395-
case 9:
396-
return ADC_CHANNEL_9;
397-
#endif
398-
#ifdef ADC_CHANNEL_10
399-
case 10:
400-
return ADC_CHANNEL_10;
401-
#endif
402-
#ifdef ADC_CHANNEL_11
403-
case 11:
404-
return ADC_CHANNEL_11;
405-
#endif
406-
#ifdef ADC_CHANNEL_12
407-
case 12:
408-
return ADC_CHANNEL_12;
409-
#endif
410-
#ifdef ADC_CHANNEL_13
411-
case 13:
412-
return ADC_CHANNEL_13;
413-
#endif
414-
#ifdef ADC_CHANNEL_14
415-
case 14:
416-
return ADC_CHANNEL_14;
417-
#endif
418-
#ifdef ADC_CHANNEL_15
419-
case 15:
420-
return ADC_CHANNEL_15;
421-
#endif
422-
#ifdef ADC_CHANNEL_16
423-
case 16:
424-
return ADC_CHANNEL_16;
425-
#endif
426-
#ifdef ADC_CHANNEL_17
427-
case 17:
428-
return ADC_CHANNEL_17;
429-
#endif
430-
#ifdef ADC_CHANNEL_18
431-
case 18:
432-
return ADC_CHANNEL_18;
433-
#endif
434-
#ifdef ADC_CHANNEL_19
435-
case 19:
436-
return ADC_CHANNEL_19;
437-
#endif
438-
#ifdef ADC_CHANNEL_20
439-
case 20:
440-
return ADC_CHANNEL_20;
441-
#endif
442-
#ifdef ADC_CHANNEL_21
443-
case 21:
444-
return ADC_CHANNEL_21;
445-
#endif
446-
#ifdef ADC_CHANNEL_22
447-
case 22:
448-
return ADC_CHANNEL_22;
449-
#endif
450-
#ifdef ADC_CHANNEL_23
451-
case 23:
452-
return ADC_CHANNEL_23;
453-
#endif
454-
#ifdef ADC_CHANNEL_24
455-
case 24:
456-
return ADC_CHANNEL_24;
457-
#endif
458-
#ifdef ADC_CHANNEL_25
459-
case 25:
460-
return ADC_CHANNEL_25;
461-
#endif
462-
#ifdef ADC_CHANNEL_26
463-
case 26:
464-
return ADC_CHANNEL_26;
465-
#endif
466-
#ifdef ADC_CHANNEL_27
467-
case 27:
468-
return ADC_CHANNEL_27;
469-
#endif
470-
#ifdef ADC_CHANNEL_28
471-
case 28:
472-
return ADC_CHANNEL_28;
473-
#endif
474-
#ifdef ADC_CHANNEL_29
475-
case 29:
476-
return ADC_CHANNEL_29;
477-
#endif
478-
#ifdef ADC_CHANNEL_30
479-
case 30:
480-
return ADC_CHANNEL_30;
481-
#endif
482-
#ifdef ADC_CHANNEL_31
483-
case 31:
484-
return ADC_CHANNEL_31;
485-
#endif
486-
default:
487-
return 0;
488-
}
489-
}
490-
491210

492211
// returns 0 if no interrupt is needed, 1 if interrupt is needed
493212
uint32_t _initTimerInterruptDownsampling(Stm32CurrentSenseParams* cs_params, STM32DriverParams* driver_params, Stm32AdcInterruptConfig& adc_interrupt_config){

0 commit comments

Comments
 (0)