Revert "memory savings (#3195)"

This reverts commit 52a24ee7
This commit is contained in:
rusefillc 2021-08-27 02:32:31 -04:00
parent 7cbaca863c
commit 0b3ef5f553
10 changed files with 29 additions and 22 deletions

View File

@ -147,11 +147,11 @@
#define EFI_POTENTIOMETER FALSE #define EFI_POTENTIOMETER FALSE
#ifndef BOARD_TLE6240_COUNT #ifndef BOARD_TLE6240_COUNT
#define BOARD_TLE6240_COUNT 0 #define BOARD_TLE6240_COUNT 1
#endif #endif
#ifndef BOARD_MC33972_COUNT #ifndef BOARD_MC33972_COUNT
#define BOARD_MC33972_COUNT 0 #define BOARD_MC33972_COUNT 1
#endif #endif
#ifndef BOARD_TLE8888_COUNT #ifndef BOARD_TLE8888_COUNT

View File

@ -584,7 +584,7 @@ void handleQueryCommand(TsChannelBase* tsChannel, ts_response_format_e mode) {
*/ */
static void handleTestCommand(TsChannelBase* tsChannel) { static void handleTestCommand(TsChannelBase* tsChannel) {
tsState.testCommandCounter++; tsState.testCommandCounter++;
char testOutputBuffer[64]; static char testOutputBuffer[64];
/** /**
* this is NOT a standard TunerStudio command, this is my own * this is NOT a standard TunerStudio command, this is my own
* extension of the protocol to simplify troubleshooting * extension of the protocol to simplify troubleshooting
@ -611,7 +611,7 @@ static void handleTestCommand(TsChannelBase* tsChannel) {
extern CommandHandler console_line_callback; extern CommandHandler console_line_callback;
static void handleGetVersion(TsChannelBase* tsChannel) { static void handleGetVersion(TsChannelBase* tsChannel) {
char versionBuffer[32]; static char versionBuffer[32];
chsnprintf(versionBuffer, sizeof(versionBuffer), "rusEFI v%d@%s", getRusEfiVersion(), VCS_VERSION); chsnprintf(versionBuffer, sizeof(versionBuffer), "rusEFI v%d@%s", getRusEfiVersion(), VCS_VERSION);
tsChannel->sendResponse(TS_CRC, (const uint8_t *) versionBuffer, strlen(versionBuffer) + 1); tsChannel->sendResponse(TS_CRC, (const uint8_t *) versionBuffer, strlen(versionBuffer) + 1);
} }

View File

@ -17,9 +17,9 @@
#include "dc_motors.h" #include "dc_motors.h"
#if ! EFI_UNIT_TEST #if ! EFI_UNIT_TEST
#include "stepper.h" #include "stepper.h"
static StepDirectionStepper iacStepperHw CCM_OPTIONAL; static StepDirectionStepper iacStepperHw;
static DualHBridgeStepper iacHbridgeHw CCM_OPTIONAL; static DualHBridgeStepper iacHbridgeHw;
StepperMotor iacMotor CCM_OPTIONAL; StepperMotor iacMotor;
#endif /* EFI_UNIT_TEST */ #endif /* EFI_UNIT_TEST */
static SimplePwm idleSolenoidOpen("idle open"); static SimplePwm idleSolenoidOpen("idle open");

View File

@ -99,7 +99,7 @@ void VvtController::setOutput(expected<percent_t> outputValue) {
#if EFI_AUX_PID #if EFI_AUX_PID
static VvtController instances[CAM_INPUTS_COUNT] CCM_OPTIONAL; static VvtController instances[CAM_INPUTS_COUNT];
static void turnAuxPidOn(int index) { static void turnAuxPidOn(int index) {
if (!isBrainPinValid(engineConfiguration->auxPidPins[index])) { if (!isBrainPinValid(engineConfiguration->auxPidPins[index])) {

View File

@ -76,10 +76,10 @@ static LENameOrdinalPair leFuelRate(LE_METHOD_FUEL_FLOW_RATE, "fuel_flow");
#define UD_ELEMENT_POOL_SIZE 64 #define UD_ELEMENT_POOL_SIZE 64
static LEElement sysElements[SYS_ELEMENT_POOL_SIZE] CCM_OPTIONAL; static LEElement sysElements[SYS_ELEMENT_POOL_SIZE] CCM_OPTIONAL;
CCM_OPTIONAL LEElementPool sysPool(sysElements, SYS_ELEMENT_POOL_SIZE); LEElementPool sysPool(sysElements, SYS_ELEMENT_POOL_SIZE);
static LEElement userElements[UD_ELEMENT_POOL_SIZE] CCM_OPTIONAL; static LEElement userElements[UD_ELEMENT_POOL_SIZE] CCM_OPTIONAL;
CCM_OPTIONAL LEElementPool userPool(userElements, UD_ELEMENT_POOL_SIZE); LEElementPool userPool(userElements, UD_ELEMENT_POOL_SIZE);
class FsioPointers { class FsioPointers {
public: public:
@ -277,7 +277,7 @@ void onConfigurationChangeFsioCallback(engine_configuration_s *previousConfigura
#endif #endif
} }
static LECalculator calc CCM_OPTIONAL; static LECalculator calc;
static SimplePwm fsioPwm[FSIO_COMMAND_COUNT] CCM_OPTIONAL; static SimplePwm fsioPwm[FSIO_COMMAND_COUNT] CCM_OPTIONAL;

View File

@ -103,7 +103,7 @@ private:
} }
}; };
static MILController instance CCM_OPTIONAL; static MILController instance;
#if TEST_MIL_CODE #if TEST_MIL_CODE
static void testMil(void) { static void testMil(void) {

View File

@ -244,7 +244,7 @@ static void printMAPInfo(void) {
#endif // EFI_MAP_AVERAGING #endif // EFI_MAP_AVERAGING
adc_channel_e mapAdc = engineConfiguration->map.sensor.hwChannel; adc_channel_e mapAdc = engineConfiguration->map.sensor.hwChannel;
char pinNameBuffer[16]; static char pinNameBuffer[16];
efiPrintf("MAP %.2fv @%s", getVoltage("mapinfo", mapAdc PASS_ENGINE_PARAMETER_SUFFIX), efiPrintf("MAP %.2fv @%s", getVoltage("mapinfo", mapAdc PASS_ENGINE_PARAMETER_SUFFIX),
getPinNameByAdcChannel("map", mapAdc, pinNameBuffer)); getPinNameByAdcChannel("map", mapAdc, pinNameBuffer));

View File

@ -17,8 +17,8 @@
struct AdcSubscriptionEntry { struct AdcSubscriptionEntry {
FunctionalSensor *Sensor; FunctionalSensor *Sensor;
float VoltsPerAdcVolt; float VoltsPerAdcVolt;
Biquad Filter;
adc_channel_e Channel; adc_channel_e Channel;
Biquad Filter;
bool HasUpdated = false; bool HasUpdated = false;
}; };

View File

@ -41,6 +41,8 @@ static int timerRestartCounter = 0;
static const char * msg; static const char * msg;
static char buff[32];
static int timerFreezeCounter = 0; static int timerFreezeCounter = 0;
static int setHwTimerCounter = 0; static int setHwTimerCounter = 0;
static bool hwStarted = false; static bool hwStarted = false;
@ -108,7 +110,9 @@ class MicrosecondTimerWatchdogController : public PeriodicTimerController {
void PeriodicTask() override { void PeriodicTask() override {
efitick_t nowNt = getTimeNowNt(); efitick_t nowNt = getTimeNowNt();
if (nowNt >= lastSetTimerTimeNt + 2 * CORE_CLOCK) { if (nowNt >= lastSetTimerTimeNt + 2 * CORE_CLOCK) {
firmwareError(CUSTOM_ERR_SCHEDULING_ERROR, "no event %d", lastSetTimerTimeNt); strcpy(buff, "no_event");
itoa10(&buff[8], lastSetTimerTimeNt);
firmwareError(CUSTOM_ERR_SCHEDULING_ERROR, buff);
return; return;
} }

View File

@ -106,6 +106,7 @@ static void printError(const char *str, FRESULT f_error) {
} }
static FIL FDLogFile NO_CACHE; static FIL FDLogFile NO_CACHE;
static FIL FDCurrFile NO_CACHE;
// 10 because we want at least 4 character name // 10 because we want at least 4 character name
#define MIN_FILE_INDEX 10 #define MIN_FILE_INDEX 10
@ -131,8 +132,8 @@ static void sdStatistics(void) {
} }
static void incLogFileName(void) { static void incLogFileName(void) {
memset(&FDLogFile, 0, sizeof(FIL)); // clear the memory memset(&FDCurrFile, 0, sizeof(FIL)); // clear the memory
FRESULT err = f_open(&FDLogFile, LOG_INDEX_FILENAME, FA_READ); // This file has the index for next log file name FRESULT err = f_open(&FDCurrFile, LOG_INDEX_FILENAME, FA_READ); // This file has the index for next log file name
char data[_MAX_FILLER]; char data[_MAX_FILLER];
UINT result = 0; UINT result = 0;
@ -140,10 +141,10 @@ static void incLogFileName(void) {
logFileIndex = MIN_FILE_INDEX; logFileIndex = MIN_FILE_INDEX;
efiPrintf("%s: not found or error: %d", LOG_INDEX_FILENAME, err); efiPrintf("%s: not found or error: %d", LOG_INDEX_FILENAME, err);
} else { } else {
f_read(&FDLogFile, (void*)data, sizeof(data), &result); f_read(&FDCurrFile, (void*)data, sizeof(data), &result);
efiPrintf("Got content [%s] size %d", data, result); efiPrintf("Got content [%s] size %d", data, result);
f_close(&FDLogFile); f_close(&FDCurrFile);
if (result < 5) { if (result < 5) {
data[result] = 0; data[result] = 0;
logFileIndex = maxI(MIN_FILE_INDEX, atoi(data)); logFileIndex = maxI(MIN_FILE_INDEX, atoi(data));
@ -157,10 +158,10 @@ static void incLogFileName(void) {
} }
} }
err = f_open(&FDLogFile, LOG_INDEX_FILENAME, FA_OPEN_ALWAYS | FA_WRITE); err = f_open(&FDCurrFile, LOG_INDEX_FILENAME, FA_OPEN_ALWAYS | FA_WRITE);
itoa10(data, logFileIndex); itoa10(data, logFileIndex);
f_write(&FDLogFile, (void*)data, strlen(data), &result); f_write(&FDCurrFile, (void*)data, strlen(data), &result);
f_close(&FDLogFile); f_close(&FDCurrFile);
efiPrintf("Done %d", logFileIndex); efiPrintf("Done %d", logFileIndex);
} }
@ -401,6 +402,8 @@ static bool mountMmc() {
bool hasUsb = usbResult == MSG_OK; bool hasUsb = usbResult == MSG_OK;
msdObjectInit(&USBMSD1);
// If we have a device AND USB is connected, mount the card to USB, otherwise // If we have a device AND USB is connected, mount the card to USB, otherwise
// mount the null device and try to mount the filesystem ourselves // mount the null device and try to mount the filesystem ourselves
if (cardBlockDevice && hasUsb) { if (cardBlockDevice && hasUsb) {