enum class-ify

This commit is contained in:
Matthew Kennedy 2024-02-06 14:04:34 -05:00 committed by rusefillc
parent 08019344ba
commit 69bef3ab92
4 changed files with 14 additions and 14 deletions

View File

@ -71,13 +71,13 @@ void PrimeController::onIgnitionStateChanged(bool ignitionOn) {
void PrimeController::setKeyCycleCounter(uint32_t count) {
#if EFI_BACKUP_SRAM
backupRamSave(BACKUP_IGNITION_SWITCH_COUNTER, count);
backupRamSave(backup_ram_e::IgnCounter, count);
#endif // EFI_BACKUP_SRAM
}
uint32_t PrimeController::getKeyCycleCounter() const {
#if EFI_BACKUP_SRAM
return backupRamLoad(BACKUP_IGNITION_SWITCH_COUNTER);
return backupRamLoad(backup_ram_e::IgnCounter);
#else // not EFI_BACKUP_SRAM
return 0;
#endif // EFI_BACKUP_SRAM
@ -111,7 +111,7 @@ void PrimeController::onPrimeEnd() {
void PrimeController::onSlowCallback() {
if (!getEngineRotationState()->isStopped()) {
#if EFI_BACKUP_SRAM
backupRamSave(BACKUP_IGNITION_SWITCH_COUNTER, 0);
backupRamSave(backup_ram_e::IgnCounter, 0);
#endif /* EFI_BACKUP_SRAM */
}
}

View File

@ -11,12 +11,12 @@
#include "error_handling.h"
typedef enum {
enum class backup_ram_e {
/**
* IAC Stepper motor position, 16-bit (stored in BKP0R 0..15)
* Used in stepper.cpp
*/
BACKUP_STEPPER_POS,
StepperPosition,
/**
* Ignition switch counter, 8-bit (stored in BKP0R 16..23)
* The counter stores the number of times the ignition switch is turned on. Used for prime injection pulse.
@ -24,11 +24,11 @@ typedef enum {
* So we check and update the ignition switch counter in non-volatile backup-RAM.
* See startPrimeInjectionPulse() in controllers/trigger/main_trigger_callback.cpp
*/
BACKUP_IGNITION_SWITCH_COUNTER,
IgnCounter,
/* The number of stored backup variables */
BACKUP_RAM_NUM,
} backup_ram_e;
};
// load data from backup-power RTC registers (non-volatile memory)

View File

@ -9,9 +9,9 @@
uint32_t backupRamLoad(backup_ram_e idx) {
#if HAL_USE_RTC
switch (idx) {
case BACKUP_STEPPER_POS:
case backup_ram_e::StepperPosition:
return RTCD1.rtc->BKP0R & 0xffff;
case BACKUP_IGNITION_SWITCH_COUNTER:
case backup_ram_e::IgnCounter:
return (RTCD1.rtc->BKP0R >> 16) & 0xff;
default:
criticalError("Invalid backup ram idx %d", idx);
@ -25,10 +25,10 @@ uint32_t backupRamLoad(backup_ram_e idx) {
void backupRamSave(backup_ram_e idx, uint32_t value) {
#if HAL_USE_RTC
switch (idx) {
case BACKUP_STEPPER_POS:
case backup_ram_e::StepperPosition:
RTCD1.rtc->BKP0R = (RTCD1.rtc->BKP0R & ~0x0000ffff) | (value & 0xffff);
break;
case BACKUP_IGNITION_SWITCH_COUNTER:
case backup_ram_e::IgnCounter:
RTCD1.rtc->BKP0R = (RTCD1.rtc->BKP0R & ~0x00ff0000) | ((value & 0xff) << 16);
break;
default:

View File

@ -35,14 +35,14 @@ void StepperMotorBase::initialize(StepperHw *hardware, int totalSteps) {
void StepperMotorBase::saveStepperPos(int pos) {
// use backup-power RTC registers to store the data
#if EFI_PROD_CODE && EFI_BACKUP_SRAM
backupRamSave(BACKUP_STEPPER_POS, pos + 1);
backupRamSave(backup_ram_e::StepperPosition, pos + 1);
#endif
postCurrentPosition();
}
int StepperMotorBase::loadStepperPos() {
#if EFI_PROD_CODE && EFI_BACKUP_SRAM
return (int)backupRamLoad(BACKUP_STEPPER_POS) - 1;
return (int)backupRamLoad(backup_ram_e::StepperPosition) - 1;
#else
return 0;
#endif
@ -90,7 +90,7 @@ void StepperMotorBase::setInitialPosition(void) {
efiPrintf("Stepper: starting parking...");
// reset saved value
saveStepperPos(-1);
/**
* let's park the motor in a known position to begin with
*