logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

tcv3.c (1836B)


  1. /* Copyright 2019 MechMerlin <mechmerlin@gmail.com>
  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. #include "quantum.h"
  17. #include "indicator_leds.h"
  18. enum BACKLIGHT_AREAS {
  19. BACKLIGHT_ALPHA = 0b0000001,
  20. BACKLIGHT_FROW = 0b0000010,
  21. BACKLIGHT_MOD = 0b0000100,
  22. BACKLIGHT_MACRO = 0b0001000,
  23. BACKLIGHT_SWITCH = 0b0001111
  24. };
  25. // Q5, Q6, Q7 is connected to B1 - alphas
  26. // Q8, Q9 is connected to B2 - frow
  27. // Q1, Q2, Q3 is connected to B3 - mods
  28. // Q4 is connected to E6 - macro keys
  29. void backlight_set(uint8_t level) {
  30. level & BACKLIGHT_ALPHA ? (PORTB |= 0b00000010) : (PORTB &= ~0b00000010);
  31. level & BACKLIGHT_FROW ? (PORTB |= 0b00000100) : (PORTB &= ~0b00000100);
  32. level & BACKLIGHT_MOD ? (PORTB |= 0b00001000) : (PORTB &= ~0b00001000);
  33. level & BACKLIGHT_MACRO ? (PORTE |= 0b01000000) : (PORTE &= ~0b01000000);
  34. }
  35. // U5 Pin 1, 2, 3 connected to top left LEDs
  36. // U6 Pin 1, 2, 3 connected to bottom right leds col of 3
  37. // U7 Pin 1 connected to row connected to bottom right leds solo LED
  38. // U7 Pin 2, 3 connected to bottom right leds row of 2
  39. // U6 Pin 5 connected to U7 Pin 6
  40. // U5 pin 5 connected to U6 Pin 6
  41. // U5, U6, U7 Pin 8 VCC
  42. // U5, U6, U7 Pin 4 GRND
  43. // U5 Pin 6 connected to atmega32u4 D4