You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
3.0 KiB

  1. /* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
  2. * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
  3. * Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
  4. *
  5. * This program is free software: you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation, either version 2 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. #pragma once
  19. #include "config_common.h"
  20. /* USB Device descriptor parameter */
  21. // clang-format off
  22. #define VENDOR_ID 0x3297
  23. #define PRODUCT_ID 0x1969
  24. #define MANUFACTURER ZSA Technology Labs
  25. #define PRODUCT Moonlander Mark I
  26. #define DEVICE_VER 0x0001
  27. #define WEBUSB_LANDING_PAGE_URL u8"configure.ergodox-ez.com"
  28. // clang-format on
  29. /* key matrix size */
  30. #define MATRIX_ROWS 12
  31. #define MATRIX_COLS 7
  32. /* PCB default pin-out */
  33. // #define MATRIX_ROW_PINS { B10, B11, B12, B13, B14, B15 }
  34. // #define MATRIX_COL_PINS { A0, A1, A2, A3, A6, A7, B0 }
  35. // #define MCP23_ROW_PINS { GPB5, GBP4, GBP3, GBP2, GBP1, GBP0 }
  36. // #define MCP23_COL_PINS { GPA0, GBA1, GBA2, GBA3, GBA4, GBA5, GBA6 }
  37. // #define MCP23_LED_R GPB7
  38. // #define MCP23_LED_G GPB6
  39. // #define MCP23_LED_B GPA7
  40. #define EEPROM_I2C_24LC128
  41. // Not needed, is default address:
  42. // #define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10100000
  43. /* COL2ROW or ROW2COL */
  44. #define DIODE_DIRECTION ROW2COL
  45. /* Set 0 if debouncing isn't needed */
  46. #define DEBOUNCE 5
  47. /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
  48. #define LOCKING_SUPPORT_ENABLE
  49. /* Locking resynchronize hack */
  50. #define LOCKING_RESYNC_ENABLE
  51. /*
  52. * Feature disable options
  53. * These options are also useful to firmware size reduction.
  54. */
  55. /* disable debug print */
  56. //#define NO_DEBUG
  57. /* disable print */
  58. //#define NO_PRINT
  59. /* disable action features */
  60. //#define NO_ACTION_LAYER
  61. //#define NO_ACTION_TAPPING
  62. //#define NO_ACTION_ONESHOT
  63. #define NO_ACTION_MACRO
  64. #define NO_ACTION_FUNCTION
  65. #define DRIVER_ADDR_1 0b1110100
  66. #define DRIVER_ADDR_2 0b1110111
  67. #define DRIVER_COUNT 2
  68. #define DRIVER_1_LED_TOTAL 36
  69. #define DRIVER_2_LED_TOTAL 36
  70. #define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
  71. #define RGB_MATRIX_CENTER { 125, 26 }
  72. #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175
  73. #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
  74. #define RGB_MATRIX_KEYPRESSES
  75. #define RGB_DISABLE_WHEN_USB_SUSPENDED true
  76. #define MUSIC_MAP
  77. #define FIRMWARE_VERSION_SIZE 17
  78. #define DYNAMIC_KEYMAP_EEPROM_ADDR (EECONFIG_SIZE + FIRMWARE_VERSION_SIZE)
  79. #ifdef EEPROM_I2C
  80. # define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 16383
  81. # define DYNAMIC_KEYMAP_LAYER_COUNT 32
  82. #endif