From 6c834dea7b506db480ae7a96f3b35f955824d4ec Mon Sep 17 00:00:00 2001 From: Ethan Durrant <5387347+emdarcher@users.noreply.github.com> Date: Sun, 8 Dec 2019 23:31:30 -0700 Subject: [Keyboard] Adding Navi10 macropad (#7556) * working on keymap and files for the navi10 * fixing and modifying tap dance keys and layers * cleanup, and adding my separate keymap * edited and simplified the default keymap * cleaned up files and added support for future rev2 board * readme edits * moved rev0 specific keymap to it's own folder * added revision data to the config files * added DEFAULT_FOLDER * added note on compiling for a specific revision * documentation and readme edits * moved keymaps around and cleaned up * added photo * formatting and cleanup * fixing whitespace * moving the tap dance enable to keymap folders --- keyboards/navi10/rev3/config.h | 51 ++++++++++++++++++++++++++++++++++++++++++ keyboards/navi10/rev3/rev3.c | 30 +++++++++++++++++++++++++ keyboards/navi10/rev3/rev3.h | 34 ++++++++++++++++++++++++++++ keyboards/navi10/rev3/rules.mk | 33 +++++++++++++++++++++++++++ 4 files changed, 148 insertions(+) create mode 100644 keyboards/navi10/rev3/config.h create mode 100644 keyboards/navi10/rev3/rev3.c create mode 100644 keyboards/navi10/rev3/rev3.h create mode 100644 keyboards/navi10/rev3/rules.mk (limited to 'keyboards/navi10/rev3') diff --git a/keyboards/navi10/rev3/config.h b/keyboards/navi10/rev3/config.h new file mode 100644 index 0000000000..a203cf73b5 --- /dev/null +++ b/keyboards/navi10/rev3/config.h @@ -0,0 +1,51 @@ +/* +Copyright 2019 Ethan Durrant (emdarcher) + +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 . +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0000 +#define DEVICE_VER 0x0003 +#define MANUFACTURER emdarcher +#define PRODUCT Navi10 +#define DESCRIPTION A simple and fun navigation cluster macropad with exposed components. + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 3 + +/* Keyboard Matrix Assignments */ +#define MATRIX_ROW_PINS \ + { B6, B2, B3, B4 } +#define MATRIX_COL_PINS \ + { D4, E6, B1 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 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 + diff --git a/keyboards/navi10/rev3/rev3.c b/keyboards/navi10/rev3/rev3.c new file mode 100644 index 0000000000..2b0355aa36 --- /dev/null +++ b/keyboards/navi10/rev3/rev3.c @@ -0,0 +1,30 @@ +/* Copyright 2019 Ethan Durrant (emdarcher) + * + * 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 . + */ +#include "rev3.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + + //set the indicator LED pin to Output + setPinOutput(B5); + //set HIGH for off. + writePinHigh(B5); + + //call any user functions + matrix_init_user(); +} + diff --git a/keyboards/navi10/rev3/rev3.h b/keyboards/navi10/rev3/rev3.h new file mode 100644 index 0000000000..b162d14425 --- /dev/null +++ b/keyboards/navi10/rev3/rev3.h @@ -0,0 +1,34 @@ +/* Copyright 2019 Ethan Durrant (emdarcher) + * + * 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 . + */ +#pragma once + +#include "quantum.h" + +#define LAYOUT( \ + k0, k1, k2, \ + k3, k4, k5, \ + \ + k6, \ + k7, k8, k9 \ +) \ +{ \ + {k0, k1, k2}, \ + {k3, k4, k5}, \ + {KC_NO, k6, KC_NO}, \ + {k7, k8, k9}, \ +} + + diff --git a/keyboards/navi10/rev3/rules.mk b/keyboards/navi10/rev3/rules.mk new file mode 100644 index 0000000000..b98e7eb2d6 --- /dev/null +++ b/keyboards/navi10/rev3/rules.mk @@ -0,0 +1,33 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +MIDI_ENABLE = no # MIDI support +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE = yes # Audio output on port C6 +FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches +HD44780_ENABLE = no # Enable support for HD44780 based LCDs -- cgit v1.2.3