be227b43174f6ec9effbbfc25eb9a853b42cbf2f

Author
captsis <34025500+captsis@users.noreply.github.com>
Committer
Drashna Jaelre <drashna@live.com>
Date

Message

Keyboard: add orange75 (#4093)

* New Keyboard: orange75

Co-Authored-By: fox-lab <fox-lab@users.noreply.github.com>

* Update keyboards/orange75/info.json

corrected

*  #4093 corrections

* added del to layout again

* clarified supported hardware

* directives...

* Update keyboards/orange75/config.h

* Update keyboards/orange75/readme.md

Diff

This diff is truncated to protect this page.

  1diff --git a/keyboards/orange75/config.h b/keyboards/orange75/config.h
  2new file mode 100644
  3index 0000000000000000000000000000000000000000..7d1b497be0fc856a390c35257b8f6e0082442ac1
  4--- /dev/null
  5+++ b/keyboards/orange75/config.h
  6@@ -0,0 +1,35 @@
  7+#pragma once
  8+
  9+/* USB Device descriptor parameter */
 10+#define VENDOR_ID       0xFEEB
 11+#define PRODUCT_ID      0x6060
 12+#define DEVICE_VER      0x0001
 13+#define MANUFACTURER    Fox-Lab
 14+#define PRODUCT         Orange75
 15+#define DESCRIPTION     Keyboard
 16+
 17+/* key matrix size */
 18+#define MATRIX_ROWS 15
 19+#define MATRIX_COLS 6
 20+
 21+/* key matrix pins */
 22+#define MATRIX_ROW_PINS { E6,F0, F1, F4, F5, F6, F7, C7, C6, B6, B4, D7, D4, D5, D6 }
 23+#define MATRIX_COL_PINS { D3, D2, D1, D0, B7, B3 }
 24+#define UNUSED_PINS
 25+
 26+/* COL2ROW or ROW2COL */
 27+#define DIODE_DIRECTION COL2ROW
 28+
 29+/* number of backlight levels */
 30+#define BACKLIGHT_PIN B5
 31+#define BACKLIGHT_LEVELS 3
 32+
 33+
 34+/* Set 0 if debouncing isn't needed */
 35+#define DEBOUNCING_DELAY 5
 36+
 37+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 38+#define LOCKING_SUPPORT_ENABLE
 39+
 40+/* Locking resynchronize hack */
 41+#define LOCKING_RESYNC_ENABLE
 42diff --git a/keyboards/orange75/info.json b/keyboards/orange75/info.json
 43new file mode 100644
 44index 0000000000000000000000000000000000000000..093b4cd4ec40b9ee67bbc723bf2a335c7b29dfc0
 45--- /dev/null
 46+++ b/keyboards/orange75/info.json
 47@@ -0,0 +1,12 @@
 48+{
 49+    "keyboard_name": "Orange75", 
 50+    "url": "", 
 51+    "maintainer": "qmk",  
 52+    "width": 16, 
 53+    "height": 6.25, 
 54+    "layouts": {
 55+        "LAYOUT": {
 56diff --git a/keyboards/orange75/keymaps/default/keymap.c b/keyboards/orange75/keymaps/default/keymap.c
 57new file mode 100644
 58index 0000000000000000000000000000000000000000..50aaf718eccc4fe627e2e4f1721945af8599c977
 59--- /dev/null
 60+++ b/keyboards/orange75/keymaps/default/keymap.c
 61@@ -0,0 +1,53 @@
 62+
 63+#include QMK_KEYBOARD_H
 64+
 65+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 66+
 67+    LAYOUT(
 68+                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_DEL,
 69+        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_HOME, 
 70+        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_END, 
 71+        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_PGUP, 
 72+        KC_LSFT, LT(1, KC_NO), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN, 
 73+        KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, LT(1, KC_NO), KC_LEFT, KC_DOWN, KC_RGHT),
 74+
 75+    LAYOUT(
 76+        RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 
 77+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, 
 78+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, 
 79+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          BL_INC, 
 80+        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC, 
 81+        _______, _______, _______, _______, _______, _______, _______, _______, _______)
 82+};
 83+
 84+
 85+void matrix_init_user(void) {
 86+}
 87+
 88+void matrix_scan_user(void) {
 89+}
 90+
 91+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 92+    return true;
 93+}
 94+
 95+void led_set_user(uint8_t usb_led) {
 96+
 97+    if (usb_led & (1 << USB_LED_NUM_LOCK)) {
 98+        DDRB |= (1 << 0); PORTB &= ~(1 << 0);
 99+    } else {
100+        DDRB &= ~(1 << 0); PORTB &= ~(1 << 0);
101+    }
102+
103+    if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
104+        DDRB |= (1 << 1); PORTB &= ~(1 << 1);
105+    } else {
106+        DDRB &= ~(1 << 1); PORTB &= ~(1 << 1);
107+    }
108+
109+    if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
110+        DDRB |= (1 << 2); PORTB &= ~(1 << 2);
111+    } else {
112+        DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
113+    }
114+}
115diff --git a/keyboards/orange75/orange75.c b/keyboards/orange75/orange75.c
116new file mode 100644
117index 0000000000000000000000000000000000000000..2d5f73048a7262ac20e0bc380b70f854ac9d9e22
118--- /dev/null
119+++ b/keyboards/orange75/orange75.c
120@@ -0,0 +1 @@
121+#include "orange75.h"
122diff --git a/keyboards/orange75/orange75.h b/keyboards/orange75/orange75.h
123new file mode 100644
124index 0000000000000000000000000000000000000000..1b351a595cc3a0d923406c723281c983091fe8f8
125--- /dev/null
126+++ b/keyboards/orange75/orange75.h
127@@ -0,0 +1,29 @@
128+#pragma once
129+
130+#include "quantum.h"
131+
132+#define LAYOUT( \
133+	K000,       K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
134+	K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
135+	K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
136+	K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312,       K314, \
137+	K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, \
138+	K500, K501, K502,                   K506,                   K510, K511, K512, K513, K514  \
139+) { \
140+    { K000,  K100,  K200, K300, K400, K500 }, \
141+    { KC_NO, K101,  K201, K301, K401, K501 }, \
142+    { K002,  K102,  K202, K302, K402, K502 }, \
143+    { K003,  K103,  K203, K303, K403, KC_NO}, \
144+    { K004,  K104,  K204, K304, K404, KC_NO}, \
145+    { K005,  K105,  K205, K305, K405, KC_NO}, \
146+    { K006,  K106,  K206, K306, K406, K506 }, \
147+    { K007,  K107,  K207, K307, K407, KC_NO}, \
148+    { K008,  K108,  K208, K308, K408, KC_NO}, \
149+    { K009,  K109,  K209, K309, K409, KC_NO}, \
150+    { K010,  K110,  K210, K310, K410, K510 }, \
151+    { K011,  K111,  K211, K311, K411, K511 }, \
152+    { K012,  K112,  K212, K312, K412, K512 }, \
153+    { K013,  K113,  K213, KC_NO,K413, K513 }, \
154+    { K014,  K114,  K214, K314, K414, K514 } \
155+}
156+
157diff --git a/keyboards/orange75/readme.md b/keyboards/orange75/readme.md
158new file mode 100644
159index 0000000000000000000000000000000000000000..910674406297d81842bbb93c45b20496a6c171fc
160--- /dev/null
161+++ b/keyboards/orange75/readme.md
162@@ -0,0 +1,16 @@
163+# Orange75
164+
165+![Orange75](https://i.imgur.com/eAfiwwM.jpg)
166+
167+A 75% made by Fox Lab.
168+
169+Keyboard Maintainer: [captsis](https://github.com/captsis), [fox-lab](https://github.com/fox-lab)   
170+Hardware Supported: Orange75 powered by the ATmega32U4  
171+Hardware Availability: [zFrontier](https://en.zfrontier.com/collections/keyboards/products/foxlab-orange75), [Geekhack GB](https://geekhack.org/index.php?topic=95080.0)
172+
173+
174+Make example for this keyboard (after setting up your build environment):
175+
176+    make orange75:default
177+
178diff --git a/keyboards/orange75/rules.mk b/keyboards/orange75/rules.mk
179new file mode 100644
180index 0000000000000000000000000000000000000000..0f9672a51c81f6bb7105877f324ea6c2aa73d584
181--- /dev/null
182+++ b/keyboards/orange75/rules.mk
183@@ -0,0 +1,73 @@
184+# MCU name
185+MCU = atmega32u4
186+
187+# Processor frequency.
188+#     This will define a symbol, F_CPU, in all source code files equal to the
189+#     processor frequency in Hz. You can then use this symbol in your source code to
190+#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
191+#     automatically to create a 32-bit value in your source code.
192+#
193+#     This will be an integer division of F_USB below, as it is sourced by
194+#     F_USB after it has run through any CPU prescalers. Note that this value
195+#     does not *change* the processor frequency - it should merely be updated to
196+#     reflect the processor speed set externally so that the code can use accurate
197+#     software delays.
198+F_CPU = 16000000
199+
200+#
201+# LUFA specific
202+#
203+# Target architecture (see library "Board Types" documentation).
204+ARCH = AVR8
205+
206+# Input clock frequency.
207+#     This will define a symbol, F_USB, in all source code files equal to the
208+#     input clock frequency (before any prescaling is performed) in Hz. This value may
209+#     differ from F_CPU if prescaling is used on the latter, and is required as the
210+#     raw input clock is fed directly to the PLL sections of the AVR for high speed
211+#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
212+#     at the end, this will be done automatically to create a 32-bit value in your
213+#     source code.
214+#
215+#     If no clock division is performed on the input clock inside the AVR (via the
216+#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
217+F_USB = $(F_CPU)
218+
219+# Interrupt driven control endpoint task(+60)
220+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
221+
222+
223+
224+# Bootloader selection
225+#   Teensy       halfkay
226+#   Pro Micro    caterina
227+#   Atmel DFU    atmel-dfu
228+#   LUFA DFU     lufa-dfu
229+#   QMK DFU      qmk-dfu
230+#   atmega32a    bootloadHID
231+BOOTLOADER = atmel-dfu
232+
233+
234+# If you don't know the bootloader type, then you can specify the
235+# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
236+#   Teensy halfKay      512
237+#   Teensy++ halfKay    1024
238+#   Atmel DFU loader    4096
239+#   LUFA bootloader     4096
240+#   USBaspLoader        2048
241+# OPT_DEFS += -DBOOTLOADER_SIZE=4096
242+
243+
244+# Build Options
245+#   comment out to disable the options.
246+#
247+BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration(+1000)
248+MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)
249+EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
250+CONSOLE_ENABLE = no	# Console for debug(+400)
251+COMMAND_ENABLE = no    # Commands for debug and configuration
252+SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
253+NKRO_ENABLE = yes      # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
254+BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality
255+AUDIO_ENABLE = no
256+RGBLIGHT_ENABLE = no