From 6a45f889f706b7490e2b5bd39ad5b3b79a98b499 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sun, 15 May 2022 15:31:35 -0400 Subject: [PATCH] reduce flash footprint by smarter code generation #4163 --- firmware/controllers/lua/value_lookup.h | 18 ++++++++++++++++++ firmware/controllers/settings.cpp | 21 +++------------------ 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/firmware/controllers/lua/value_lookup.h b/firmware/controllers/lua/value_lookup.h index 08b95d85e8..0b50cd3ca5 100644 --- a/firmware/controllers/lua/value_lookup.h +++ b/firmware/controllers/lua/value_lookup.h @@ -6,6 +6,24 @@ */ #pragma once + +struct plain_get_integer_s { + const char *token; + int *value; +}; + +struct plain_get_short_s { + const char *token; + uint16_t *value; +}; + +struct plain_get_float_s { + const char *token; + float *value; +}; + +plain_get_float_s * findFloat(const char *name); + float getConfigValueByName(const char *name); void setConfigValueByName(const char *name, float value); float getOutputValueByName(const char *name); diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 53d297496f..f021692c4b 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -16,6 +16,7 @@ #include "idle_thread.h" #include "alternator_controller.h" #include "trigger_emulator_algo.h" +#include "value_lookup.h" #if EFI_PROD_CODE #include "rtc_helper.h" @@ -840,29 +841,13 @@ static void printAllInfo() { #endif } -struct plain_get_integer_s { - const char *token; - int *value; -}; - -struct plain_get_short_s { - const char *token; - uint16_t *value; -}; - -struct plain_get_float_s { - const char *token; - float *value; -}; - - #if ! EFI_UNIT_TEST const plain_get_short_s getS_plain[] = { {"idle_pid_min", (uint16_t *)&engineConfiguration->idleRpmPid.minValue}, {"idle_pid_max", (uint16_t *)&engineConfiguration->idleRpmPid.maxValue}, }; -const plain_get_integer_s getI_plain[] = { +static plain_get_integer_s getI_plain[] = { // {"cranking_rpm", &engineConfiguration->cranking.rpm}, // {"cranking_injection_mode", setCrankingInjectionMode}, // {"injection_mode", setInjectionMode}, @@ -891,7 +876,7 @@ const plain_get_integer_s getI_plain[] = { // {"idle_rpm", setTargetIdleRpm}, }; -const plain_get_float_s getF_plain[] = { +static plain_get_float_s getF_plain[] = { {"adcVcc", &engineConfiguration->adcVcc}, {"cranking_dwell", &engineConfiguration->ignitionDwellForCrankingMs}, {"idle_position", &engineConfiguration->manIdlePosition},