Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Nyquist Rev 3 #4287

Merged
merged 2 commits into from
Nov 5, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Add Nyquist Rev 3
  • Loading branch information
nooges committed Nov 5, 2018
commit 8c9066751650858b3a205a2ea3fa367974bce1e6
2 changes: 0 additions & 2 deletions keyboards/nyquist/eeprom-lefthand.eep

This file was deleted.

2 changes: 0 additions & 2 deletions keyboards/nyquist/eeprom-righthand.eep

This file was deleted.

3 changes: 3 additions & 0 deletions keyboards/nyquist/nyquist.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
#ifdef KEYBOARD_nyquist_rev2
#include "rev2.h"
#endif
#ifdef KEYBOARD_nyquist_rev3
#include "rev3.h"
#endif

#include "quantum.h"

Expand Down
5 changes: 1 addition & 4 deletions keyboards/nyquist/rev1/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef REV1_CONFIG_H
#define REV1_CONFIG_H
#pragma once

#include QMK_KEYBOARD_CONFIG_H

Expand Down Expand Up @@ -81,5 +80,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION

#endif
5 changes: 1 addition & 4 deletions keyboards/nyquist/rev1/rev1.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef REV1_H
#define REV1_H
#pragma once

#include "nyquist.h"

Expand Down Expand Up @@ -64,5 +63,3 @@
#endif

#define LAYOUT_ortho_5x12 LAYOUT

#endif
5 changes: 1 addition & 4 deletions keyboards/nyquist/rev2/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef REV2_CONFIG_H
#define REV2_CONFIG_H
#pragma once

#include QMK_KEYBOARD_CONFIG_H
drashna marked this conversation as resolved.
Show resolved Hide resolved

Expand Down Expand Up @@ -82,5 +81,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION

#endif
83 changes: 83 additions & 0 deletions keyboards/nyquist/rev3/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
/*
Copyright 2017 Danny Nguyen <danny@keeb.io>

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 QMK_KEYBOARD_CONFIG_H
drashna marked this conversation as resolved.
Show resolved Hide resolved

/* USB Device descriptor parameter */
#define VENDOR_ID 0xCB10
#define PRODUCT_ID 0x1156
#define DEVICE_VER 0x0300
#define MANUFACTURER Keebio
#define PRODUCT The Nyquist Keyboard
#define DESCRIPTION Split 60 percent ortholinear keyboard

/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
#define MATRIX_COLS 6

// wiring of each half
#define MATRIX_ROW_PINS { F0, F5, D7, F6, F7 }
#define MATRIX_COL_PINS { F1, F4, B7, D2, D3, D4 }

/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST

/* 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)) \
)

/* ws2812 RGB LED */
#define RGB_DI_PIN B4
#define RGBLIGHT_TIMER
#define RGBLED_NUM 12

/* Backlight LEDs */
#define BACKLIGHT_PIN D5
#define BACKLIGHT_LEVELS 7

/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/

/* disable debug print */
// #define NO_DEBUG

/* disable print */
// #define NO_PRINT

/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
21 changes: 21 additions & 0 deletions keyboards/nyquist/rev3/rev3.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include "rev3.h"

#ifdef SSD1306OLED
void led_set_kb(uint8_t usb_led) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
led_set_user(usb_led);
}
#endif

void matrix_init_kb(void) {

// // green led on
// DDRD |= (1<<5);
// PORTD &= ~(1<<5);

// // orange led on
// DDRB |= (1<<0);
// PORTB &= ~(1<<0);

matrix_init_user();
};
63 changes: 63 additions & 0 deletions keyboards/nyquist/rev3/rev3.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#pragma once

#include "nyquist.h"
#include "quantum.h"

#ifdef USE_I2C
#include <stddef.h>
#ifdef __AVR__
#include <avr/io.h>
#include <avr/interrupt.h>
#endif
#endif

//void promicro_bootloader_jmp(bool program);

#ifndef FLIP_HALF
// Standard Keymap
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
#define LAYOUT( \
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \
) \
{ \
{ L00, L01, L02, L03, L04, L05 }, \
{ L10, L11, L12, L13, L14, L15 }, \
{ L20, L21, L22, L23, L24, L25 }, \
{ L30, L31, L32, L33, L34, L35 }, \
{ L40, L41, L42, L43, L44, L45 }, \
{ R05, R04, R03, R02, R01, R00 }, \
{ R15, R14, R13, R12, R11, R10 }, \
{ R25, R24, R23, R22, R21, R20 }, \
{ R35, R34, R33, R32, R31, R30 }, \
{ R45, R44, R43, R42, R41, R40 } \
}
#else
// Keymap with right side flipped
// (TRRS jack on both halves are to the right)
#define LAYOUT( \
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45 \
) \
{ \
{ L00, L01, L02, L03, L04, L05 }, \
{ L10, L11, L12, L13, L14, L15 }, \
{ L20, L21, L22, L23, L24, L25 }, \
{ L30, L31, L32, L33, L34, L35 }, \
{ L40, L41, L42, L43, L44, L45 }, \
{ R00, R01, R02, R03, R04, R05 }, \
{ R10, R11, R12, R13, R14, R15 }, \
{ R20, R21, R22, R23, R24, R25 }, \
{ R30, R31, R32, R33, R34, R35 }, \
{ R40, R41, R42, R43, R44, R45 } \
}
#endif

#define LAYOUT_ortho_5x12 LAYOUT

1 change: 1 addition & 0 deletions keyboards/nyquist/rev3/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
BACKLIGHT_ENABLE = yes
8 changes: 6 additions & 2 deletions keyboards/nyquist/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,13 @@ F_USB = $(F_CPU)

# Bootloader
# This definition is optional, and if your keyboard supports multiple bootloaders of
# different sizes, comment this out, and the correct address will be loaded
# different sizes, comment this out, and the correct address will be loaded
# automatically (+60). See bootloader.mk for all options.
BOOTLOADER = caterina
ifeq ($(strip $(KEYBOARD)), nyquist/rev3)
BOOTLOADER = dfu
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeessss, a decent bootloader.

Can someone actually still put a pro micro in though?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nyquist 3 actually has an on-board controller, so someone would have to go through a considerable effort to put a Pro Micro on there 😄

else
BOOTLOADER = caterina
endif

# Interrupt driven control endpoint task(+60)
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
Expand Down