From 9fbfa14e63a6b7f8e495ca4cf1f7b82c2e638215 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Sun, 3 Dec 2017 17:22:01 -0700 Subject: Made it possible to override address of eeprom array in RAM. (useful when trying to use a single large data structure without wasting twice its size in RAM) --- spaghetti-monster/fsm-eeprom.c | 4 ++++ spaghetti-monster/fsm-eeprom.h | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'spaghetti-monster') diff --git a/spaghetti-monster/fsm-eeprom.c b/spaghetti-monster/fsm-eeprom.c index 012e088..bb63c7e 100644 --- a/spaghetti-monster/fsm-eeprom.c +++ b/spaghetti-monster/fsm-eeprom.c @@ -23,7 +23,11 @@ #include "fsm-eeprom.h" #if EEPROM_BYTES > 0 +#ifdef EEPROM_OVERRIDE +uint8_t *eeprom; +#else uint8_t eeprom[EEPROM_BYTES]; +#endif uint8_t load_eeprom() { cli(); diff --git a/spaghetti-monster/fsm-eeprom.h b/spaghetti-monster/fsm-eeprom.h index b6e1aea..a668588 100644 --- a/spaghetti-monster/fsm-eeprom.h +++ b/spaghetti-monster/fsm-eeprom.h @@ -36,7 +36,11 @@ #if EEPROM_BYTES >= (EEPSIZE/2) #error Requested EEPROM_BYTES too big. #endif +#ifdef EEPROM_OVERRIDE +uint8_t *eeprom; +#else uint8_t eeprom[EEPROM_BYTES]; +#endif uint8_t load_eeprom(); // returns 1 for success, 0 for no data found void save_eeprom(); #define EEP_START (EEPSIZE/2) -- cgit v1.2.3