mirror of https://github.com/rusefi/rusefi-1.git
parent
7cbaca863c
commit
0b3ef5f553
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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");
|
||||||
|
|
|
@ -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])) {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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));
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Reference in New Issue