]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - tmk_core/common/eeconfig.h
Add sidebar for ZH (#4533)
[qmk_firmware.git] / tmk_core / common / eeconfig.h
index 280dc7ab67e7bf8fe2e94f1affd8d67d79931a5b..8d4e1d4d00832af1816fd7a48fb0808f56812684 100644 (file)
@@ -23,18 +23,42 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
 #define EECONFIG_MAGIC_NUMBER                       (uint16_t)0xFEED
+#define EECONFIG_MAGIC_NUMBER_OFF                   (uint16_t)0xFFFF
 
 /* eeprom parameteter address */
+#if !defined(STM32_EEPROM_ENABLE)
 #define EECONFIG_MAGIC                              (uint16_t *)0
-#define EECONFIG_DEBUG                              (uint8_t *)2
-#define EECONFIG_DEFAULT_LAYER                      (uint8_t *)3
-#define EECONFIG_KEYMAP                             (uint8_t *)4
-#define EECONFIG_MOUSEKEY_ACCEL                     (uint8_t *)5
-#define EECONFIG_BACKLIGHT                          (uint8_t *)6
-#define EECONFIG_AUDIO                              (uint8_t *)7
+#define EECONFIG_DEBUG                               (uint8_t *)2
+#define EECONFIG_DEFAULT_LAYER                       (uint8_t *)3
+#define EECONFIG_KEYMAP                              (uint8_t *)4
+#define EECONFIG_MOUSEKEY_ACCEL                      (uint8_t *)5
+#define EECONFIG_BACKLIGHT                           (uint8_t *)6
+#define EECONFIG_AUDIO                               (uint8_t *)7
 #define EECONFIG_RGBLIGHT                           (uint32_t *)8
 #define EECONFIG_UNICODEMODE                        (uint8_t *)12
-
+#define EECONFIG_STENOMODE                          (uint8_t *)13
+// EEHANDS for two handed boards
+#define EECONFIG_HANDEDNESS                                            (uint8_t *)14
+#define EECONFIG_KEYBOARD                          (uint32_t *)15
+#define EECONFIG_USER                              (uint32_t *)19
+
+#else
+/* STM32F3 uses 16byte block. Reconfigure memory map */
+#define EECONFIG_MAGIC                              (uint16_t *)0
+#define EECONFIG_DEBUG                               (uint8_t *)1
+#define EECONFIG_DEFAULT_LAYER                       (uint8_t *)2
+#define EECONFIG_KEYMAP                              (uint8_t *)3
+#define EECONFIG_MOUSEKEY_ACCEL                      (uint8_t *)4
+#define EECONFIG_BACKLIGHT                           (uint8_t *)5
+#define EECONFIG_AUDIO                               (uint8_t *)6
+#define EECONFIG_RGBLIGHT                           (uint32_t *)7
+#define EECONFIG_UNICODEMODE                         (uint8_t *)9
+#define EECONFIG_STENOMODE                          (uint8_t *)10
+// EEHANDS for two handed boards
+#define EECONFIG_HANDEDNESS                                    (uint8_t *)11
+#define EECONFIG_KEYBOARD                          (uint32_t *)12
+#define EECONFIG_USER                              (uint32_t *)14
+#endif
 
 /* debug bit */
 #define EECONFIG_DEBUG_ENABLE                       (1<<0)
@@ -54,8 +78,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
 bool eeconfig_is_enabled(void);
+bool eeconfig_is_disabled(void);
 
 void eeconfig_init(void);
+void eeconfig_init_quantum(void);
+void eeconfig_init_kb(void);
+void eeconfig_init_user(void);
 
 void eeconfig_enable(void);
 
@@ -80,4 +108,9 @@ uint8_t eeconfig_read_audio(void);
 void eeconfig_update_audio(uint8_t val);
 #endif
 
+uint32_t eeconfig_read_kb(void);
+void eeconfig_update_kb(uint32_t val);
+uint32_t eeconfig_read_user(void);
+void eeconfig_update_user(uint32_t val);
+
 #endif