config.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /**
  2. * config.h
  3. *
  4. */
  5. #pragma once
  6. /* USB Device descriptor parameter */
  7. #define VENDOR_ID 0x4D58 // MX
  8. #define PRODUCT_ID 0x0065 // noah 65
  9. #define DEVICE_VER 0x0001
  10. #define MANUFACTURER matrix
  11. #define PRODUCT NOAH
  12. #define DESCRIPTION 65% keybaord of the Matrix abel family
  13. /* key matrix size */
  14. #define MATRIX_ROWS 5
  15. #define MATRIX_COLS 15
  16. #define DIODE_DIRECTION COL2ROW
  17. #define DEBOUNCING_DELAY 5
  18. // i2c setting
  19. #define USE_I2CV1
  20. #define I2C1_SCL 8
  21. #define I2C1_SDA 9
  22. #define I2C1_CLOCK_SPEED 400000
  23. #define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
  24. #define PAL_MODE_STM32_ALTERNATE_OPENDRAIN (PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN)
  25. // rgb matrix setting
  26. #define DRIVER_ADDR_1 0b1110100
  27. #define DRIVER_ADDR_2 0b1110110
  28. #define DRIVER_COUNT 2
  29. #define DRIVER_1_LED_TOTAL 36
  30. #define DRIVER_2_LED_TOTAL 36
  31. #define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
  32. /* indicator rgb */
  33. #define WS2812_LED_N 7
  34. #define RGBLED_NUM WS2812_LED_N
  35. #define WS2812_TIM_N 3
  36. #define WS2812_TIM_CH 3
  37. #define PORT_WS2812 GPIOB
  38. #define PIN_WS2812 1
  39. #define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection)
  40. #define WS2812_DMA_CHANNEL 5 // DMA channel for TIMx_UP
  41. #define RGBLIGHT_ANIMATIONS
  42. //#define WS2812_EXTERNAL_PULLUP
  43. // tapping setting
  44. #define TAPPING_TERM 200
  45. #define RETRO_TAPPING
  46. #define PERMISSIVE_HOLD