From 35e075098d529c7225aa7ebf629b51aab7502bd3 Mon Sep 17 00:00:00 2001 From: mikeller Date: Mon, 22 Jul 2019 00:46:59 +1200 Subject: [PATCH] Renamed things to make them more understandable. --- src/link/stm32_flash_f7_split.ld | 6 ++---- src/link/stm32_flash_split.ld | 6 ++---- src/main/cli/cli.c | 32 +++++++++++++++-------------- src/main/target/KISSFCV2F7/target.h | 2 ++ src/main/target/common_post.h | 4 ++++ src/main/target/common_pre.h | 2 ++ 6 files changed, 29 insertions(+), 23 deletions(-) diff --git a/src/link/stm32_flash_f7_split.ld b/src/link/stm32_flash_f7_split.ld index 5e205f7ef9..8693c50ed5 100644 --- a/src/link/stm32_flash_f7_split.ld +++ b/src/link/stm32_flash_f7_split.ld @@ -106,13 +106,11 @@ SECTIONS KEEP (*(.custom_defaults_address)) . = ALIGN(4); __custom_defaults_internal_start = .; - KEEP (*(.custom_defaults)); - . = ORIGIN(FLASH_CUSTOM_DEFAULTS) + LENGTH(FLASH_CUSTOM_DEFAULTS); - __custom_defaults_internal_end = .; + *(.custom_defaults); } >FLASH_CUSTOM_DEFAULTS PROVIDE_HIDDEN (__custom_defaults_start = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? ORIGIN(FLASH_CUSTOM_DEFAULTS_EXTENDED) : __custom_defaults_internal_start); - PROVIDE_HIDDEN (__custom_defaults_end = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? ORIGIN(FLASH_CUSTOM_DEFAULTS_EXTENDED) + LENGTH(FLASH_CUSTOM_DEFAULTS_EXTENDED) : __custom_defaults_internal_end); + PROVIDE_HIDDEN (__custom_defaults_end = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? ORIGIN(FLASH_CUSTOM_DEFAULTS_EXTENDED) + LENGTH(FLASH_CUSTOM_DEFAULTS_EXTENDED) : ORIGIN(FLASH_CUSTOM_DEFAULTS) + LENGTH(FLASH_CUSTOM_DEFAULTS)); /* used by the startup to initialize data */ _sidata = LOADADDR(.data); diff --git a/src/link/stm32_flash_split.ld b/src/link/stm32_flash_split.ld index 5d71ef3b7f..54221b9548 100644 --- a/src/link/stm32_flash_split.ld +++ b/src/link/stm32_flash_split.ld @@ -123,13 +123,11 @@ SECTIONS KEEP (*(.custom_defaults_address)) . = ALIGN(4); __custom_defaults_internal_start = .; - KEEP (*(.custom_defaults)); - . = ORIGIN(FLASH_CUSTOM_DEFAULTS) + LENGTH(FLASH_CUSTOM_DEFAULTS); - __custom_defaults_internal_end = .; + *(.custom_defaults); } >FLASH_CUSTOM_DEFAULTS PROVIDE_HIDDEN (__custom_defaults_start = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? ORIGIN(FLASH_CUSTOM_DEFAULTS_EXTENDED) : __custom_defaults_internal_start); - PROVIDE_HIDDEN (__custom_defaults_end = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? ORIGIN(FLASH_CUSTOM_DEFAULTS_EXTENDED) + LENGTH(FLASH_CUSTOM_DEFAULTS_EXTENDED) : __custom_defaults_internal_end); + PROVIDE_HIDDEN (__custom_defaults_end = DEFINED(USE_CUSTOM_DEFAULTS_EXTENDED) ? ORIGIN(FLASH_CUSTOM_DEFAULTS_EXTENDED) + LENGTH(FLASH_CUSTOM_DEFAULTS_EXTENDED) : ORIGIN(FLASH_CUSTOM_DEFAULTS) + LENGTH(FLASH_CUSTOM_DEFAULTS)); /* used by the startup to initialize data */ _sidata = LOADADDR(.data); diff --git a/src/main/cli/cli.c b/src/main/cli/cli.c index ecf4c9416b..7a797a9d7e 100644 --- a/src/main/cli/cli.c +++ b/src/main/cli/cli.c @@ -225,8 +225,10 @@ static bool processingCustomDefaults = false; static char cliBufferTemp[CLI_IN_BUFFER_SIZE]; #endif +#if defined(USE_CUSTOM_DEFAULTS_ADDRESS) static char __attribute__ ((section(".custom_defaults_address"))) *customDefaultsStart = CUSTOM_DEFAULTS_START; static char __attribute__ ((section(".custom_defaults_address"))) *customDefaultsEnd = CUSTOM_DEFAULTS_END; +#endif #ifndef USE_QUAD_MIXER_ONLY // sync this with mixerMode_e @@ -4186,7 +4188,7 @@ static void cliDefaults(char *cmdline) bool saveConfigs = true; #if defined(USE_CUSTOM_DEFAULTS) bool useCustomDefaults = true; -#else +#elif defined(USE_CUSTOM_DEFAULTS_ADDRESS) // Required to keep the linker from eliminating these if (customDefaultsStart != customDefaultsEnd) { delay(0); @@ -4200,14 +4202,14 @@ static void cliDefaults(char *cmdline) } else if (strncasecmp(cmdline, "bare", 4) == 0) { useCustomDefaults = false; } else if (strncasecmp(cmdline, "show", 4) == 0) { - char *ptr = customDefaultsStart; - if (isDefaults(ptr)) { - while (*ptr && ptr < customDefaultsEnd) { - if (*ptr != '\n') { - cliPrintf("%c", *ptr++); + char *customDefaultsPtr = customDefaultsStart; + if (isDefaults(customDefaultsPtr)) { + while (*customDefaultsPtr && *customDefaultsPtr != 0xFF && customDefaultsPtr < customDefaultsEnd) { + if (*customDefaultsPtr != '\n') { + cliPrintf("%c", *customDefaultsPtr++); } else { cliPrintLinefeed(); - ptr++; + customDefaultsPtr++; } } } else { @@ -6316,7 +6318,7 @@ static void cliHelp(char *cmdline) } } -static void processCommandCharacter(const char c) +static void processCharacter(const char c) { if (bufferIndex && (c == '\n' || c == '\r')) { // enter pressed @@ -6375,7 +6377,7 @@ static void processCommandCharacter(const char c) } } -static void processCharacter(const char c) +static void processCharacterInteractive(const char c) { if (c == '\t' || c == '?') { // do tab completion @@ -6429,7 +6431,7 @@ static void processCharacter(const char c) cliPrint("\010 \010"); } } else { - processCommandCharacter(c); + processCharacter(c); } } @@ -6445,7 +6447,7 @@ void cliProcess(void) while (serialRxBytesWaiting(cliPort)) { uint8_t c = serialRead(cliPort); - processCharacter(c); + processCharacterInteractive(c); } } @@ -6456,8 +6458,8 @@ void cliProcessCustomDefaults(void) return; } - char *ptr = customDefaultsStart; - if (isDefaults(ptr)) { + char *customDefaultsPtr = customDefaultsStart; + if (isDefaults(customDefaultsPtr)) { #if !defined(DEBUG_CUSTOM_DEFAULTS) bufWriter_t *cliWriterTemp = cliWriter; cliWriter = NULL; @@ -6467,8 +6469,8 @@ void cliProcessCustomDefaults(void) bufferIndex = 0; processingCustomDefaults = true; - while (*ptr && *ptr != 0xFF && ptr < customDefaultsEnd) { - processCommandCharacter(*ptr++); + while (*customDefaultsPtr && *customDefaultsPtr != 0xFF && customDefaultsPtr < customDefaultsEnd) { + processCharacter(*customDefaultsPtr++); } processingCustomDefaults = false; diff --git a/src/main/target/KISSFCV2F7/target.h b/src/main/target/KISSFCV2F7/target.h index 8bb1f72221..3c375b546c 100644 --- a/src/main/target/KISSFCV2F7/target.h +++ b/src/main/target/KISSFCV2F7/target.h @@ -26,6 +26,8 @@ #define USBD_PRODUCT_STRING "KISSFCV2F7" +#undef USE_CUSTOM_DEFAULTS_ADDRESS + #define LED0_PIN PA8 // blue #define LED1_PIN PC8 // blingbling #define LED1_INVERTED diff --git a/src/main/target/common_post.h b/src/main/target/common_post.h index e969155365..119dae4475 100644 --- a/src/main/target/common_post.h +++ b/src/main/target/common_post.h @@ -372,3 +372,7 @@ extern uint8_t __config_end; #ifndef USE_ITERM_RELAX #undef USE_ABSOLUTE_CONTROL #endif + +#if defined(USE_CUSTOM_DEFAULTS) +#define USE_CUSTOM_DEFAULTS_ADDRESS +#endif diff --git a/src/main/target/common_pre.h b/src/main/target/common_pre.h index d613565a14..e3fb6c0fdb 100644 --- a/src/main/target/common_pre.h +++ b/src/main/target/common_pre.h @@ -67,6 +67,7 @@ #define USE_DMA_SPEC #define USE_TIMER_MGMT #define USE_PERSISTENT_OBJECTS +#define USE_CUSTOM_DEFAULTS_ADDRESS // Re-enable this after 4.0 has been released, and remove the define from STM32F4DISCOVERY //#define USE_SPI_TRANSACTION @@ -97,6 +98,7 @@ #define USE_DMA_SPEC #define USE_TIMER_MGMT #define USE_PERSISTENT_OBJECTS +#define USE_CUSTOM_DEFAULTS_ADDRESS // Re-enable this after 4.0 has been released, and remove the define from STM32F4DISCOVERY //#define USE_SPI_TRANSACTION #endif // STM32F7