Skip to content

Commit 3e1870b

Browse files
committed
rank calculation problem
1 parent 5dffc7b commit 3e1870b

File tree

5 files changed

+12
-7
lines changed

5 files changed

+12
-7
lines changed

src/current_sense/hardware_specific/stm32/stm32f1/stm32f1_hal.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,12 @@ int _adc_init(Stm32CurrentSenseParams* cs_params, const STM32DriverParams* drive
123123
}
124124

125125

126+
uint32_t ranks[4]= {ADC_INJECTED_RANK_1, ADC_INJECTED_RANK_2, ADC_INJECTED_RANK_3, ADC_INJECTED_RANK_4};
126127
for(int i=0; i<3; i++){
127128
// skip if not set
128129
if (!_isset(cs_params->pins[i])) continue;
129130

130-
sConfigInjected.InjectedRank = ADC_INJECTED_RANK_1 + i;
131+
sConfigInjected.InjectedRank = ranks[i];
131132
sConfigInjected.InjectedChannel = STM_PIN_CHANNEL(pinmap_function(analogInputToPinName(cs_params->pins[i]), PinMap_ADC));
132133
if (HAL_ADCEx_InjectedConfigChannel(&hadc, &sConfigInjected) != HAL_OK){
133134
#ifdef SIMPLEFOC_STM32_DEBUG

src/current_sense/hardware_specific/stm32/stm32f4/stm32f4_hal.cpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,13 @@ int _adc_init(Stm32CurrentSenseParams* cs_params, const STM32DriverParams* drive
118118
SIMPLEFOC_DEBUG("STM32-CS: Using timer: ", stm32_getTimerNumber(cs_params->timer_handle->Instance));
119119
#endif
120120
}
121-
121+
122+
uint32_t ranks[4]= {ADC_INJECTED_RANK_1, ADC_INJECTED_RANK_2, ADC_INJECTED_RANK_3, ADC_INJECTED_RANK_4};
122123
for(int i=0; i<3; i++){
123124
// skip if not set
124125
if (!_isset(cs_params->pins[i])) continue;
125126

126-
sConfigInjected.InjectedRank = ADC_INJECTED_RANK_1 + i;
127+
sConfigInjected.InjectedRank = ranks[i];
127128
sConfigInjected.InjectedChannel = _getADCChannel(analogInputToPinName(cs_params->pins[i]));
128129
if (HAL_ADCEx_InjectedConfigChannel(&hadc, &sConfigInjected) != HAL_OK){
129130
#ifdef SIMPLEFOC_STM32_DEBUG

src/current_sense/hardware_specific/stm32/stm32f7/stm32f7_hal.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,12 @@ int _adc_init(Stm32CurrentSenseParams* cs_params, const STM32DriverParams* drive
127127
#endif
128128
}
129129

130+
uint32_t ranks[4]= {ADC_INJECTED_RANK_1, ADC_INJECTED_RANK_2, ADC_INJECTED_RANK_3, ADC_INJECTED_RANK_4};
130131
for(int i=0; i<3; i++){
131132
// skip if not set
132133
if (!_isset(cs_params->pins[i])) continue;
133134

134-
sConfigInjected.InjectedRank = ADC_INJECTED_RANK_1 + i;
135+
sConfigInjected.InjectedRank = ranks[i];
135136
sConfigInjected.InjectedChannel = _getADCChannel(analogInputToPinName(cs_params->pins[i]));
136137
if (HAL_ADCEx_InjectedConfigChannel(&hadc, &sConfigInjected) != HAL_OK){
137138
#ifdef SIMPLEFOC_STM32_DEBUG

src/current_sense/hardware_specific/stm32/stm32g4/stm32g4_hal.cpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -168,12 +168,13 @@ int _adc_init(Stm32CurrentSenseParams* cs_params, const STM32DriverParams* drive
168168
SIMPLEFOC_DEBUG("STM32-CS: Using timer: ", stm32_getTimerNumber(cs_params->timer_handle->Instance));
169169
#endif
170170
}
171-
171+
172+
uint32_t ranks[4]= {ADC_INJECTED_RANK_1, ADC_INJECTED_RANK_2, ADC_INJECTED_RANK_3, ADC_INJECTED_RANK_4};
172173
for(int i=0; i<3; i++){
173174
// skip if not set
174175
if (!_isset(cs_params->pins[i])) continue;
175176

176-
sConfigInjected.InjectedRank = ADC_INJECTED_RANK_1 + i;
177+
sConfigInjected.InjectedRank = ranks[i];
177178
sConfigInjected.InjectedChannel = _getADCChannel(analogInputToPinName(cs_params->pins[i]));
178179
if (HAL_ADCEx_InjectedConfigChannel(&hadc, &sConfigInjected) != HAL_OK){
179180
#ifdef SIMPLEFOC_STM32_DEBUG

src/current_sense/hardware_specific/stm32/stm32l4/stm32l4_hal.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -168,11 +168,12 @@ int _adc_init(Stm32CurrentSenseParams* cs_params, const STM32DriverParams* drive
168168
}
169169

170170

171+
uint32_t ranks[4]= {ADC_INJECTED_RANK_1, ADC_INJECTED_RANK_2, ADC_INJECTED_RANK_3, ADC_INJECTED_RANK_4};
171172
for(int i=0; i<3; i++){
172173
// skip if not set
173174
if (!_isset(cs_params->pins[i])) continue;
174175

175-
sConfigInjected.InjectedRank = ADC_INJECTED_RANK_1 + i;
176+
sConfigInjected.InjectedRank = ranks[i];
176177
sConfigInjected.InjectedChannel = _getADCChannel(analogInputToPinName(cs_params->pins[i]));
177178
if (HAL_ADCEx_InjectedConfigChannel(&hadc, &sConfigInjected) != HAL_OK){
178179
#ifdef SIMPLEFOC_STM32_DEBUG

0 commit comments

Comments
 (0)