verboseTLE8888
This commit is contained in:
parent
877d140ffc
commit
8c38bd5ad1
|
@ -887,6 +887,8 @@ static void enableOrDisable(const char *param, bool isEnabled) {
|
||||||
engine->hwTriggerInputEnabled = isEnabled;
|
engine->hwTriggerInputEnabled = isEnabled;
|
||||||
} else if (strEqualCaseInsensitive(param, "useTLE8888_cranking_hack")) {
|
} else if (strEqualCaseInsensitive(param, "useTLE8888_cranking_hack")) {
|
||||||
CONFIG(useTLE8888_cranking_hack) = isEnabled;
|
CONFIG(useTLE8888_cranking_hack) = isEnabled;
|
||||||
|
} else if (strEqualCaseInsensitive(param, "verboseTLE8888")) {
|
||||||
|
CONFIG(verboseTLE8888) = isEnabled;
|
||||||
} else if (strEqualCaseInsensitive(param, "etb_auto")) {
|
} else if (strEqualCaseInsensitive(param, "etb_auto")) {
|
||||||
engine->etbAutoTune = isEnabled;
|
engine->etbAutoTune = isEnabled;
|
||||||
} else if (strEqualCaseInsensitive(param, "cranking_constant_dwell")) {
|
} else if (strEqualCaseInsensitive(param, "cranking_constant_dwell")) {
|
||||||
|
|
|
@ -35,11 +35,14 @@
|
||||||
|
|
||||||
#if (BOARD_TLE8888_COUNT > 0)
|
#if (BOARD_TLE8888_COUNT > 0)
|
||||||
|
|
||||||
|
#include "persistent_configuration.h"
|
||||||
#include "hardware.h"
|
#include "hardware.h"
|
||||||
#include "gpio/gpio_ext.h"
|
#include "gpio/gpio_ext.h"
|
||||||
#include "pin_repository.h"
|
#include "pin_repository.h"
|
||||||
#include "os_util.h"
|
#include "os_util.h"
|
||||||
|
|
||||||
|
EXTERN_ENGINE_CONFIGURATION;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO list:
|
* TODO list:
|
||||||
*/
|
*/
|
||||||
|
@ -167,12 +170,16 @@ static uint16_t wdDiagResponse = 0;
|
||||||
static bool needInitialSpi = true;
|
static bool needInitialSpi = true;
|
||||||
static bool isWatchdogHappy = false;
|
static bool isWatchdogHappy = false;
|
||||||
static bool wasWatchdogHappy = false;
|
static bool wasWatchdogHappy = false;
|
||||||
int resetCounter = 0;
|
|
||||||
|
static int selfResetCounter = 0;
|
||||||
|
static int lowVoltageResetCounter = 0;
|
||||||
|
static int requestedResetCounter = 0;
|
||||||
|
int tle8888reinitializationCounter = 0;
|
||||||
|
|
||||||
float vBattForTle8888 = 0;
|
float vBattForTle8888 = 0;
|
||||||
|
|
||||||
// set debug_mode 31
|
// set debug_mode 31
|
||||||
static int tle8888SpiCounter = 0;
|
static int tle8888SpiCounter = 0;
|
||||||
int tle8888reinitializationCounter = 0;
|
|
||||||
// that's a strange variable for troubleshooting
|
// that's a strange variable for troubleshooting
|
||||||
int tle8888initResponsesAccumulator = 0;
|
int tle8888initResponsesAccumulator = 0;
|
||||||
static int initResponse0 = 0;
|
static int initResponse0 = 0;
|
||||||
|
@ -215,6 +222,7 @@ static const char* tle8888_pin_names[TLE8888_OUTPUTS] = {
|
||||||
#define getTotalErrorCounter() ((TotalErrorCounterValue >> 8) & 0x3f)
|
#define getTotalErrorCounter() ((TotalErrorCounterValue >> 8) & 0x3f)
|
||||||
|
|
||||||
#if EFI_TUNER_STUDIO
|
#if EFI_TUNER_STUDIO
|
||||||
|
// set debug_mode 31
|
||||||
void tle8888PostState(TsDebugChannels *debugChannels) {
|
void tle8888PostState(TsDebugChannels *debugChannels) {
|
||||||
|
|
||||||
debugChannels->debugIntField1 = getWindowWatchdog();
|
debugChannels->debugIntField1 = getWindowWatchdog();
|
||||||
|
@ -229,7 +237,7 @@ void tle8888PostState(TsDebugChannels *debugChannels) {
|
||||||
debugChannels->debugFloatField2 = initResponse1;
|
debugChannels->debugFloatField2 = initResponse1;
|
||||||
|
|
||||||
debugChannels->debugFloatField3 = chips[0].OpStat[1];
|
debugChannels->debugFloatField3 = chips[0].OpStat[1];
|
||||||
debugChannels->debugFloatField4 = resetCounter;
|
debugChannels->debugFloatField4 = selfResetCounter * 1000000 + requestedResetCounter * 10000 + lowVoltageResetCounter;
|
||||||
debugChannels->debugFloatField5 = functionWDrx;
|
debugChannels->debugFloatField5 = functionWDrx;
|
||||||
debugChannels->debugFloatField6 = wdDiagResponse;
|
debugChannels->debugFloatField6 = wdDiagResponse;
|
||||||
}
|
}
|
||||||
|
@ -567,7 +575,10 @@ static THD_FUNCTION(tle8888_driver_thread, p) {
|
||||||
|
|
||||||
if (vBattForTle8888 < 7) {
|
if (vBattForTle8888 < 7) {
|
||||||
// we assume TLE8888 is down and we should not bother with SPI communication
|
// we assume TLE8888 is down and we should not bother with SPI communication
|
||||||
|
if (!needInitialSpi) {
|
||||||
needInitialSpi = true;
|
needInitialSpi = true;
|
||||||
|
lowVoltageResetCounter++;
|
||||||
|
}
|
||||||
continue; // we should not bother communicating with TLE8888 until we have +12
|
continue; // we should not bother communicating with TLE8888 until we have +12
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -603,7 +614,7 @@ static THD_FUNCTION(tle8888_driver_thread, p) {
|
||||||
/* if bit OE is cleared - reset happened */
|
/* if bit OE is cleared - reset happened */
|
||||||
if (!(chip->OpStat[1] & (1 << 6))) {
|
if (!(chip->OpStat[1] & (1 << 6))) {
|
||||||
needInitialSpi = true;
|
needInitialSpi = true;
|
||||||
resetCounter++;
|
selfResetCounter++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -611,6 +622,7 @@ static THD_FUNCTION(tle8888_driver_thread, p) {
|
||||||
|
|
||||||
void requestTLE8888initialization(void) {
|
void requestTLE8888initialization(void) {
|
||||||
needInitialSpi = true;
|
needInitialSpi = true;
|
||||||
|
requestedResetCounter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*==========================================================================*/
|
/*==========================================================================*/
|
||||||
|
@ -681,7 +693,9 @@ int tle8888SpiStartupExchange(struct tle8888_priv *chip) {
|
||||||
startupConfiguration(chip);
|
startupConfiguration(chip);
|
||||||
|
|
||||||
|
|
||||||
|
if (CONFIG(verboseTLE8888)) {
|
||||||
tle8888_dump_regs();
|
tle8888_dump_regs();
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue