diff --git a/extra_scripts/extra_stm32.py b/extra_scripts/extra_stm32.py index 7448cef3d..f3bd8c514 100755 --- a/extra_scripts/extra_stm32.py +++ b/extra_scripts/extra_stm32.py @@ -1,3 +1,6 @@ +# trunk-ignore-all(ruff/F821) +# trunk-ignore-all(flake8/F821): For SConstruct imports + Import("env") # Custom HEX from ELF env.AddPostAction( diff --git a/src/platform/stm32wl/LittleFS.cpp b/src/platform/stm32wl/LittleFS.cpp index f09f626f6..40f32eca8 100644 --- a/src/platform/stm32wl/LittleFS.cpp +++ b/src/platform/stm32wl/LittleFS.cpp @@ -31,7 +31,7 @@ /** This macro is used to suppress compiler messages about a parameter not being used in a function. */ #define LFS_UNUSED(p) (void)((p)) -#define STM32WL_PAGE_SIZE (FLASH_PAGE_SIZE) +#define STM32WL_PAGE_SIZE (FLASH_PAGE_SIZE) #define STM32WL_PAGE_COUNT (FLASH_PAGE_NB) #define STM32WL_FLASH_BASE (FLASH_BASE) @@ -79,18 +79,16 @@ static int _internal_flash_prog(const struct lfs_config *c, lfs_block_t block, l lfs_block_t address = LFS_FLASH_ADDR_BASE + (block * STM32WL_PAGE_SIZE + off); HAL_StatusTypeDef hal_rc = HAL_OK; uint32_t dw_count = size / 8; - uint64_t *bufp = (uint64_t *) buffer; + uint64_t *bufp = (uint64_t *)buffer; LFS_UNUSED(c); _LFS_DBG("Programming %d bytes/%d doublewords at address 0x%08x/block %d, offset %d.", size, dw_count, address, block, off); - if (HAL_FLASH_Unlock() != HAL_OK) - { + if (HAL_FLASH_Unlock() != HAL_OK) { return LFS_ERR_IO; } for (uint32_t i = 0; i < dw_count; i++) { - if((address < LFS_FLASH_ADDR_BASE) || (address > LFS_FLASH_ADDR_END)) - { + if ((address < LFS_FLASH_ADDR_BASE) || (address > LFS_FLASH_ADDR_END)) { _LFS_DBG("Wanted to program out of bound of FLASH: 0x%08x.\n", address); HAL_FLASH_Lock(); return LFS_ERR_INVAL; @@ -105,8 +103,7 @@ static int _internal_flash_prog(const struct lfs_config *c, lfs_block_t block, l address += 8; bufp += 1; } - if(HAL_FLASH_Lock() != HAL_OK) - { + if (HAL_FLASH_Lock() != HAL_OK) { return LFS_ERR_IO; } @@ -121,17 +118,12 @@ static int _internal_flash_erase(const struct lfs_config *c, lfs_block_t block) { lfs_block_t address = LFS_FLASH_ADDR_BASE + (block * STM32WL_PAGE_SIZE); HAL_StatusTypeDef hal_rc; - FLASH_EraseInitTypeDef EraseInitStruct = { - .TypeErase = FLASH_TYPEERASE_PAGES, - .Page = 0, - .NbPages = 1 - }; + FLASH_EraseInitTypeDef EraseInitStruct = {.TypeErase = FLASH_TYPEERASE_PAGES, .Page = 0, .NbPages = 1}; uint32_t PAGEError = 0; LFS_UNUSED(c); - if((address < LFS_FLASH_ADDR_BASE) || (address > LFS_FLASH_ADDR_END)) - { + if ((address < LFS_FLASH_ADDR_BASE) || (address > LFS_FLASH_ADDR_END)) { _LFS_DBG("Wanted to erase out of bound of FLASH: 0x%08x.\n", address); return LFS_ERR_INVAL; } @@ -139,7 +131,7 @@ static int _internal_flash_erase(const struct lfs_config *c, lfs_block_t block) EraseInitStruct.Page = (address - STM32WL_FLASH_BASE) / STM32WL_PAGE_SIZE; _LFS_DBG("Erasing block %d at 0x%08x... ", block, address); HAL_FLASH_Unlock(); - hal_rc = HAL_FLASHEx_Erase(&EraseInitStruct, &PAGEError); + hal_rc = HAL_FLASHEx_Erase(&EraseInitStruct, &PAGEError); HAL_FLASH_Lock(); return hal_rc == HAL_OK ? LFS_ERR_OK : LFS_ERR_IO; // If HAL_OK, return LFS_ERR_OK, else return LFS_ERR_IO @@ -155,25 +147,23 @@ static int _internal_flash_sync(const struct lfs_config *c) return LFS_ERR_OK; } -static struct lfs_config _InternalFSConfig = { - .context = NULL, +static struct lfs_config _InternalFSConfig = {.context = NULL, - .read = _internal_flash_read, - .prog = _internal_flash_prog, - .erase = _internal_flash_erase, - .sync = _internal_flash_sync, + .read = _internal_flash_read, + .prog = _internal_flash_prog, + .erase = _internal_flash_erase, + .sync = _internal_flash_sync, - .read_size = LFS_BLOCK_SIZE, - .prog_size = LFS_BLOCK_SIZE, - .block_size = LFS_BLOCK_SIZE, - .block_count = LFS_FLASH_TOTAL_SIZE / LFS_BLOCK_SIZE, - .lookahead = 128, + .read_size = LFS_BLOCK_SIZE, + .prog_size = LFS_BLOCK_SIZE, + .block_size = LFS_BLOCK_SIZE, + .block_count = LFS_FLASH_TOTAL_SIZE / LFS_BLOCK_SIZE, + .lookahead = 128, - .read_buffer = NULL, - .prog_buffer = NULL, - .lookahead_buffer = NULL, - .file_buffer = NULL -}; + .read_buffer = NULL, + .prog_buffer = NULL, + .lookahead_buffer = NULL, + .file_buffer = NULL}; LittleFS InternalFS; @@ -185,8 +175,7 @@ LittleFS::LittleFS(void) : STM32_LittleFS(&_InternalFSConfig) {} bool LittleFS::begin(void) { - if(FLASH_BASE >= LFS_FLASH_ADDR_BASE) - { + if (FLASH_BASE >= LFS_FLASH_ADDR_BASE) { /* There is not enough space on this device for a filesystem. */ return false; } diff --git a/src/platform/stm32wl/STM32_LittleFS.h b/src/platform/stm32wl/STM32_LittleFS.h index d05c0dcbc..2ab531ee5 100644 --- a/src/platform/stm32wl/STM32_LittleFS.h +++ b/src/platform/stm32wl/STM32_LittleFS.h @@ -76,8 +76,12 @@ class STM32_LittleFS * code. User should not call these directly *------------------------------------------------------------------*/ lfs_t *_getFS(void) { return &_lfs; } - void _lockFS(void) { /* no-op */ } - void _unlockFS(void) { /* no-op */ } + void _lockFS(void) + { /* no-op */ + } + void _unlockFS(void) + { /* no-op */ + } protected: bool _mounted; diff --git a/variants/rak3172/platformio.ini b/variants/rak3172/platformio.ini index 079916421..2cf03da2e 100644 --- a/variants/rak3172/platformio.ini +++ b/variants/rak3172/platformio.ini @@ -9,29 +9,19 @@ build_flags = -DPIN_SERIAL_RX=PB7 -DPIN_SERIAL_TX=PB6 -DHAL_DAC_MODULE_ONLY - -DHAL_ADC_MODULE_DISABLED - -DHAL_COMP_MODULE_DISABLED - -DHAL_CRC_MODULE_DISABLED - -DHAL_CRYP_MODULE_DISABLED - -DHAL_GTZC_MODULE_DISABLED - -DHAL_HSEM_MODULE_DISABLED - -DHAL_I2C_MODULE_DISABLED - -DHAL_I2S_MODULE_DISABLED - -DHAL_IPCC_MODULE_DISABLED - -DHAL_IRDA_MODULE_DISABLED - -DHAL_IWDG_MODULE_DISABLED - -DHAL_LPTIM_MODULE_DISABLED - -DHAL_PKA_MODULE_DISABLED - -DHAL_RNG_MODULE_DISABLED - -DHAL_RTC_MODULE_DISABLED - -DHAL_SMARTCARD_MODULE_DISABLED - -DHAL_SMBUS_MODULE_DISABLED - -DHAL_TIM_MODULE_DISABLED - -DHAL_WWDG_MODULE_DISABLED - -DHAL_EXTI_MODULE_DISABLED - -DHAL_SAI_MODULE_DISABLED - -DHAL_ICACHE_MODULE_DISABLED + -DHAL_RNG_MODULE_ENABLED -DRADIOLIB_EXCLUDE_SX128X=1 -DRADIOLIB_EXCLUDE_SX127X=1 -DRADIOLIB_EXCLUDE_LR11X0=1 + -DMESHTASTIC_EXCLUDE_ENVIRONMENTAL_SENSOR=1 + -DMESHTASTIC_EXCLUDE_I2C=1 + -DMESHTASTIC_EXCLUDE_WIFI=1 + -DMESHTASTIC_EXCLUDE_BLUETOOTH=1 + -DMESHTASTIC_EXCLUDE_GPS=1 + -DMESHTASTIC_EXCLUDE_SCREEN=1 + -DMESHTASTIC_EXCLUDE_MQTT=1 + -DMESHTASTIC_EXCLUDE_POWERMON=1 + ;-DPIO_FRAMEWORK_ARDUINO_NANOLIB_FLOAT_PRINTF + ;-DCFG_DEBUG + upload_port = stlink \ No newline at end of file