~ruther/qmk_firmware

d678724ca8978b4d0ad981d11be4171e6315caca — Drashna Jaelre 7 years ago 14b7602
Fix Atom47 Keyboard
17 files changed, 19 insertions(+), 250 deletions(-)

R keyboards/atom47/{rev2 => }/keymaps/LEdiodes/keymap.c
R keyboards/atom47/{rev2 => }/keymaps/LEdiodes/rules.mk
R keyboards/atom47/{ => rev1}/config.h
R keyboards/atom47/{ => rev1}/info.json
R keyboards/atom47/{atom47 => rev1/rev1}.c
R keyboards/atom47/{atom47 => rev1/rev1}.h
A keyboards/atom47/rev1/rules.mk
M keyboards/atom47/rev2/config.h
D keyboards/atom47/rev2/keymaps/LEdiodes/atom47.c
D keyboards/atom47/rev2/keymaps/LEdiodes/atom47.h
D keyboards/atom47/rev2/keymaps/LEdiodes/config.h
D keyboards/atom47/rev2/keymaps/default/keymap.c
D keyboards/atom47/rev2/keymaps/default/readme.md
R keyboards/atom47/rev2/{atom47 => rev2}.c
R keyboards/atom47/rev2/{atom47 => rev2}.h
M keyboards/atom47/rev2/rules.mk
M keyboards/atom47/rules.mk
R keyboards/atom47/rev2/keymaps/LEdiodes/keymap.c => keyboards/atom47/keymaps/LEdiodes/keymap.c +0 -0
R keyboards/atom47/rev2/keymaps/LEdiodes/rules.mk => keyboards/atom47/keymaps/LEdiodes/rules.mk +0 -0
R keyboards/atom47/config.h => keyboards/atom47/rev1/config.h +3 -3
@@ 15,8 15,8 @@ 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 CONFIG_H
#define CONFIG_H
#ifndef REV1_CONFIG_H
#define REV1_CONFIG_H

#include "config_common.h"



@@ 26,7 26,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER      0x0003
#define MANUFACTURER    Vortex
#define PRODUCT         Core
#define DESCRIPTION     Atom47 PCB for the Vortex Core
#define DESCRIPTION     Atom47 PCB for the Vortex Core Rev.1

/* key matrix size */
#define MATRIX_ROWS 4

R keyboards/atom47/info.json => keyboards/atom47/rev1/info.json +0 -0
R keyboards/atom47/atom47.c => keyboards/atom47/rev1/rev1.c +1 -1
@@ 1,4 1,4 @@
#include "atom47.h"
#include "rev1.h"
#include "led.h"

void matrix_init_kb(void) {

R keyboards/atom47/atom47.h => keyboards/atom47/rev1/rev1.h +3 -5
@@ 1,12 1,12 @@
#ifndef ATOM47_H
#define ATOM47_H
#ifndef ATOM47_REV1_H
#define ATOM47_REV1_H

#include "quantum.h"

// readability
#define XXX KC_NO

#define KEYMAP_ANSI( \
#define LAYOUT_ansi( \
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a,      k1c, \
	k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \


@@ 19,7 19,5 @@
	{k30, k31, k32, k33, XXX, k35, XXX, k37, XXX, k39, k3a, k3b, k3c}  \
}

void matrix_init_user(void);
void matrix_scan_user(void);

#endif

A keyboards/atom47/rev1/rules.mk => keyboards/atom47/rev1/rules.mk +2 -0
@@ 0,0 1,2 @@
NKRO_ENABLE = no		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
RGBLIGHT_ENABLE = yes   # Enable keyboard underlight functionality (+4870)

M keyboards/atom47/rev2/config.h => keyboards/atom47/rev2/config.h +3 -3
@@ 15,8 15,8 @@ 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 CONFIG_H
#define CONFIG_H
#ifndef REV2_CONFIG_H
#define REV2_CONFIG_H

#include "config_common.h"



@@ 26,7 26,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER      0x0003
#define MANUFACTURER    Vortex
#define PRODUCT         Core
#define DESCRIPTION     Atom47 PCB for the Vortex Core
#define DESCRIPTION     Atom47 PCB for the Vortex Core Rev.2

/* key matrix size */
#define MATRIX_ROWS 4

D keyboards/atom47/rev2/keymaps/LEdiodes/atom47.c => keyboards/atom47/rev2/keymaps/LEdiodes/atom47.c +0 -31
@@ 1,31 0,0 @@
#include "atom47.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
    DDRB &= ~(1<<5);
}

void led_set_kb(uint8_t usb_led) {
	if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
        // Turn capslock on
        PORTF |= (1<<5);
    } else {
        // Turn capslock off
        PORTF &= ~(1<<5);
    }
	led_set_user(usb_led);
}

D keyboards/atom47/rev2/keymaps/LEdiodes/atom47.h => keyboards/atom47/rev2/keymaps/LEdiodes/atom47.h +0 -25
@@ 1,25 0,0 @@
#ifndef ATOM47_H
#define ATOM47_H

#include "quantum.h"

// readability
#define XXX KC_NO

#define KEYMAP_ANSI( \
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a,      k1c, \
	k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a,      k2c, \
	k30, k31, k32, k33, k34,      k36,      k38, k39, k3a,      k3c \
) \
{ \
    {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \
	{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \
	{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, XXX, k2c}, \
	{k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3a, XXX, k3c}  \
}

void matrix_init_user(void);
void matrix_scan_user(void);

#endif

D keyboards/atom47/rev2/keymaps/LEdiodes/config.h => keyboards/atom47/rev2/keymaps/LEdiodes/config.h +0 -74
@@ 1,74 0,0 @@
/*
Copyright 2012 Maarten Dekkers <atomkeeb@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/>.
*/

#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      0x0003
#define MANUFACTURER    Vortex
#define PRODUCT         Core
#define DESCRIPTION     Atom47 PCB for the Vortex Core

/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 13

// ROWS: Top to bottom, COLS: Left to right

#define MATRIX_ROW_PINS {B1,B2,B3,B7}
#define MATRIX_COL_PINS {D7,D5,F0,F1,F4,F6,F7,D4,C7,C6,D6,B5,B4}
#define UNUSED_PINS

#define BACKLIGHT_PIN B6

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

/* Backlight configuration
 */
#define BACKLIGHT_LEVELS 4

#define RGB_DI_PIN D0    // The pin the LED strip is connected to
#define RGBLED_NUM 1     // Number of LEDs in your strip

#define QMK_ESC_OUTPUT D7 // usually COL
#define QMK_ESC_INPUT B1 // usually ROW
#define QMK_LED B6

#endif


D keyboards/atom47/rev2/keymaps/default/keymap.c => keyboards/atom47/rev2/keymaps/default/keymap.c +0 -39
@@ 1,39 0,0 @@
#include QMK_KEYBOARD_H

// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.

#define _MA 0 //Main layer
#define _FN 1 //Fn
#define _FN1 2 //Fn1
#define _PN 3 //Pn

#define _______ KC_TRNS

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MA] = LAYOUT_ansi(
  KC_ESC,		KC_Q,		KC_W,		KC_E,		KC_R,		KC_T,		KC_Y,		KC_U,		KC_I,		KC_O,		KC_P,		KC_DEL,		KC_BSPC,	\
  KC_TAB,		KC_A,		KC_S,		KC_D,		KC_F,		KC_G,		KC_H,		KC_J,		KC_K,		KC_L,		KC_SCLN,				KC_ENT,  	\
  KC_LSFT,		KC_Z,		KC_X,		KC_C,		KC_V,		KC_B,		KC_N,		KC_M,		KC_COMM,	KC_DOT,		KC_RSFT,				MO(_FN1),	\
  KC_LCTL,		KC_LGUI,	KC_LALT,	MO(_PN),	KC_SPC, 				KC_SPC,					MO(_FN),	KC_RALT,	KC_APP,					KC_RCTRL),	\
 
[_FN] = LAYOUT_ansi(
  _______,		KC_VOLD,	KC_VOLU,	KC_MUTE,	RESET,		_______,	KC_CALC,	KC_PGUP,	KC_UP,		KC_PGDN,	KC_PSCR,	KC_SLCK,	KC_PAUS,	\
  KC_CAPS,		KC_MPRV,	KC_MPLY,	KC_MNXT,	_______,	_______,	KC_HOME,	KC_LEFT,	KC_DOWN,	KC_RIGHT,	KC_INS,					_______,	\
  _______,		_______,	_______,	_______,	_______,	_______,	_______,	BL_TOGG,	BL_DEC,		BL_INC,		_______,				_______,	\
  _______,		_______,	_______,	_______,	_______, 				_______,				_______,	_______,	_______,				_______),	\
 
[_FN1] = LAYOUT_ansi(
  KC_GRV,		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_1,			KC_2,		KC_3,		KC_4,		KC_5,		KC_6,		KC_7,		KC_8,		KC_9,		KC_0,		KC_MINS,				KC_EQL,		\
  _______,		_______,	_______,	_______,	_______,	KC_QUOT,	KC_SLSH,	KC_LBRC,	KC_RBRC,	KC_BSLS,	KC_RSFT,				_______,	\
  _______,		_______,	_______,	_______,	_______, 				_______,				_______,	_______,	_______,				_______),	\
 
[_PN] = LAYOUT_ansi(
  _______,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	\
  _______,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,				_______,	\
  _______,		_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,	_______,				_______,	\
  _______,		_______,	_______,	_______,	_______, 				_______,				_______,	_______,	_______,				RESET),
};

D keyboards/atom47/rev2/keymaps/default/readme.md => keyboards/atom47/rev2/keymaps/default/readme.md +0 -1
@@ 1,1 0,0 @@
This is the default keymap as found on the Vortex Core, with some added buttons for backlight control.

R keyboards/atom47/rev2/atom47.c => keyboards/atom47/rev2/rev2.c +1 -1
@@ 1,4 1,4 @@
#include "atom47.h"
#include "rev2.h"
#include "led.h"

void matrix_init_kb(void) {

R keyboards/atom47/rev2/atom47.h => keyboards/atom47/rev2/rev2.h +1 -1
@@ 6,7 6,7 @@
// readability
#define XXX KC_NO

#define KEYMAP_ANSI( \
#define LAYOUT_ansi( \
    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a,      k1c, \
	k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a,      k2c, \

M keyboards/atom47/rev2/rules.mk => keyboards/atom47/rev2/rules.mk +0 -62
@@ 1,65 1,3 @@
# MCU name
#MCU = at90usb1287
MCU = atmega32u4

# Processor frequency.
#     This will define a symbol, F_CPU, in all source code files equal to the
#     processor frequency in Hz. You can then use this symbol in your source code to
#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
#     automatically to create a 32-bit value in your source code.
#
#     This will be an integer division of F_USB below, as it is sourced by
#     F_USB after it has run through any CPU prescalers. Note that this value
#     does not *change* the processor frequency - it should merely be updated to
#     reflect the processor speed set externally so that the code can use accurate
#     software delays.
F_CPU = 16000000


#
# LUFA specific
#
# Target architecture (see library "Board Types" documentation).
ARCH = AVR8

# Input clock frequency.
#     This will define a symbol, F_USB, in all source code files equal to the
#     input clock frequency (before any prescaling is performed) in Hz. This value may
#     differ from F_CPU if prescaling is used on the latter, and is required as the
#     raw input clock is fed directly to the PLL sections of the AVR for high speed
#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
#     at the end, this will be done automatically to create a 32-bit value in your
#     source code.
#
#     If no clock division is performed on the input clock inside the AVR (via the
#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
F_USB = $(F_CPU)

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


# Boot Section Size in *bytes*
#   Teensy halfKay   512
#   Teensy++ halfKay 1024
#   Atmel DFU loader 4096
#   LUFA bootloader  4096
#   USBaspLoader     2048
OPT_DEFS += -DBOOTLOADER_SIZE=4096


# Build Options
#   comment out to disable the options.
#
BOOTMAGIC_ENABLE = no	# Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = no	# Mouse keys(+4700)
EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
CONSOLE_ENABLE = no	# Console for debug(+400)
COMMAND_ENABLE = no    # Commands for debug and configuration
NKRO_ENABLE = yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
RGBLIGHT_ENABLE = no   # Enable keyboard underlight functionality (+4870)
BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality (+1150)
MIDI_ENABLE = no 		# MIDI controls
AUDIO_ENABLE = no
UNICODE_ENABLE = no 		# Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID

M keyboards/atom47/rules.mk => keyboards/atom47/rules.mk +5 -4
@@ 45,8 45,8 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
#   Atmel DFU loader 4096
#   LUFA bootloader  4096
#   USBaspLoader     2048
OPT_DEFS += -DBOOTLOADER_SIZE=4096

# OPT_DEFS += -DBOOTLOADER_SIZE=4096
BOOTLOADER= qmk-dfu

# Build Options
#   comment out to disable the options.


@@ 56,10 56,11 @@ MOUSEKEY_ENABLE = no	# Mouse keys(+4700)
EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
CONSOLE_ENABLE = no	# Console for debug(+400)
COMMAND_ENABLE = no    # Commands for debug and configuration
NKRO_ENABLE = no		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
RGBLIGHT_ENABLE = yes   # Enable keyboard underlight functionality (+4870)
BACKLIGHT_ENABLE = yes  # Enable keyboard backlight functionality (+1150)
MIDI_ENABLE = no 		# MIDI controls
AUDIO_ENABLE = no
UNICODE_ENABLE = no 		# Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID

DEFAULT_FOLDER = atom47/rev2