vial: change number of tapdance/combos enabled based on eeprom size

This commit is contained in:
Ilya Zhuravlev
2021-07-12 00:00:32 -04:00
parent 14c7ba62b0
commit e7789a9502
4 changed files with 51 additions and 24 deletions

View File

@ -21,10 +21,7 @@
#include "quantum.h" // for send_string()
#include "dynamic_keymap.h"
#include "via.h" // for default VIA_EEPROM_ADDR_END
#ifdef STM32_EEPROM_ENABLE
# include "eeprom_stm32.h"
#endif
#include "dynamic_keymap_eeprom.h"
#ifdef VIAL_ENABLE
#include "vial.h"
@ -34,24 +31,6 @@
# define DYNAMIC_KEYMAP_MACRO_COUNT 16
#endif
// This is the default EEPROM max address to use for dynamic keymaps.
// The default is the ATmega32u4 EEPROM max address.
// Explicitly override it if the keyboard uses a microcontroller with
// more EEPROM *and* it makes sense to increase it.
#ifndef DYNAMIC_KEYMAP_EEPROM_MAX_ADDR
# if defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__)
# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
# elif defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__)
# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
# elif defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega16U4__) || defined(__AVR_AT90USB162__) || defined(__AVR_ATtiny85__)
# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 511
# elif defined(FEE_DENSITY_BYTES)
# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR FEE_DENSITY_BYTES-1
# else
# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 1023
# endif
#endif
// Due to usage of uint16_t check for max 65535
#if DYNAMIC_KEYMAP_EEPROM_MAX_ADDR > 65535
# error DYNAMIC_KEYMAP_EEPROM_MAX_ADDR must be less than 65536