auto-sync
This commit is contained in:
parent
f39894f592
commit
74a1c2d9fe
|
@ -109,8 +109,7 @@ void Engine::init() {
|
||||||
|
|
||||||
static bool stopPin(NamedOutputPin *output) {
|
static bool stopPin(NamedOutputPin *output) {
|
||||||
#if EFI_PROD_CODE || defined(__DOXYGEN__)
|
#if EFI_PROD_CODE || defined(__DOXYGEN__)
|
||||||
bool_t isInitialized = output->port != NULL;
|
if (output->isInitialized() && output->getLogicValue()) {
|
||||||
if (isInitialized && output->getLogicValue()) {
|
|
||||||
output->setValue(false);
|
output->setValue(false);
|
||||||
scheduleMsg(&logger, "turning off %s", output->name);
|
scheduleMsg(&logger, "turning off %s", output->name);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -237,7 +237,7 @@ static void setPinState(const char * msg, OutputPin *pin, LEElement *element, En
|
||||||
warning(OBD_PCM_Processor_Fault, "invalid expression for %s", msg);
|
warning(OBD_PCM_Processor_Fault, "invalid expression for %s", msg);
|
||||||
} else {
|
} else {
|
||||||
int value = calc.getValue2(element, engine);
|
int value = calc.getValue2(element, engine);
|
||||||
if (value != pin->getLogicValue()) {
|
if (pin->isInitialized() && value != pin->getLogicValue()) {
|
||||||
if (isRunningBenchTest())
|
if (isRunningBenchTest())
|
||||||
return; // let's not mess with bench testing
|
return; // let's not mess with bench testing
|
||||||
scheduleMsg(logger, "setPin %s %s", msg, value ? "on" : "off");
|
scheduleMsg(logger, "setPin %s %s", msg, value ? "on" : "off");
|
||||||
|
|
|
@ -35,6 +35,14 @@ OutputPin::OutputPin() {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool_t OutputPin::isInitialized() {
|
||||||
|
#if EFI_PROD_CODE || defined(__DOXYGEN__)
|
||||||
|
return port != NULL;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void OutputPin::setValue(int logicValue) {
|
void OutputPin::setValue(int logicValue) {
|
||||||
doSetOutputPinValue2(this, logicValue);
|
doSetOutputPinValue2(this, logicValue);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
class OutputPin {
|
class OutputPin {
|
||||||
public:
|
public:
|
||||||
OutputPin();
|
OutputPin();
|
||||||
|
bool_t isInitialized();
|
||||||
void setValue(int logicValue);
|
void setValue(int logicValue);
|
||||||
void setDefaultPinState(pin_output_mode_e *defaultState);
|
void setDefaultPinState(pin_output_mode_e *defaultState);
|
||||||
bool_t getLogicValue();
|
bool_t getLogicValue();
|
||||||
|
|
|
@ -47,12 +47,12 @@
|
||||||
static MemoryStream intermediateLoggingBuffer;
|
static MemoryStream intermediateLoggingBuffer;
|
||||||
static uint8_t intermediateLoggingBufferData[INTERMEDIATE_LOGGING_BUFFER_SIZE] CCM_OPTIONAL;
|
static uint8_t intermediateLoggingBufferData[INTERMEDIATE_LOGGING_BUFFER_SIZE] CCM_OPTIONAL;
|
||||||
//todo define max-printf-buffer
|
//todo define max-printf-buffer
|
||||||
static bool intermediateLoggingBufferInited = FALSE;
|
static bool_t intermediateLoggingBufferInited = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns true if data does not fit into this buffer
|
* @returns true if data does not fit into this buffer
|
||||||
*/
|
*/
|
||||||
static INLINE bool validateBuffer(Logging *logging, uint32_t extraLen) {
|
static INLINE bool_t validateBuffer(Logging *logging, uint32_t extraLen) {
|
||||||
if (logging->buffer == NULL) {
|
if (logging->buffer == NULL) {
|
||||||
firmwareError("Logging not initialized: %s", logging->name);
|
firmwareError("Logging not initialized: %s", logging->name);
|
||||||
return true;
|
return true;
|
||||||
|
@ -60,7 +60,7 @@ static INLINE bool validateBuffer(Logging *logging, uint32_t extraLen) {
|
||||||
|
|
||||||
if (remainingSize(logging) < extraLen + 1) {
|
if (remainingSize(logging) < extraLen + 1) {
|
||||||
#if EFI_PROD_CODE
|
#if EFI_PROD_CODE
|
||||||
warning(OBD_PCM_Processor_Fault, "buffer overflow %s", logging->name);
|
warning(OBD_PCM_Processor_Fault, "output overflow %s", logging->name);
|
||||||
#endif
|
#endif
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ static INLINE bool validateBuffer(Logging *logging, uint32_t extraLen) {
|
||||||
void append(Logging *logging, const char *text) {
|
void append(Logging *logging, const char *text) {
|
||||||
efiAssertVoid(text != NULL, "append NULL");
|
efiAssertVoid(text != NULL, "append NULL");
|
||||||
uint32_t extraLen = efiStrlen(text);
|
uint32_t extraLen = efiStrlen(text);
|
||||||
int isError = validateBuffer(logging, extraLen);
|
bool_t isError = validateBuffer(logging, extraLen);
|
||||||
if (isError) {
|
if (isError) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue