From e22efc037a7e4da17f1051d5053768e40683da68 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 2 Feb 2022 15:04:37 +1100 Subject: Don't make EEPROM size assumptions with dynamic keymaps. (#16054) * Don't make EEPROM size assumptions with dynamic keymaps. * Add support for checking against emulated flash, error out if someone attempts to build a board without specifying EEPROM size. * Reorder defines so that MCU is considered last. * Refactor EEPROM definitions for simplicity. * Fix max sizing of kabedon/kabedon980. * Fix max sizing of mechlovin/olly/jf. * Fix unit tests. * Review comments, add messages with values during build failures. --- platforms/test/eeprom.c | 4 +--- platforms/test/eeprom_stm32_tests.cpp | 3 --- platforms/test/eeprom_stm32_tests.h | 8 ++++++++ platforms/test/rules.mk | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 platforms/test/eeprom_stm32_tests.h (limited to 'platforms/test') diff --git a/platforms/test/eeprom.c b/platforms/test/eeprom.c index 5c8e69dae3..e292faa644 100644 --- a/platforms/test/eeprom.c +++ b/platforms/test/eeprom.c @@ -16,9 +16,7 @@ #include "eeprom.h" -#define EEPROM_SIZE 32 - -static uint8_t buffer[EEPROM_SIZE]; +static uint8_t buffer[TOTAL_EEPROM_BYTE_COUNT]; uint8_t eeprom_read_byte(const uint8_t *addr) { uintptr_t offset = (uintptr_t)addr; diff --git a/platforms/test/eeprom_stm32_tests.cpp b/platforms/test/eeprom_stm32_tests.cpp index 5bc8d87900..57f31d634f 100644 --- a/platforms/test/eeprom_stm32_tests.cpp +++ b/platforms/test/eeprom_stm32_tests.cpp @@ -17,8 +17,6 @@ #include "gtest/gtest.h" extern "C" { -#include "flash_stm32.h" -#include "eeprom_stm32.h" #include "eeprom.h" } @@ -46,7 +44,6 @@ extern "C" { * */ -#define EEPROM_SIZE (FEE_PAGE_SIZE * FEE_PAGE_COUNT / 2) #define LOG_SIZE EEPROM_SIZE #define LOG_BASE (MOCK_FLASH_SIZE - LOG_SIZE) #define EEPROM_BASE (LOG_BASE - EEPROM_SIZE) diff --git a/platforms/test/eeprom_stm32_tests.h b/platforms/test/eeprom_stm32_tests.h new file mode 100644 index 0000000000..35ed885e52 --- /dev/null +++ b/platforms/test/eeprom_stm32_tests.h @@ -0,0 +1,8 @@ +// Copyright 2018-2022 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include "flash_stm32.h" +#include "eeprom_stm32.h" + +#define EEPROM_SIZE (FEE_PAGE_SIZE * FEE_PAGE_COUNT / 2) diff --git a/platforms/test/rules.mk b/platforms/test/rules.mk index 66b853d8ee..55512c7392 100644 --- a/platforms/test/rules.mk +++ b/platforms/test/rules.mk @@ -1,4 +1,4 @@ -eeprom_stm32_DEFS := -DFLASH_STM32_MOCKED -DNO_PRINT -DFEE_FLASH_BASE=FlashBuf +eeprom_stm32_DEFS := -DEEPROM_TEST_HARNESS -DFLASH_STM32_MOCKED -DNO_PRINT -DFEE_FLASH_BASE=FlashBuf eeprom_stm32_tiny_DEFS := $(eeprom_stm32_DEFS) \ -DFEE_MCU_FLASH_SIZE=1 \ -DMOCK_FLASH_SIZE=1024 \ -- cgit v1.2.1