diff options
author | skullydazed <skullydazed@users.noreply.github.com> | 2017-10-18 03:05:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-18 03:05:21 +0200 |
commit | 3f3fa0791895f14370b4bb3e8512597688c45122 (patch) | |
tree | ac5672833f0d3a0d91798401d2ff3caa560904b2 /keyboards/clueboard/card/cluecard.c | |
parent | ad49db8cd2557b6c54531059d4d162623520bd17 (diff) | |
download | qmk_firmware-3f3fa0791895f14370b4bb3e8512597688c45122.tar.gz qmk_firmware-3f3fa0791895f14370b4bb3e8512597688c45122.tar.xz |
Reorganize clueboard into a single directory (#1855)
Diffstat (limited to 'keyboards/clueboard/card/cluecard.c')
-rw-r--r-- | keyboards/clueboard/card/cluecard.c | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/keyboards/clueboard/card/cluecard.c b/keyboards/clueboard/card/cluecard.c new file mode 100644 index 000000000..81db252d2 --- /dev/null +++ b/keyboards/clueboard/card/cluecard.c @@ -0,0 +1,98 @@ +#include "cluecard.h" +#define BL_RED OCR1B +#define BL_GREEN OCR1A +#define BL_BLUE OCR1C + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + + matrix_init_user(); +} + +void matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + + matrix_scan_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware + + return process_record_user(keycode, record); +} + +void led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + + led_set_user(usb_led); +} + +void backlight_init_ports(void) +{ + // Set B5, B6, and B7 as output + DDRB |= (1<<7)|(1<<6)|(1<<5); + + // Setup PWM + ICR1 = 0xFFFF; + TCCR1A = 0b10101010; + TCCR1B = 0b00011001; + + BL_RED = 0xFFFF; + BL_GREEN = 0xFFFF; + BL_BLUE = 0xFFFF; +} + +void backlight_set(uint8_t level) +{ + // Set the RGB color + switch (level) + { + case 0: + // Off + BL_RED = 0xFFFF; + BL_GREEN = 0xFFFF; + BL_BLUE = 0xFFFF; + break; + case 1: + // Red + BL_RED = 0x0000; + BL_GREEN = 0xFFFF; + BL_BLUE = 0xFFFF; + break; + case 2: + // Green + BL_RED = 0xFFFF; + BL_GREEN = 0x0000; + BL_BLUE = 0xFFFF; + break; + case 3: + // Blue + BL_RED = 0xFFFF; + BL_GREEN = 0xFFFF; + BL_BLUE = 0x0000; + break; + case 4: + // Magenta + BL_RED = 0x4000; + BL_GREEN = 0x4000; + BL_BLUE = 0x4000; + break; + case 5: + // Purple + BL_RED = 0x0000; + BL_GREEN = 0xFFFF; + BL_BLUE = 0x0000; + break; + case 6: + // Yellow + BL_RED = 0x0000; + BL_GREEN = 0x0000; + BL_BLUE = 0xFFFF; + break; + default: + xprintf("Unknown level: %d\n", level); + } +} |