config.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /* Copyright 2018 Jason Williams (Wilba)
  2. *
  3. * This program is free software: you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License as published by
  5. * the Free Software Foundation, either version 2 of the License, or
  6. * (at your option) any later version.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #pragma once
  17. #include "config_common.h"
  18. /* USB Device descriptor parameter */
  19. #define VENDOR_ID 0x4145 // "AE"
  20. #define PRODUCT_ID 0x0807 // 1800 -> 0x0708 -> 0x0807 ;-)
  21. #define DEVICE_VER 0x0001
  22. #define MANUFACTURER AEboards
  23. #define PRODUCT AEboards Aegis
  24. #define DESCRIPTION AEboards Aegis
  25. /* key matrix size */
  26. #define MATRIX_ROWS 12
  27. #define MATRIX_COLS 9
  28. /* key matrix pins */
  29. #define MATRIX_ROW_PINS { F5, F6, E6, F7, D1, D0, D6, D4, B4, D7, B6, B5 }
  30. #define MATRIX_COL_PINS { C7, C6, B7, D2, D3, B3, B2, B1, B0 }
  31. #define UNUSED_PINS
  32. /* COL2ROW or ROW2COL */
  33. #define DIODE_DIRECTION COL2ROW
  34. /* Set 0 if debouncing isn't needed */
  35. #define DEBOUNCE 5
  36. /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
  37. #define LOCKING_SUPPORT_ENABLE
  38. /* Locking resynchronize hack */
  39. #define LOCKING_RESYNC_ENABLE
  40. #define DYNAMIC_KEYMAP_LAYER_COUNT 4
  41. // EEPROM usage
  42. // TODO: refactor with new user EEPROM code (coming soon)
  43. #define EEPROM_MAGIC 0x451F
  44. #define EEPROM_MAGIC_ADDR 34
  45. // Bump this every time we change what we store
  46. // This will automatically reset the EEPROM with defaults
  47. // and avoid loading invalid data from the EEPROM
  48. #define EEPROM_VERSION 0x08
  49. #define EEPROM_VERSION_ADDR 36
  50. // Dynamic keymap starts after EEPROM version
  51. #define DYNAMIC_KEYMAP_EEPROM_ADDR 37
  52. // Dynamic macro starts after dynamic keymaps (37+(4*12*9*2)) = (37+864)
  53. #define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 901
  54. #define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 123
  55. #define DYNAMIC_KEYMAP_MACRO_COUNT 16