refactoring: extract method
This commit is contained in:
parent
2b8f586276
commit
565d5c22db
|
@ -103,7 +103,7 @@ NULL, 0,
|
||||||
SPI_CR1_MSTR |
|
SPI_CR1_MSTR |
|
||||||
//SPI_CR1_BR_1 // 5MHz
|
//SPI_CR1_BR_1 // 5MHz
|
||||||
SPI_CR1_CPHA | SPI_CR1_BR_0 | SPI_CR1_BR_1 | SPI_CR1_BR_2 };
|
SPI_CR1_CPHA | SPI_CR1_BR_0 | SPI_CR1_BR_1 | SPI_CR1_BR_2 };
|
||||||
#endif
|
#endif /* EFI_PROD_CODE */
|
||||||
|
|
||||||
static void checkResponse(void) {
|
static void checkResponse(void) {
|
||||||
if (tx_buff[0] == rx_buff[0]) {
|
if (tx_buff[0] == rx_buff[0]) {
|
||||||
|
@ -173,7 +173,7 @@ static void showHipInfo(void) {
|
||||||
scheduleMsg(logger, "mosi=%s", hwPortname(getMosiPin(engineConfiguration->hip9011SpiDevice)));
|
scheduleMsg(logger, "mosi=%s", hwPortname(getMosiPin(engineConfiguration->hip9011SpiDevice)));
|
||||||
scheduleMsg(logger, "miso=%s", hwPortname(getMisoPin(engineConfiguration->hip9011SpiDevice)));
|
scheduleMsg(logger, "miso=%s", hwPortname(getMisoPin(engineConfiguration->hip9011SpiDevice)));
|
||||||
scheduleMsg(logger, "sck=%s", hwPortname(getSckPin(engineConfiguration->hip9011SpiDevice)));
|
scheduleMsg(logger, "sck=%s", hwPortname(getSckPin(engineConfiguration->hip9011SpiDevice)));
|
||||||
#endif
|
#endif /* EFI_PROD_CODE */
|
||||||
|
|
||||||
scheduleMsg(logger, "start %.2f end %.2f", engineConfiguration->knockDetectionWindowStart,
|
scheduleMsg(logger, "start %.2f end %.2f", engineConfiguration->knockDetectionWindowStart,
|
||||||
engineConfiguration->knockDetectionWindowEnd);
|
engineConfiguration->knockDetectionWindowEnd);
|
||||||
|
@ -300,6 +300,14 @@ static int getBandIndex(void) {
|
||||||
return getHip9011BandIndex(freq);
|
return getHip9011BandIndex(freq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void sendCommand(hip_state_e s, unsigned char cmd) {
|
||||||
|
state = s;
|
||||||
|
tx_buff[0] = cmd;
|
||||||
|
|
||||||
|
spiSelectI(driver);
|
||||||
|
spiStartExchangeI(driver, 1, tx_buff, rx_buff);
|
||||||
|
}
|
||||||
|
|
||||||
void hipAdcCallback(adcsample_t adcValue) {
|
void hipAdcCallback(adcsample_t adcValue) {
|
||||||
if (state == WAITING_FOR_ADC_TO_SKIP) {
|
if (state == WAITING_FOR_ADC_TO_SKIP) {
|
||||||
state = WAITING_FOR_RESULT_ADC;
|
state = WAITING_FOR_RESULT_ADC;
|
||||||
|
@ -313,7 +321,7 @@ void hipAdcCallback(adcsample_t adcValue) {
|
||||||
|
|
||||||
if (angleWindowWidth != currentAngleWindowWidth) {
|
if (angleWindowWidth != currentAngleWindowWidth) {
|
||||||
currentAngleWindowWidth = angleWindowWidth;
|
currentAngleWindowWidth = angleWindowWidth;
|
||||||
prepareHip9011RpmLookup(currentAngleWindowWidth);
|
prepareHip9011RpmLookup(currentAngleWindowWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
int integratorIndex = getIntegrationIndexByRpm(GET_RPM());
|
int integratorIndex = getIntegrationIndexByRpm(GET_RPM());
|
||||||
|
@ -324,32 +332,18 @@ void hipAdcCallback(adcsample_t adcValue) {
|
||||||
|
|
||||||
if (currentGainIndex != gainIndex) {
|
if (currentGainIndex != gainIndex) {
|
||||||
currentGainIndex = gainIndex;
|
currentGainIndex = gainIndex;
|
||||||
tx_buff[0] = SET_GAIN_CMD + gainIndex;
|
sendCommand(IS_SENDING_SPI_COMMAND, SET_GAIN_CMD + gainIndex);
|
||||||
|
|
||||||
state = IS_SENDING_SPI_COMMAND;
|
|
||||||
spiSelectI(driver);
|
|
||||||
spiStartExchangeI(driver, 1, tx_buff, rx_buff);
|
|
||||||
} else if (currentIntergratorIndex != integratorIndex) {
|
} else if (currentIntergratorIndex != integratorIndex) {
|
||||||
currentIntergratorIndex = integratorIndex;
|
currentIntergratorIndex = integratorIndex;
|
||||||
tx_buff[0] = SET_INTEGRATOR_CMD + integratorIndex;
|
sendCommand(IS_SENDING_SPI_COMMAND, SET_INTEGRATOR_CMD + integratorIndex);
|
||||||
|
|
||||||
state = IS_SENDING_SPI_COMMAND;
|
|
||||||
spiSelectI(driver);
|
|
||||||
spiStartExchangeI(driver, 1, tx_buff, rx_buff);
|
|
||||||
} else if (currentBandIndex != bandIndex) {
|
} else if (currentBandIndex != bandIndex) {
|
||||||
currentBandIndex = bandIndex;
|
currentBandIndex = bandIndex;
|
||||||
tx_buff[0] = SET_BAND_PASS_CMD + bandIndex;
|
sendCommand(IS_SENDING_SPI_COMMAND, SET_BAND_PASS_CMD + bandIndex);
|
||||||
|
|
||||||
state = IS_SENDING_SPI_COMMAND;
|
|
||||||
spiSelectI(driver);
|
|
||||||
spiStartExchangeI(driver, 1, tx_buff, rx_buff);
|
|
||||||
} else if (currentPrescaler != prescalerIndex) {
|
} else if (currentPrescaler != prescalerIndex) {
|
||||||
currentPrescaler = prescalerIndex;
|
currentPrescaler = prescalerIndex;
|
||||||
tx_buff[0] = SET_PRESCALER_CMD + prescalerIndex;
|
sendCommand(IS_SENDING_SPI_COMMAND, SET_PRESCALER_CMD + prescalerIndex);
|
||||||
|
|
||||||
state = IS_SENDING_SPI_COMMAND;
|
|
||||||
spiSelectI(driver);
|
|
||||||
spiStartExchangeI(driver, 1, tx_buff, rx_buff);
|
|
||||||
} else {
|
} else {
|
||||||
state = READY_TO_INTEGRATE;
|
state = READY_TO_INTEGRATE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue