Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void hipAdcCallback(adcsample_t value) {
- if (state == WAITING_FOR_ADC_TO_SKIP) {
- state = WAITING_FOR_RESULT_ADC;
- } else if (state == WAITING_FOR_RESULT_ADC) {
- if (adcToVoltsDivided(value) > engineConfiguration->hipThreshold) {
- totalKnockEventsCount++;
- timeOfLastKnockEvent = getTimeNowUs();
- }
- int integratorIndex = getIntegrationIndexByRpm(engine->rpmCalculator.rpmValue);
- int gainIndex = getHip9011GainIndex(boardConfiguration->hip9011Gain);
- int bandIndex = getBandIndex();
- int prescalerIndex = engineConfiguration->hip9011PrescalerAndSDO;
- if (currentGainIndex != gainIndex) {
- currentGainIndex = gainIndex;
- //added CMD bits
- tx_buff[0] = SET_GAIN_CMD + gainIndex;
- state = IS_SENDING_SPI_COMMAND;
- spiSelectI(driver);
- spiStartExchangeI(driver, 1, tx_buff, rx_buff);
- } else if (currentIntergratorIndex != integratorIndex) {
- currentIntergratorIndex = integratorIndex;
- //added CMD bits
- tx_buff[0] = SET_INTEGRATOR_CMD + integratorIndex;
- state = IS_SENDING_SPI_COMMAND;
- spiSelectI(driver);
- spiStartExchangeI(driver, 1, tx_buff, rx_buff);
- } else if (currentBandIndex != bandIndex) {
- currentBandIndex = bandIndex;
- //added CMD bits
- tx_buff[0] = SET_BAND_PASS_CMD + bandIndex;
- state = IS_SENDING_SPI_COMMAND;
- spiSelectI(driver);
- spiStartExchangeI(driver, 1, tx_buff, rx_buff);
- } else if (currentPrescaler != prescalerIndex) {
- currentPrescaler = prescalerIndex;
- tx_buff[0] = SET_PRESCALER_CMD + prescalerIndex;
- state = IS_SENDING_SPI_COMMAND;
- spiSelectI(driver);
- spiStartExchangeI(driver, 1, tx_buff, rx_buff);
- } else {
- state = READY_TO_INTEGRATE;
- }
- }
- }
- static void setPrescalerAndSDO(int value) {
- engineConfiguration->hip9011PrescalerAndSDO = value;
- //this can be changed real time
- //scheduleMsg(logger, "Reboot to apply %d", value);
- showHipInfo();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement