diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 09fa246546..54f0c6b96f 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -810,6 +810,6 @@ int getRusEfiVersion(void) { if (initBootloader() != 0) return 123; #endif /* EFI_BOOTLOADER_INCLUDE_CODE */ - return 20190412; + return 20190414; } #endif /* EFI_UNIT_TEST */ diff --git a/firmware/hw_layer/drivers/gpio/tle8888.c b/firmware/hw_layer/drivers/gpio/tle8888.c index 60ed1cb72e..74770a8475 100644 --- a/firmware/hw_layer/drivers/gpio/tle8888.c +++ b/firmware/hw_layer/drivers/gpio/tle8888.c @@ -448,6 +448,7 @@ int tle8888_init(void * data) chip->drv_state = TLE8888_READY; + /* one task for all TLE8888 instances, so create only once */ if (!drv_task_ready) { chThdCreateStatic(tle8888_thread_1_wa, sizeof(tle8888_thread_1_wa), NORMALPRIO + 1, tle8888_driver_thread, NULL); @@ -590,21 +591,8 @@ void initTle8888(DECLARE_ENGINE_PARAMETER_SIGNATURE) int chipBase = tle8888_add(0, &tle8888_cfg); efiAssertVoid(OBD_PCM_Processor_Fault, chipBase == TLE8888_PIN_1, "tle8888"); - - /* Initial idea of gpiochips: - * _add function should be called early on board init. - * _init firnction called later from gpiochips_init() after initial gpios init.... - * BUT - * we want everything to be configurable, this initTle8888 is called after gpiochips_init() - * so we need manually call _init - * HOPE THIS WILL NOT BREAK ANYTHING - */ -#if (BOARD_TLE8888_COUNT > 0) - /* thisisahack */ - tle8888_init(&chips[0]); -#endif } /*********TO BE REMOVED FROM THIS FILE ENDS***********/ -#endif /* (BOARD_TLE6240_COUNT > 0) */ +#endif /* (BOARD_TLE8888_COUNT > 0) */ diff --git a/firmware/hw_layer/drivers/gpio/tle8888.h b/firmware/hw_layer/drivers/gpio/tle8888.h index cc2ace2fd6..9050fee302 100644 --- a/firmware/hw_layer/drivers/gpio/tle8888.h +++ b/firmware/hw_layer/drivers/gpio/tle8888.h @@ -13,6 +13,7 @@ #include #include "efifeatures.h" +// todo: did we forget some outputs? should it be 28? #define TLE8888_OUTPUTS 24 /* 4 misc channels */ #define TLE8888_DIRECT_MISC 4