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.

91 lines
2.5 KiB

[Keyboard] Added Vitamins Included Rev2 (#6593) * Fixed pin for RGB * Added support for second revision of vitamins included * Added rev2 config and switched to #pragma once * Switch to quantum.h pincontrol * Fixed left-half check * Moved revision agnostic code to main header file * Moved common build options to main makefile * Referred to rev2 documentation * JTAG is dissabled in keyboard.c now * moved EEHANDS to rev1 config * moved rev2 to use split_common * Updated default keymaps * Changed handedness ifdef to allow user-overrides * Add some space saving defines * Changed to more sane I2C clock * Removed rev2 check in matrix.c as rev2 uses split_common * Removed rev2 check in rev1 only code * Update debounce constant name Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Switch KEYMAP macro to LAYOUT Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Switch kc_keymap macro to layout_kc Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Switch kc_keymap macro to layout_kc Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Add legacy layout macro alias Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/vitamins_included/rev2/config.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Split readme into revision specific versions * Updated src to allow LTO * Renamed readmes to lower-case * Switched my keyboards to FEED VID * Fixed markdown lint errors * fixed readme links Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Maintain keymap backwards compatibility Co-Authored-By: Joel Challis <git@zvecr.com>
4 years ago
Simplify split_common Code significantly (#4772) * Eliminate separate slave loop Both master and slave run the standard keyboard_task main loop now. * Refactor i2c/serial specific code Simplify some of the preprocessor mess by using common function names. * Fix missing #endif * Move direct pin mapping support from miniaxe to split_common For boards with more pins than sense--sorry, switches. * Reordering and reformatting only * Don't run matrix_scan_quantum on slave side * Clean up the offset/slaveOffset calculations * Cut undebounced matrix size in half * Refactor debouncing * Minor fixups * Split split_common transport and debounce code into their own files Can now be replaced with custom versions per keyboard using CUSTOM_TRANSPORT = yes and CUSTOM_DEBOUNCE = yes * Refactor debounce for non-split keyboards too * Update handwired/xealous to build using new split_common * Fix debounce breaking basic test * Dodgy method to allow a split kb to only include one of i2c/serial SPLIT_TRANSPORT = serial or SPLIT_TRANSPORT = i2c will include only that driver code in the binary. SPLIT_TRANSPORT = custom (or anything else) will include neither, the keyboard must supply it's own code if SPLIT_TRANSPORT is not defined then the original behaviour (include both avr i2c and serial code) is maintained. This could be better but it would require explicitly updating all the existing split keyboards. * Enable LTO to get lets_split/sockets under the line * Add docs for SPLIT_TRANSPORT, CUSTOM_MATRIX, CUSTOM_DEBOUNCE * Remove avr-specific sei() from split matrix_setup Not needed now that slave doesn't have a separate main loop. Both sides (on avr) call sei() in lufa's main() after exiting keyboard_setup(). * Fix QUANTUM_LIB_SRC references and simplify SPLIT_TRANSPORT. * Add comments and fix formatting.
5 years ago
[Keyboard] Added Vitamins Included Rev2 (#6593) * Fixed pin for RGB * Added support for second revision of vitamins included * Added rev2 config and switched to #pragma once * Switch to quantum.h pincontrol * Fixed left-half check * Moved revision agnostic code to main header file * Moved common build options to main makefile * Referred to rev2 documentation * JTAG is dissabled in keyboard.c now * moved EEHANDS to rev1 config * moved rev2 to use split_common * Updated default keymaps * Changed handedness ifdef to allow user-overrides * Add some space saving defines * Changed to more sane I2C clock * Removed rev2 check in matrix.c as rev2 uses split_common * Removed rev2 check in rev1 only code * Update debounce constant name Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Switch KEYMAP macro to LAYOUT Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Switch kc_keymap macro to layout_kc Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Switch kc_keymap macro to layout_kc Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Add legacy layout macro alias Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/vitamins_included/rev2/config.h Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Split readme into revision specific versions * Updated src to allow LTO * Renamed readmes to lower-case * Switched my keyboards to FEED VID * Fixed markdown lint errors * fixed readme links Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Maintain keymap backwards compatibility Co-Authored-By: Joel Challis <git@zvecr.com>
4 years ago
  1. /*
  2. Copyright 2012 Jun Wako <wakojun@gmail.com>
  3. Copyright 2015 Jack Humbert
  4. This program is free software: you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation, either version 2 of the License, or
  7. (at your option) any later version.
  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. You should have received a copy of the GNU General Public License
  13. along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. */
  15. #pragma once
  16. /* USB Device descriptor parameter */
  17. #define VENDOR_ID 0xFEED
  18. #define PRODUCT_ID 0x0BEE
  19. #define DEVICE_VER 0x0001
  20. #define MANUFACTURER Duckle29
  21. #define PRODUCT Lets Split Sockets
  22. #define DESCRIPTION A split keyboard for the cheapish makers
  23. /* key matrix size */
  24. // Rows are doubled-up
  25. #define MATRIX_ROWS 8
  26. #define MATRIX_COLS 6
  27. // wiring of each half
  28. #define MATRIX_ROW_PINS { B1, B5, E6, B4 }
  29. #define MATRIX_COL_PINS { F4, F7, D7, B3, B2, B6}
  30. // #define MATRIX_COL_PINS { B6, B2, B3, D7, F7, F4} //uncomment this line and comment line above if you need to reverse left-to-right key order
  31. /* define if matrix has ghost */
  32. //#define MATRIX_HAS_GHOST
  33. /* number of backlight levels */
  34. // #define BACKLIGHT_LEVELS 3
  35. /* Set 0 if debouncing isn't needed */
  36. #define DEBOUNCE 5
  37. /* serial.c configuration for split keyboard */
  38. #define SOFT_SERIAL_PIN D0
  39. /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
  40. #define LOCKING_SUPPORT_ENABLE
  41. /* Locking resynchronize hack */
  42. #define LOCKING_RESYNC_ENABLE
  43. /* ws2812 RGB LED */
  44. #define RGB_DI_PIN D4
  45. #define RGBLED_NUM 12 // Number of LEDs
  46. /* Audio settings */
  47. #ifdef AUDIO_ENABLE
  48. #define C6_AUDIO // Define this to enable the buzzer
  49. #endif
  50. /*
  51. * Feature disable options
  52. * These options are also useful to firmware size reduction.
  53. */
  54. /* disable debug print */
  55. // #define NO_DEBUG
  56. /* disable print */
  57. // #define NO_PRINT
  58. /* disable action features */
  59. //#define NO_ACTION_LAYER
  60. //#define NO_ACTION_TAPPING
  61. //#define NO_ACTION_ONESHOT
  62. //#define NO_ACTION_MACRO
  63. //#define NO_ACTION_FUNCTION
  64. #ifdef USE_Link_Time_Optimization
  65. // LTO has issues with macros (action_get_macro) and "functions" (fn_actions),
  66. // so just disable them
  67. #define NO_ACTION_MACRO
  68. #define NO_ACTION_FUNCTION
  69. #define DISABLE_LEADER
  70. #endif // USE_Link_Time_Optimization