diff options
author | yiancar <yiangosyiangou@cytanet.com.cy> | 2018-08-29 23:14:49 +0300 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2018-08-29 16:14:49 -0400 |
commit | 621ce29a53e9e94e085fbd86c0b7134e9df4bfe5 (patch) | |
tree | 82c7d8258c4169284f7572500f9b292c7ee4634d /tmk_core/common/eeconfig.h | |
parent | 30680c6eb396a2bb06928afd69edae9908ac84fb (diff) | |
download | qmk_firmware-621ce29a53e9e94e085fbd86c0b7134e9df4bfe5.tar.gz qmk_firmware-621ce29a53e9e94e085fbd86c0b7134e9df4bfe5.zip |
STM32 EEPROM Emulation (#3741)
* STM32 EEPROM Emulation
- Added EEPROM emulation libaries from libmaple and Arduino_STM32. https://github.com/rogerclarkmelbourne/Arduino_STM32 and https://github.com/leaflabs/libmaple.
- Renamed teensy EEPROM library and added conditional selection of library.
- Remapped EEPROM memory map for 16 byte blocks (as is with STM32f3xx MCUs).
- Added EEPROM initialization in main.c of Chibios.
- Added EEPROM format to clear the emulated pages when EEPROM is marked as invalid.
* Fixed ifdef
Diffstat (limited to 'tmk_core/common/eeconfig.h')
-rw-r--r-- | tmk_core/common/eeconfig.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tmk_core/common/eeconfig.h b/tmk_core/common/eeconfig.h index 1397a90c7..fa498df48 100644 --- a/tmk_core/common/eeconfig.h +++ b/tmk_core/common/eeconfig.h | |||
@@ -25,6 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
25 | #define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEED | 25 | #define EECONFIG_MAGIC_NUMBER (uint16_t)0xFEED |
26 | 26 | ||
27 | /* eeprom parameteter address */ | 27 | /* eeprom parameteter address */ |
28 | #if !defined(STM32F303xC) | ||
28 | #define EECONFIG_MAGIC (uint16_t *)0 | 29 | #define EECONFIG_MAGIC (uint16_t *)0 |
29 | #define EECONFIG_DEBUG (uint8_t *)2 | 30 | #define EECONFIG_DEBUG (uint8_t *)2 |
30 | #define EECONFIG_DEFAULT_LAYER (uint8_t *)3 | 31 | #define EECONFIG_DEFAULT_LAYER (uint8_t *)3 |
@@ -38,6 +39,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
38 | // EEHANDS for two handed boards | 39 | // EEHANDS for two handed boards |
39 | #define EECONFIG_HANDEDNESS (uint8_t *)14 | 40 | #define EECONFIG_HANDEDNESS (uint8_t *)14 |
40 | 41 | ||
42 | #else | ||
43 | /* STM32F3 uses 16byte block. Reconfigure memory map */ | ||
44 | #define EECONFIG_MAGIC (uint16_t *)0 | ||
45 | #define EECONFIG_DEBUG (uint8_t *)1 | ||
46 | #define EECONFIG_DEFAULT_LAYER (uint8_t *)2 | ||
47 | #define EECONFIG_KEYMAP (uint8_t *)3 | ||
48 | #define EECONFIG_MOUSEKEY_ACCEL (uint8_t *)4 | ||
49 | #define EECONFIG_BACKLIGHT (uint8_t *)5 | ||
50 | #define EECONFIG_AUDIO (uint8_t *)6 | ||
51 | #define EECONFIG_RGBLIGHT (uint32_t *)7 | ||
52 | #define EECONFIG_UNICODEMODE (uint8_t *)9 | ||
53 | #define EECONFIG_STENOMODE (uint8_t *)10 | ||
54 | // EEHANDS for two handed boards | ||
55 | #define EECONFIG_HANDEDNESS (uint8_t *)11 | ||
56 | #endif | ||
41 | 57 | ||
42 | /* debug bit */ | 58 | /* debug bit */ |
43 | #define EECONFIG_DEBUG_ENABLE (1<<0) | 59 | #define EECONFIG_DEBUG_ENABLE (1<<0) |