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.

73 lines
2.0 KiB

  1. /* Copyright 2022 Harrison Chan (Xelus)
  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. // USB Device descriptor parameter
  18. #define VENDOR_ID 0x5845 // XE
  19. #define PRODUCT_ID 0x5253 // RS60
  20. #define DEVICE_VER 0x0002
  21. #define MANUFACTURER Xelus
  22. #define PRODUCT RS60
  23. /* key matrix size */
  24. #define MATRIX_ROWS 5
  25. #define MATRIX_COLS 14
  26. #define MATRIX_ROW_PINS { B15, B14, B12, B1, B0 }
  27. #define MATRIX_COL_PINS { B13, A7, A6, A5, A4, A3, A2, B7, B6, B5, B4, B3, A15, A14 }
  28. #define UNUSED_PINS
  29. // COL2ROW or ROW2COL
  30. #define DIODE_DIRECTION COL2ROW
  31. // Set 0 if debouncing isn't needed
  32. #define DEBOUNCE 5
  33. // Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap
  34. #define LOCKING_SUPPORT_ENABLE
  35. // Locking resynchronize hack
  36. #define LOCKING_RESYNC_ENABLE
  37. //Indicator
  38. #define LED_CAPS_LOCK_PIN A1
  39. // I2C config
  40. #define I2C1_SCL_PIN B8
  41. #define I2C1_SDA_PIN B9
  42. #define I2C1_SCL_PAL_MODE 4
  43. #define I2C1_SDA_PAL_MODE 4
  44. #define I2C1_CLOCK_SPEED 400000
  45. #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
  46. // EEPROM config
  47. // 24LC32
  48. #define EXTERNAL_EEPROM_BYTE_COUNT 4096
  49. #define EXTERNAL_EEPROM_PAGE_SIZE 32
  50. #define EXTERNAL_EEPROM_ADDRESS_SIZE 2
  51. #define EXTERNAL_EEPROM_WRITE_TIME 5
  52. // More EEPROM for layers
  53. #define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
  54. // Hardware Defines
  55. #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
  56. // HSE CLK
  57. #define STM32_HSECLK 16000000
  58. //Force NKRO
  59. #define FORCE_NKRO