[Keyboard] Refactor atom47 and add rev4 and rev5 (#13201)

Co-authored-by: Nick Brassel <nick@tzarc.org>
This commit is contained in:
Evelien-Lillian Dekkers
2021-08-19 18:40:28 +02:00
committed by GitHub
parent 374b388382
commit 81e19d61c0
28 changed files with 1169 additions and 267 deletions

View File

@@ -1,5 +1,5 @@
/*
Copyright 2012 Evy Dekkers
Copyright 2021 Evelien Dekkers
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
@@ -15,17 +15,16 @@ 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 "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 VENDOR_ID 0x4705
#define PRODUCT_ID 0x8E66
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT Atom47 rev2
/* key matrix size */
#define MATRIX_ROWS 4
@@ -37,7 +36,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#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
@@ -55,13 +53,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Backlight configuration
*/
#define BACKLIGHT_PIN B6
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 4
#define LED_CAPS_LOCK_PIN F5
#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_ESC_INPUT B7 // usually ROW
#define QMK_LED B6
#endif

View File

@@ -1,12 +1,63 @@
{
"keyboard_name": "Atom47",
"url": "",
"maintainer": "evyd13",
"width": 13,
"height": 4,
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}]
"keyboard_name": "Atom47 rev2",
"url": "",
"maintainer": "evyd13",
"width": 13,
"height": 4,
"layouts": {
"LAYOUT_split_space": {
"layout": [
{"x":0, "y":0},
{"x":1, "y":0},
{"x":2, "y":0},
{"x":3, "y":0},
{"x":4, "y":0},
{"x":5, "y":0},
{"x":6, "y":0},
{"x":7, "y":0},
{"x":8, "y":0},
{"x":9, "y":0},
{"x":10, "y":0},
{"x":11, "y":0},
{"x":12, "y":0},
{"x":0, "y":1, "w":1.25},
{"x":1.25, "y":1},
{"x":2.25, "y":1},
{"x":3.25, "y":1},
{"x":4.25, "y":1},
{"x":5.25, "y":1},
{"x":6.25, "y":1},
{"x":7.25, "y":1},
{"x":8.25, "y":1},
{"x":9.25, "y":1},
{"x":10.25, "y":1},
{"x":11.25, "y":1, "w":1.75},
{"x":0, "y":2, "w":1.75},
{"x":1.75, "y":2},
{"x":2.75, "y":2},
{"x":3.75, "y":2},
{"x":4.75, "y":2},
{"x":5.75, "y":2},
{"x":6.75, "y":2},
{"x":7.75, "y":2},
{"x":8.75, "y":2},
{"x":9.75, "y":2},
{"x":10.75, "y":2, "w":1.25},
{"x":12, "y":2},
{"x":0, "y":3, "w":1.25},
{"x":1.25, "y":3},
{"x":2.25, "y":3},
{"x":3.25, "y":3},
{"x":4.25, "y":3, "w":1.75},
{"x":6, "y":3, "w":2.75},
{"x":8.75, "y":3},
{"x":9.75, "y":3},
{"x":10.75, "y":3},
{"x":11.75, "y":3, "w":1.25}
]
}
}
}
}

View File

@@ -1,21 +1,18 @@
/*
Copyright 2021 Evelien Dekkers
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/>.
*/
#include "rev2.h"
#include "led.h"
void led_init_ports(void) {
// * Set our LED pins as output
DDRB &= ~(1<<5);
//Set output high, so the capslock led is off
PORTB |= (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);
}

View File

@@ -1,25 +1,41 @@
#ifndef ATOM47_H
#define ATOM47_H
/*
Copyright 2021 Evelien Dekkers
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 "quantum.h"
// readability
#define XXX KC_NO
#define LAYOUT( \
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 \
#define LAYOUT_all LAYOUT_split_space
#define LAYOUT_split_space( \
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} \
{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

View File

@@ -1,2 +1,2 @@
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
# Build Options
RGBLIGHT_ENABLE = no