diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index 19c7d85d49..a5c16c0fd4 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -339,7 +339,7 @@ static void lcdThread(void) { chRegSetThreadName("lcd"); while (true) { #if EFI_HD44780_LCD - updateHD44780lcd(); + updateHD44780lcd(&engine); #endif chThdSleepMilliseconds(boardConfiguration->lcdThreadPeriod); } diff --git a/firmware/controllers/lcd_controller.cpp b/firmware/controllers/lcd_controller.cpp index f6e81c9480..28516172be 100644 --- a/firmware/controllers/lcd_controller.cpp +++ b/firmware/controllers/lcd_controller.cpp @@ -40,8 +40,8 @@ static char * prepareVBattMapLine(char *buffer) { return ptr; } -static char * prepareCltIatTpsLine(char *buffer) { - engine_configuration2_s *engineConfiguration2 = engine.engineConfiguration2; +static char * prepareCltIatTpsLine(Engine *engine, char *buffer) { + engine_configuration2_s *engineConfiguration2 = engine->engineConfiguration2; char *ptr = buffer; *ptr++ = 'C'; ptr = ftoa(ptr, getCoolantTemperature(engineConfiguration2), 10.0f); @@ -50,7 +50,7 @@ static char * prepareCltIatTpsLine(char *buffer) { ptr = ftoa(ptr, getIntakeAirTemperature(engineConfiguration2), 10.0f); ptr = appendStr(ptr, " TP"); - ptr = itoa10(ptr, (int) getTPS(engine.engineConfiguration)); + ptr = itoa10(ptr, (int) getTPS(engine->engineConfiguration)); return ptr; } @@ -116,12 +116,12 @@ static char * prepareStatusLine(char *buffer) { static char buffer[LCD_WIDTH + 4]; static char dateBuffer[30]; -static void prepareCurrentSecondLine(int index) { +static void prepareCurrentSecondLine(Engine *engine, int index) { memset(buffer, ' ', LCD_WIDTH); char *ptr; switch (index) { case 0: - ptr = prepareCltIatTpsLine(buffer); + ptr = prepareCltIatTpsLine(engine, buffer); break; case 1: ptr = prepareInfoLine(buffer); @@ -139,7 +139,7 @@ static void prepareCurrentSecondLine(int index) { *ptr = ' '; } -void updateHD44780lcd(void) { +void updateHD44780lcd(Engine *engine) { lcd_HD44780_set_position(0, 9); /** @@ -152,7 +152,7 @@ void updateHD44780lcd(void) { } lcd_HD44780_set_position(0, 10); - char * ptr = itoa10(buffer, getRpm()); + char * ptr = itoa10(buffer, getRpmE(engine)); ptr[0] = 0; int len = ptr - buffer; for (int i = 0; i < 6 - len; i++) { @@ -180,12 +180,12 @@ void updateHD44780lcd(void) { int index = (getTimeNowSeconds() / 2) % (NUMBER_OF_DIFFERENT_LINES / 2); - prepareCurrentSecondLine(index); + prepareCurrentSecondLine(engine, index); buffer[LCD_WIDTH] = 0; lcd_HD44780_set_position(2, 0); lcd_HD44780_print_string(buffer); - prepareCurrentSecondLine(index + NUMBER_OF_DIFFERENT_LINES / 2); + prepareCurrentSecondLine(engine, index + NUMBER_OF_DIFFERENT_LINES / 2); buffer[LCD_WIDTH] = 0; lcd_HD44780_set_position(3, 0); lcd_HD44780_print_string(buffer); diff --git a/firmware/controllers/lcd_controller.h b/firmware/controllers/lcd_controller.h index cee3d9c48a..09f0080c36 100644 --- a/firmware/controllers/lcd_controller.h +++ b/firmware/controllers/lcd_controller.h @@ -8,6 +8,8 @@ #ifndef LCD_CONTROLLER_H_ #define LCD_CONTROLLER_H_ -void updateHD44780lcd(void); +#include "engine.h" + +void updateHD44780lcd(Engine *engine); #endif /* LCD_CONTROLLER_H_ */ diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 0166fef58b..23cf7c392a 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -241,5 +241,5 @@ void firmwareError(const char *fmt, ...) { } int getRusEfiVersion(void) { - return 20141017; + return 20141020; }