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.

120 lines
4.4 KiB

  1. /*
  2. * ----------------------------------------------------------------------------
  3. * "THE BEER-WARE LICENSE" (Revision 42):
  4. * <https://github.com/Legonut> wrote this file. As long as you retain this
  5. * notice you can do whatever you want with this stuff. If we meet some day, and
  6. * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
  7. * ----------------------------------------------------------------------------
  8. */
  9. #pragma once
  10. #define BUSY_WAIT
  11. #define BUSY_WAIT_INSTRUCTIONS 35 // Increase if two rows are pressed at the same time.
  12. #define GPIO_INPUT_PIN_DELAY 10
  13. /* Touchbar adjustments */
  14. #define TOUCH_DEADZONE 50 // width of a "button", wider inputs will be interpreted as a swipe
  15. #define TOUCH_TERM 350 // time of a "button" touch, longer inputs will be a swipe
  16. #define TOUCH_RESOLUTION 25 // sensitivity of swipes, lower=faster
  17. #define TOUCH_SEGMENTS 3
  18. /* CRC Configuration */
  19. #define CRC8_OPTIMIZE_SPEED
  20. #define CRC8_USE_TABLE
  21. /* Split Keyboard Configuration */
  22. #define SPLIT_HAND_PIN C13
  23. #define SPLIT_USB_DETECT
  24. #define SERIAL_USART_TX_PAL_MODE 7
  25. #define SERIAL_USART_TIMEOUT 5
  26. #define SERIAL_USART_DRIVER SD1
  27. //#define SERIAL_USART_FULL_DUPLEX - Waiting on reunification pr
  28. #if SERIAL_USART_FULL_DUPLEX
  29. #define SERIAL_USART_RX_PIN A10
  30. #define SERIAL_USART_RX_PAL_MODE 7
  31. // Mun connects TX to TX and RX to RX as we were planning on i2c split, so we need pin swap for full duplex
  32. #define SERIAL_USART_PIN_SWAP
  33. #define SERIAL_USART_SPEED (2 * 1024 * 1024)
  34. #else
  35. #define SERIAL_USART_SPEED (1 * 1024 * 1024)
  36. #endif
  37. /* Split Transport Features */
  38. #define SPLIT_TRANSACTION_IDS_KB TOUCH_ENCODER_SYNC, RGB_MENU_SYNC
  39. #define RGB_MATRIX_LED_COUNT 156
  40. #define RGB_MATRIX_SPLIT { 78, 78 }
  41. #define RGB_MATRIX_CENTER { 81, 28 }
  42. #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
  43. #define RGB_MATRIX_LED_FLUSH_LIMIT 33
  44. #define RGB_MATRIX_LED_PROCESS_LIMIT 10
  45. #define RGB_DISABLE_WHEN_USB_SUSPENDED
  46. // RGB Matrix Animation modes. Explicitly enabled
  47. // For full list of effects, see:
  48. // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
  49. #define ENABLE_RGB_MATRIX_ALPHAS_MODS
  50. #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
  51. #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
  52. #define ENABLE_RGB_MATRIX_BREATHING
  53. #define ENABLE_RGB_MATRIX_BAND_SAT
  54. #define ENABLE_RGB_MATRIX_BAND_VAL
  55. #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
  56. #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
  57. #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
  58. #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
  59. #define ENABLE_RGB_MATRIX_CYCLE_ALL
  60. #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
  61. #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
  62. #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
  63. #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
  64. #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
  65. #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
  66. #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
  67. #define ENABLE_RGB_MATRIX_DUAL_BEACON
  68. #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
  69. #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
  70. #define ENABLE_RGB_MATRIX_RAINDROPS
  71. #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
  72. #define ENABLE_RGB_MATRIX_HUE_BREATHING
  73. #define ENABLE_RGB_MATRIX_HUE_PENDULUM
  74. #define ENABLE_RGB_MATRIX_HUE_WAVE
  75. #define ENABLE_RGB_MATRIX_PIXEL_RAIN
  76. #define ENABLE_RGB_MATRIX_PIXEL_FLOW
  77. #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
  78. // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
  79. #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
  80. #define ENABLE_RGB_MATRIX_TYPING_HEATMAP
  81. #define ENABLE_RGB_MATRIX_DIGITAL_RAIN
  82. // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
  83. #define RGB_MATRIX_KEYPRESSES
  84. #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
  85. #define ENABLE_RGB_MATRIX_SOLID_REACTIVE
  86. #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
  87. #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
  88. #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
  89. #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
  90. #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
  91. #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
  92. #define ENABLE_RGB_MATRIX_SPLASH
  93. #define ENABLE_RGB_MATRIX_MULTISPLASH
  94. #define ENABLE_RGB_MATRIX_SOLID_SPLASH
  95. #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
  96. #define WS2812_PWM_DRIVER PWMD3
  97. #define WS2812_PWM_CHANNEL 2
  98. #define WS2812_PWM_PAL_MODE 2
  99. #define WS2812_DMA_STREAM STM32_DMA1_STREAM3
  100. #define WS2812_DMA_CHANNEL 3
  101. #define TOUCH_UPDATE_INTERVAL 33
  102. #define OLED_UPDATE_INTERVAL 33
  103. /* Audio Configuration */
  104. #define AUDIO_PIN A4
  105. #define AUDIO_PIN_ALT A5
  106. #define AUDIO_PIN_ALT_AS_NEGATIVE
  107. #define AUDIO_CLICKY
  108. #define AUDIO_DAC_SAMPLE_WAVEFORM_SQUARE
  109. #define AUDIO_DAC_OFF_VALUE 0