From 4a42e10ccd698d950688b1e382e386676de4a299 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sun, 7 Jan 2018 00:14:19 -0500 Subject: [PATCH] add gb port --- keyboards/garlicboard/config.h | 58 +++++++++++++++++ keyboards/garlicboard/garlicboard.c | 65 +++++++++++++++++++ keyboards/garlicboard/garlicboard.h | 18 +++++ .../garlicboard/keymaps/default/keymap.c | 41 ++++++++++++ keyboards/garlicboard/rules.mk | 56 ++++++++++++++++ 5 files changed, 238 insertions(+) create mode 100644 keyboards/garlicboard/config.h create mode 100644 keyboards/garlicboard/garlicboard.c create mode 100644 keyboards/garlicboard/garlicboard.h create mode 100644 keyboards/garlicboard/keymaps/default/keymap.c create mode 100644 keyboards/garlicboard/rules.mk diff --git a/keyboards/garlicboard/config.h b/keyboards/garlicboard/config.h new file mode 100644 index 000000000..8f70d521a --- /dev/null +++ b/keyboards/garlicboard/config.h @@ -0,0 +1,58 @@ +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Tom Meyer +#define PRODUCT GarlicBoard +#define DESCRIPTION GarlicBoard + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 17 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B0, B1, B2, B3 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, B4, D7, D6, D4, D5, D2, D1, D0, B7 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* number of backlight levels */ + +#ifdef BACKLIGHT_PIN +#define BACKLIGHT_LEVELS 0 +#endif + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* prevent stuck modifiers */ +#define PREVENT_STUCK_MODIFIERS + + +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 0 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif + +#endif \ No newline at end of file diff --git a/keyboards/garlicboard/garlicboard.c b/keyboards/garlicboard/garlicboard.c new file mode 100644 index 000000000..525176883 --- /dev/null +++ b/keyboards/garlicboard/garlicboard.c @@ -0,0 +1,65 @@ +#include "garlicboard.h" +#include "led.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + matrix_init_user(); + led_init_ports(); +}; + +void matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + matrix_scan_user(); +}; + +void led_init_ports(void) { + // * Set our LED pins as output + DDRE |= (1<<6); + DDRD |= (1<<3); + DDRC |= (1<<6); + DDRC |= (1<<7); +} + +void led_set_kb(uint8_t usb_led) { + if (usb_led & (1<