-
-
Notifications
You must be signed in to change notification settings - Fork 40.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5 from Wilba6582/master
Pulling in PCB changes
- Loading branch information
Showing
7 changed files
with
175 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
|
||
#include <avr/io.h> | ||
#include "backlight.h" | ||
|
||
|
||
void backlight_init_ports() | ||
{ | ||
// Setup PB7 as output and output low. | ||
DDRB |= (1<<7); | ||
PORTB &= ~(1<<7); | ||
|
||
// Use full 16-bit resolution. | ||
ICR1 = 0xFFFF; | ||
|
||
// I could write a wall of text here to explain... but TL;DW | ||
// Go read the ATmega32u4 datasheet. | ||
// And this: http://blog.saikoled.com/post/43165849837/secret-konami-cheat-code-to-high-resolution-pwm-on | ||
|
||
// Pin PB7 = OCR1C (Timer 1, Channel C) | ||
// Compare Output Mode = Clear on compare match, Channel C = COM1C1=1 COM1C0=0 | ||
// (i.e. start high, go low when counter matches.) | ||
// WGM Mode 14 (Fast PWM) = WGM13=1 WGM12=1 WGM11=1 WGM10=0 | ||
// Clock Select = clk/1 (no prescaling) = CS12=0 CS11=0 CS10=1 | ||
|
||
TCCR1A = _BV(COM1C1) | _BV(WGM11); // = 0b00001010; | ||
TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // = 0b00011001; | ||
|
||
// Default to zero duty cycle. | ||
OCR1C = 0x0000; | ||
} | ||
|
||
void backlight_set(uint8_t level) | ||
{ | ||
if ( level == 0 ) | ||
{ | ||
// Turn off PWM control on PB7, revert to output low. | ||
TCCR1A &= ~(_BV(COM1C1)); | ||
} | ||
else | ||
{ | ||
// Turn on PWM control of PB7 | ||
TCCR1A |= _BV(COM1C1); | ||
OCR1C = level << 12 | 0x0FFF; | ||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
|
||
void backlight_init_ports(void); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
#include "keymap_common.h" | ||
|
||
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
[0] = KEYMAP( /* Wilba */ | ||
FN27, FN28, FN29, E, R, T, Y, U, I, O, P, BSPC, | ||
TAB, A, S, D, F, G, H, J, K, L, SCLN, QUOT, | ||
LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ENT, | ||
LCTL, LGUI, LALT, RSFT, FN1, SPC, FN2, LEFT, DOWN, UP, RGHT), | ||
[1] = KEYMAP( /* Wilba Alternate */ | ||
ESC, Q, W, E, R, T, Y, U, I, O, P, BSPC, | ||
TAB, A, S, D, F, G, H, J, K, L, SCLN, QUOT, | ||
LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, ENT, | ||
LCTL, LGUI, LALT, RSFT, FN1, SPC, FN2, LEFT, DOWN, UP, RGHT), | ||
[2] = KEYMAP( /* Wilba LOWER */ | ||
TRNS, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, TRNS, | ||
TRNS, F11, F12, LBRC, RBRC, FN20, EQL, FN23, FN24, MINS, FN21, TRNS, | ||
TRNS, BSLS, GRV, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, | ||
TRNS, TRNS, TRNS, TRNS, FN1, TRNS, TRNS, MNXT, VOLD, VOLU, MPLY), | ||
[3] = KEYMAP( /* Wilba RAISE */ | ||
TRNS, FN10, FN11, FN12, FN13, FN14, FN15, FN16, FN17, FN18, FN19, TRNS, | ||
TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, TRNS, | ||
TRNS, FN25, FN22, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, | ||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN2, TRNS, TRNS, TRNS, TRNS), | ||
}; | ||
const uint16_t PROGMEM fn_actions[] = { | ||
[1] = ACTION_LAYER_MOMENTARY(2), // LOWER | ||
[2] = ACTION_LAYER_MOMENTARY(3), // RAISE | ||
|
||
[3] = ACTION_DEFAULT_LAYER_SET(0), | ||
[4] = ACTION_DEFAULT_LAYER_SET(1), | ||
|
||
[10] = ACTION_MODS_KEY(MOD_LSFT, KC_1), // ! | ||
[11] = ACTION_MODS_KEY(MOD_LSFT, KC_2), // @ | ||
[12] = ACTION_MODS_KEY(MOD_LSFT, KC_3), // # | ||
[13] = ACTION_MODS_KEY(MOD_LSFT, KC_4), // $ | ||
[14] = ACTION_MODS_KEY(MOD_LSFT, KC_5), // % | ||
[15] = ACTION_MODS_KEY(MOD_LSFT, KC_6), // ^ | ||
[16] = ACTION_MODS_KEY(MOD_LSFT, KC_7), // & | ||
[17] = ACTION_MODS_KEY(MOD_LSFT, KC_8), // * | ||
[18] = ACTION_MODS_KEY(MOD_LSFT, KC_9), // ( | ||
[19] = ACTION_MODS_KEY(MOD_LSFT, KC_0), // ) | ||
|
||
[20] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS), // _ | ||
[21] = ACTION_MODS_KEY(MOD_LSFT, KC_EQL), // + | ||
[22] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV), // ~ | ||
[23] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC), // { | ||
[24] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), // } | ||
[25] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // | | ||
|
||
[26] = ACTION_MODS_KEY(MOD_LSFT | MOD_RSFT, KC_PAUSE), | ||
|
||
[27] = ACTION_BACKLIGHT_TOGGLE(), | ||
[28] = ACTION_BACKLIGHT_INCREASE(), | ||
[29] = ACTION_BACKLIGHT_DECREASE() | ||
|
||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters