forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keyboard] Preliminary Support for Duck Orion V3 (qmk#6892)
* initial commit * fixup init_rows and read_rows routine * fixup matrix based on Marcus's tracing info * add a temporary keymap * add notes * use a standard tkl ansi keymap * turn on that last column * backslash and backspace row left to fix * reorg from backslash to pgdn * got the matrix done but the backspace location at K4N is still suspect * add reset info into readme * add qmk configurator support * add community layout support * remove uneeded keymap readme * add a new column just for the reset switch * change copyright dates * add cautionary message to readme as we don't know about the lighting condition yet * Update keyboards/duck/orion/v3/v3.c Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update keyboards/duck/orion/v3/v3.c Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update keyboards/duck/orion/v3/v3.c Co-Authored-By: fauxpark <fauxpark@gmail.com> * change bootloader comments
- Loading branch information
1 parent
8e36400
commit b96808c
Showing
12 changed files
with
621 additions
and
0 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
{ | ||
"keyboard_name": "Duck Orion V3", | ||
"url": "", | ||
"maintainer": "qmk", | ||
"width": 18.25, | ||
"height": 6.5, | ||
"layouts": { | ||
"LAYOUT_tkl_ansi": { | ||
"layout": [{"x":0, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":0, "y":1.5}, {"x":1, "y":1.5}, {"x":2, "y":1.5}, {"x":3, "y":1.5}, {"x":4, "y":1.5}, {"x":5, "y":1.5}, {"x":6, "y":1.5}, {"x":7, "y":1.5}, {"x":8, "y":1.5}, {"x":9, "y":1.5}, {"x":10, "y":1.5}, {"x":11, "y":1.5}, {"x":12, "y":1.5}, {"x":13, "y":1.5, "w":2}, {"x":15.25, "y":1.5}, {"x":16.25, "y":1.5}, {"x":17.25, "y":1.5}, {"x":0, "y":2.5, "w":1.5}, {"x":1.5, "y":2.5}, {"x":2.5, "y":2.5}, {"x":3.5, "y":2.5}, {"x":4.5, "y":2.5}, {"x":5.5, "y":2.5}, {"x":6.5, "y":2.5}, {"x":7.5, "y":2.5}, {"x":8.5, "y":2.5}, {"x":9.5, "y":2.5}, {"x":10.5, "y":2.5}, {"x":11.5, "y":2.5}, {"x":12.5, "y":2.5}, {"x":13.5, "y":2.5, "w":1.5}, {"x":15.25, "y":2.5}, {"x":16.25, "y":2.5}, {"x":17.25, "y":2.5}, {"x":0, "y":3.5, "w":1.75}, {"x":1.75, "y":3.5}, {"x":2.75, "y":3.5}, {"x":3.75, "y":3.5}, {"x":4.75, "y":3.5}, {"x":5.75, "y":3.5}, {"x":6.75, "y":3.5}, {"x":7.75, "y":3.5}, {"x":8.75, "y":3.5}, {"x":9.75, "y":3.5}, {"x":10.75, "y":3.5}, {"x":11.75, "y":3.5}, {"x":12.75, "y":3.5, "w":2.25}, {"x":0, "y":4.5, "w":2.25}, {"x":2.25, "y":4.5}, {"x":3.25, "y":4.5}, {"x":4.25, "y":4.5}, {"x":5.25, "y":4.5}, {"x":6.25, "y":4.5}, {"x":7.25, "y":4.5}, {"x":8.25, "y":4.5}, {"x":9.25, "y":4.5}, {"x":10.25, "y":4.5}, {"x":11.25, "y":4.5}, {"x":12.25, "y":4.5, "w":2.75}, {"x":16.25, "y":4.5}, {"x":0, "y":5.5, "w":1.25}, {"x":1.25, "y":5.5, "w":1.25}, {"x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"x":10, "y":5.5, "w":1.25}, {"x":11.25, "y":5.5, "w":1.25}, {"x":12.5, "y":5.5, "w":1.25}, {"x":13.75, "y":5.5, "w":1.25}, {"x":15.25, "y":5.5}, {"x":16.25, "y":5.5}, {"x":17.25, "y":5.5}] | ||
} | ||
} | ||
} |
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,7 @@ | ||
# Duck Orion | ||
|
||
Non official firmware for custom TKL Korean keyboard made by Duck. | ||
|
||
Newest version is the [Orion V3](http://duck0113.tistory.com/127) | ||
|
||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). |
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 @@ | ||
DEFAULT_FOLDER = duck/orion/v3 |
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,50 @@ | ||
/* | ||
Copyright 2019 MechMerlin <mechmerlin@gmail.com> | ||
This program is free software: you can redistribute it and/or modify | ||
it under the terms of the GNU General Public License as published by | ||
the Free Software Foundation, either version 2 of the License, or | ||
(at your option) any later version. | ||
This program is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU General Public License for more details. | ||
You should have received a copy of the GNU General Public License | ||
along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include "config_common.h" | ||
|
||
/* USB Device descriptor parameter */ | ||
#define VENDOR_ID 0x444B // Duck ("DK") | ||
#define PRODUCT_ID 0x4F52 // Orion ("OR") | ||
#define DEVICE_VER 0x0002 | ||
#define MANUFACTURER Duck | ||
#define PRODUCT Orion V3 | ||
#define DESCRIPTION TKL Korean custom keyboard | ||
|
||
/* key matrix size */ | ||
#define MATRIX_ROWS 6 | ||
#define MATRIX_COLS 18 | ||
|
||
#define DIODE_DIRECTION COL2ROW | ||
|
||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
#define DEBOUNCE 5 | ||
|
||
/* number of backlight levels */ | ||
#define BACKLIGHT_LEVELS 3 | ||
|
||
#define RGBLIGHT_ANIMATIONS | ||
#define RGB_DI_PIN D6 | ||
#define RGBLED_NUM 17 | ||
|
||
/* Set to top left most key */ | ||
#define BOOTMAGIC_LITE_ROW 4 | ||
#define BOOTMAGIC_LITE_COLUMN 10 | ||
|
||
#define TAPPING_TERM 200 |
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,82 @@ | ||
/* | ||
Copyright 2019 MechMerlin <mechmerlin@gmail.com> | ||
This program is free software: you can redistribute it and/or modify | ||
it under the terms of the GNU General Public License as published by | ||
the Free Software Foundation, either version 2 of the License, or | ||
(at your option) any later version. | ||
This program is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU General Public License for more details. | ||
You should have received a copy of the GNU General Public License | ||
along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
#include <avr/interrupt.h> | ||
#include <avr/io.h> | ||
#include <stdbool.h> | ||
#include <util/delay.h> | ||
#include "indicator_leds.h" | ||
#include "duck_led/duck_led.h" | ||
|
||
#define LED_T1H 600 | ||
#define LED_T1L 650 | ||
#define LED_T0H 250 | ||
#define LED_T0L 1000 | ||
|
||
void send_bit_d4(bool bitVal) { | ||
if(bitVal) { | ||
asm volatile ( | ||
"sbi %[port], %[bit] \n\t" | ||
".rept %[onCycles] \n\t" | ||
"nop \n\t" | ||
".endr \n\t" | ||
"cbi %[port], %[bit] \n\t" | ||
".rept %[offCycles] \n\t" | ||
"nop \n\t" | ||
".endr \n\t" | ||
:: | ||
[port] "I" (_SFR_IO_ADDR(PORTD)), | ||
[bit] "I" (4), | ||
[onCycles] "I" (NS_TO_CYCLES(LED_T1H) - 2), | ||
[offCycles] "I" (NS_TO_CYCLES(LED_T1L) - 2)); | ||
} else { | ||
asm volatile ( | ||
"sbi %[port], %[bit] \n\t" | ||
".rept %[onCycles] \n\t" | ||
"nop \n\t" | ||
".endr \n\t" | ||
"cbi %[port], %[bit] \n\t" | ||
".rept %[offCycles] \n\t" | ||
"nop \n\t" | ||
".endr \n\t" | ||
:: | ||
[port] "I" (_SFR_IO_ADDR(PORTD)), | ||
[bit] "I" (4), | ||
[onCycles] "I" (NS_TO_CYCLES(LED_T0H) - 2), | ||
[offCycles] "I" (NS_TO_CYCLES(LED_T0L) - 2)); | ||
} | ||
} | ||
|
||
void send_value(uint8_t byte, enum Device device) { | ||
for(uint8_t b = 0; b < 8; b++) { | ||
if(device == Device_STATUSLED) { | ||
send_bit_d4(byte & 0b10000000); | ||
byte <<= 1; | ||
} | ||
} | ||
} | ||
|
||
// Send the LED indicators to the WS2811S chips | ||
void indicator_leds_set(bool leds[8]) { | ||
uint8_t led_cnt; | ||
|
||
cli(); | ||
for(led_cnt = 0; led_cnt < 8; led_cnt++) | ||
send_value(leds[led_cnt] ? 255 : 0, Device_STATUSLED); | ||
sei(); | ||
show(); | ||
} | ||
|
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 @@ | ||
void indicator_leds_set(bool leds[8]); |
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,26 @@ | ||
/* Copyright 2019 MechMerlin <mechmerlin@gmail.com> | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 2 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
#include QMK_KEYBOARD_H | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
[0] = LAYOUT_tkl_ansi(\ | ||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_SLCK,KC_PAUS, \ | ||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,KC_MINS, KC_EQL,KC_BSPC, KC_INS ,KC_HOME,KC_PGUP, \ | ||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_LBRC,KC_RBRC,KC_BSLS, KC_DEL ,KC_END ,KC_PGDN, \ | ||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,KC_SCLN,KC_QUOT, KC_ENT, \ | ||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP, \ | ||
KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT) \ | ||
}; |
Oops, something went wrong.