diff options
Diffstat (limited to 'keyboards/preonic/rev3')
-rw-r--r-- | keyboards/preonic/rev3/config.h | 134 | ||||
-rw-r--r-- | keyboards/preonic/rev3/info.json | 330 | ||||
-rw-r--r-- | keyboards/preonic/rev3/matrix.c | 187 | ||||
-rw-r--r-- | keyboards/preonic/rev3/rev3.c | 24 | ||||
-rw-r--r-- | keyboards/preonic/rev3/rev3.h | 123 | ||||
-rw-r--r-- | keyboards/preonic/rev3/rules.mk | 24 |
6 files changed, 0 insertions, 822 deletions
diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h deleted file mode 100644 index c37f263adc..0000000000 --- a/keyboards/preonic/rev3/config.h +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright 2018 Jack Humbert <jack.humb@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 REV3_CONFIG_H -#define REV3_CONFIG_H - -/* USB Device descriptor parameter */ -#define DEVICE_VER 0x0003 - -#undef MATRIX_ROWS -#undef MATRIX_COLS -/* key matrix size */ -#define MATRIX_ROWS 10 -#define MATRIX_COLS 6 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ -/* Note: These are not used for arm boards. They're here purely as documentation. - * #define MATRIX_ROW_PINS { PB0, PB1, PB2, PA15, PA10 } - * #define MATRIX_COL_PINS { PA2, PA3, PA6, PB14, PB15, PA8, PA9, PA7, PB3, PB4, PC14, PC15, PC13, PB5, PB6 } - * #define UNUSED_PINS - */ - -#define NUMBER_OF_ENCODERS 1 -#define ENCODERS_PAD_A { B12 } -#define ENCODERS_PAD_B { B13 } - -#define MUSIC_MAP -#undef AUDIO_VOICES -#undef C6_AUDIO - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 6 - -/* 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 - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * 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 - -/* - * MIDI options - */ - -/* Prevent use of disabled MIDI features in the keymap */ -//#define MIDI_ENABLE_STRICT 1 - -/* enable basic MIDI features: - - MIDI notes can be sent when in Music mode is on -*/ -//#define MIDI_BASIC - -/* enable advanced MIDI features: - - MIDI notes can be added to the keymap - - Octave shift and transpose - - Virtual sustain, portamento, and modulation wheel - - etc. -*/ -//#define MIDI_ADVANCED - -/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ -//#define MIDI_TONE_KEYCODE_OCTAVES 1 - -#define WS2812_LED_N 2 -#define RGBLED_NUM WS2812_LED_N -#define WS2812_TIM_N 2 -#define WS2812_TIM_CH 2 -#define PORT_WS2812 GPIOA -#define PIN_WS2812 1 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM2 // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection) -//#define WS2812_DMA_CHANNEL 7 // DMA channel for TIMx_UP -//#define WS2812_EXTERNAL_PULLUP - -#endif diff --git a/keyboards/preonic/rev3/info.json b/keyboards/preonic/rev3/info.json deleted file mode 100644 index b1ad1227e1..0000000000 --- a/keyboards/preonic/rev3/info.json +++ /dev/null @@ -1,330 +0,0 @@ -{ - "keyboard_name": "Preonic rev. 3", - "keyboard_folder": "preonic/rev3", - "url": "https://olkb.com/preonic", - "maintainer": "jackhumbert", - "width": 12, - "height": 5, - "layouts": { - "LAYOUT_preonic_1x2uC": { - "key_count": 59, - "layout": [ - {"label":"k00", "x":0, "y":0}, - {"label":"k01", "x":1, "y":0}, - {"label":"k02", "x":2, "y":0}, - {"label":"k03", "x":3, "y":0}, - {"label":"k04", "x":4, "y":0}, - {"label":"k05", "x":5, "y":0}, - {"label":"k06", "x":6, "y":0}, - {"label":"k07", "x":7, "y":0}, - {"label":"k08", "x":8, "y":0}, - {"label":"k09", "x":9, "y":0}, - {"label":"k0a", "x":10, "y":0}, - {"label":"k0b", "x":11, "y":0}, - {"label":"k10", "x":0, "y":1}, - {"label":"k11", "x":1, "y":1}, - {"label":"k12", "x":2, "y":1}, - {"label":"k13", "x":3, "y":1}, - {"label":"k14", "x":4, "y":1}, - {"label":"k15", "x":5, "y":1}, - {"label":"k16", "x":6, "y":1}, - {"label":"k17", "x":7, "y":1}, - {"label":"k18", "x":8, "y":1}, - {"label":"k19", "x":9, "y":1}, - {"label":"k1a", "x":10, "y":1}, - {"label":"k1b", "x":11, "y":1}, - {"label":"k20", "x":0, "y":2}, - {"label":"k21", "x":1, "y":2}, - {"label":"k22", "x":2, "y":2}, - {"label":"k23", "x":3, "y":2}, - {"label":"k24", "x":4, "y":2}, - {"label":"k25", "x":5, "y":2}, - {"label":"k26", "x":6, "y":2}, - {"label":"k27", "x":7, "y":2}, - {"label":"k28", "x":8, "y":2}, - {"label":"k29", "x":9, "y":2}, - {"label":"k2a", "x":10, "y":2}, - {"label":"k2b", "x":11, "y":2}, - {"label":"k30", "x":0, "y":3}, - {"label":"k31", "x":1, "y":3}, - {"label":"k32", "x":2, "y":3}, - {"label":"k33", "x":3, "y":3}, - {"label":"k34", "x":4, "y":3}, - {"label":"k35", "x":5, "y":3}, - {"label":"k36", "x":6, "y":3}, - {"label":"k37", "x":7, "y":3}, - {"label":"k38", "x":8, "y":3}, - {"label":"k39", "x":9, "y":3}, - {"label":"k3a", "x":10, "y":3}, - {"label":"k3b", "x":11, "y":3}, - {"label":"k40", "x":0, "y":4}, - {"label":"k41", "x":1, "y":4}, - {"label":"k42", "x":2, "y":4}, - {"label":"k43", "x":3, "y":4}, - {"label":"k44", "x":4, "y":4}, - {"label":"k45", "x":5, "y":4, "w":2}, - {"label":"k47", "x":7, "y":4}, - {"label":"k48", "x":8, "y":4}, - {"label":"k49", "x":9, "y":4}, - {"label":"k4a", "x":10, "y":4}, - {"label":"k4b", "x":11, "y":4} - ] - }, - "LAYOUT_preonic_1x2uR": { - "key_count": 59, - "layout": [ - {"label":"k00", "x":0, "y":0}, - {"label":"k01", "x":1, "y":0}, - {"label":"k02", "x":2, "y":0}, - {"label":"k03", "x":3, "y":0}, - {"label":"k04", "x":4, "y":0}, - {"label":"k05", "x":5, "y":0}, - {"label":"k06", "x":6, "y":0}, - {"label":"k07", "x":7, "y":0}, - {"label":"k08", "x":8, "y":0}, - {"label":"k09", "x":9, "y":0}, - {"label":"k0a", "x":10, "y":0}, - {"label":"k0b", "x":11, "y":0}, - {"label":"k10", "x":0, "y":1}, - {"label":"k11", "x":1, "y":1}, - {"label":"k12", "x":2, "y":1}, - {"label":"k13", "x":3, "y":1}, - {"label":"k14", "x":4, "y":1}, - {"label":"k15", "x":5, "y":1}, - {"label":"k16", "x":6, "y":1}, - {"label":"k17", "x":7, "y":1}, - {"label":"k18", "x":8, "y":1}, - {"label":"k19", "x":9, "y":1}, - {"label":"k1a", "x":10, "y":1}, - {"label":"k1b", "x":11, "y":1}, - {"label":"k20", "x":0, "y":2}, - {"label":"k21", "x":1, "y":2}, - {"label":"k22", "x":2, "y":2}, - {"label":"k23", "x":3, "y":2}, - {"label":"k24", "x":4, "y":2}, - {"label":"k25", "x":5, "y":2}, - {"label":"k26", "x":6, "y":2}, - {"label":"k27", "x":7, "y":2}, - {"label":"k28", "x":8, "y":2}, - {"label":"k29", "x":9, "y":2}, - {"label":"k2a", "x":10, "y":2}, - {"label":"k2b", "x":11, "y":2}, - {"label":"k30", "x":0, "y":3}, - {"label":"k31", "x":1, "y":3}, - {"label":"k32", "x":2, "y":3}, - {"label":"k33", "x":3, "y":3}, - {"label":"k34", "x":4, "y":3}, - {"label":"k35", "x":5, "y":3}, - {"label":"k36", "x":6, "y":3}, - {"label":"k37", "x":7, "y":3}, - {"label":"k38", "x":8, "y":3}, - {"label":"k39", "x":9, "y":3}, - {"label":"k3a", "x":10, "y":3}, - {"label":"k3b", "x":11, "y":3}, - {"label":"k40", "x":0, "y":4}, - {"label":"k41", "x":1, "y":4}, - {"label":"k42", "x":2, "y":4}, - {"label":"k43", "x":3, "y":4}, - {"label":"k44", "x":4, "y":4}, - {"label":"k45", "x":5, "y":4}, - {"label":"k47", "x":6, "y":4, "w":2}, - {"label":"k48", "x":8, "y":4}, - {"label":"k49", "x":9, "y":4}, - {"label":"k4a", "x":10, "y":4}, - {"label":"k4b", "x":11, "y":4} - ] - }, - "LAYOUT_preonic_1x2uL": { - "key_count": 59, - "layout": [ - {"label":"k00", "x":0, "y":0}, - {"label":"k01", "x":1, "y":0}, - {"label":"k02", "x":2, "y":0}, - {"label":"k03", "x":3, "y":0}, - {"label":"k04", "x":4, "y":0}, - {"label":"k05", "x":5, "y":0}, - {"label":"k06", "x":6, "y":0}, - {"label":"k07", "x":7, "y":0}, - {"label":"k08", "x":8, "y":0}, - {"label":"k09", "x":9, "y":0}, - {"label":"k0a", "x":10, "y":0}, - {"label":"k0b", "x":11, "y":0}, - {"label":"k10", "x":0, "y":1}, - {"label":"k11", "x":1, "y":1}, - {"label":"k12", "x":2, "y":1}, - {"label":"k13", "x":3, "y":1}, - {"label":"k14", "x":4, "y":1}, - {"label":"k15", "x":5, "y":1}, - {"label":"k16", "x":6, "y":1}, - {"label":"k17", "x":7, "y":1}, - {"label":"k18", "x":8, "y":1}, - {"label":"k19", "x":9, "y":1}, - {"label":"k1a", "x":10, "y":1}, - {"label":"k1b", "x":11, "y":1}, - {"label":"k20", "x":0, "y":2}, - {"label":"k21", "x":1, "y":2}, - {"label":"k22", "x":2, "y":2}, - {"label":"k23", "x":3, "y":2}, - {"label":"k24", "x":4, "y":2}, - {"label":"k25", "x":5, "y":2}, - {"label":"k26", "x":6, "y":2}, - {"label":"k27", "x":7, "y":2}, - {"label":"k28", "x":8, "y":2}, - {"label":"k29", "x":9, "y":2}, - {"label":"k2a", "x":10, "y":2}, - {"label":"k2b", "x":11, "y":2}, - {"label":"k30", "x":0, "y":3}, - {"label":"k31", "x":1, "y":3}, - {"label":"k32", "x":2, "y":3}, - {"label":"k33", "x":3, "y":3}, - {"label":"k34", "x":4, "y":3}, - {"label":"k35", "x":5, "y":3}, - {"label":"k36", "x":6, "y":3}, - {"label":"k37", "x":7, "y":3}, - {"label":"k38", "x":8, "y":3}, - {"label":"k39", "x":9, "y":3}, - {"label":"k3a", "x":10, "y":3}, - {"label":"k3b", "x":11, "y":3}, - {"label":"k40", "x":0, "y":4}, - {"label":"k41", "x":1, "y":4}, - {"label":"k42", "x":2, "y":4}, - {"label":"k43", "x":3, "y":4}, - {"label":"k44", "x":4, "y":4, "w":2}, - {"label":"k46", "x":6, "y":4}, - {"label":"k47", "x":7, "y":4}, - {"label":"k48", "x":8, "y":4}, - {"label":"k49", "x":9, "y":4}, - {"label":"k4a", "x":10, "y":4}, - {"label":"k4b", "x":11, "y":4} - ] - }, - "LAYOUT_preonic_2x2u": { - "key_count": 58, - "layout": [ - {"label":"k00", "x":0, "y":0}, - {"label":"k01", "x":1, "y":0}, - {"label":"k02", "x":2, "y":0}, - {"label":"k03", "x":3, "y":0}, - {"label":"k04", "x":4, "y":0}, - {"label":"k05", "x":5, "y":0}, - {"label":"k06", "x":6, "y":0}, - {"label":"k07", "x":7, "y":0}, - {"label":"k08", "x":8, "y":0}, - {"label":"k09", "x":9, "y":0}, - {"label":"k0a", "x":10, "y":0}, - {"label":"k0b", "x":11, "y":0}, - {"label":"k10", "x":0, "y":1}, - {"label":"k11", "x":1, "y":1}, - {"label":"k12", "x":2, "y":1}, - {"label":"k13", "x":3, "y":1}, - {"label":"k14", "x":4, "y":1}, - {"label":"k15", "x":5, "y":1}, - {"label":"k16", "x":6, "y":1}, - {"label":"k17", "x":7, "y":1}, - {"label":"k18", "x":8, "y":1}, - {"label":"k19", "x":9, "y":1}, - {"label":"k1a", "x":10, "y":1}, - {"label":"k1b", "x":11, "y":1}, - {"label":"k20", "x":0, "y":2}, - {"label":"k21", "x":1, "y":2}, - {"label":"k22", "x":2, "y":2}, - {"label":"k23", "x":3, "y":2}, - {"label":"k24", "x":4, "y":2}, - {"label":"k25", "x":5, "y":2}, - {"label":"k26", "x":6, "y":2}, - {"label":"k27", "x":7, "y":2}, - {"label":"k28", "x":8, "y":2}, - {"label":"k29", "x":9, "y":2}, - {"label":"k2a", "x":10, "y":2}, - {"label":"k2b", "x":11, "y":2}, - {"label":"k30", "x":0, "y":3}, - {"label":"k31", "x":1, "y":3}, - {"label":"k32", "x":2, "y":3}, - {"label":"k33", "x":3, "y":3}, - {"label":"k34", "x":4, "y":3}, - {"label":"k35", "x":5, "y":3}, - {"label":"k36", "x":6, "y":3}, - {"label":"k37", "x":7, "y":3}, - {"label":"k38", "x":8, "y":3}, - {"label":"k39", "x":9, "y":3}, - {"label":"k3a", "x":10, "y":3}, - {"label":"k3b", "x":11, "y":3}, - {"label":"k40", "x":0, "y":4}, - {"label":"k41", "x":1, "y":4}, - {"label":"k42", "x":2, "y":4}, - {"label":"k43", "x":3, "y":4}, - {"label":"k44", "x":4, "y":4, "w":2}, - {"label":"k46", "x":6, "y":4, "w":2}, - {"label":"k48", "x":8, "y":4}, - {"label":"k49", "x":9, "y":4}, - {"label":"k4a", "x":10, "y":4}, - {"label":"k4b", "x":11, "y":4} - ] - }, - "LAYOUT_ortho_5x12": { - "key_count": 60, - "layout": [ - {"label":"k00", "x":0, "y":0}, - {"label":"k01", "x":1, "y":0}, - {"label":"k02", "x":2, "y":0}, - {"label":"k03", "x":3, "y":0}, - {"label":"k04", "x":4, "y":0}, - {"label":"k05", "x":5, "y":0}, - {"label":"k06", "x":6, "y":0}, - {"label":"k07", "x":7, "y":0}, - {"label":"k08", "x":8, "y":0}, - {"label":"k09", "x":9, "y":0}, - {"label":"k0a", "x":10, "y":0}, - {"label":"k0b", "x":11, "y":0}, - {"label":"k10", "x":0, "y":1}, - {"label":"k11", "x":1, "y":1}, - {"label":"k12", "x":2, "y":1}, - {"label":"k13", "x":3, "y":1}, - {"label":"k14", "x":4, "y":1}, - {"label":"k15", "x":5, "y":1}, - {"label":"k16", "x":6, "y":1}, - {"label":"k17", "x":7, "y":1}, - {"label":"k18", "x":8, "y":1}, - {"label":"k19", "x":9, "y":1}, - {"label":"k1a", "x":10, "y":1}, - {"label":"k1b", "x":11, "y":1}, - {"label":"k20", "x":0, "y":2}, - {"label":"k21", "x":1, "y":2}, - {"label":"k22", "x":2, "y":2}, - {"label":"k23", "x":3, "y":2}, - {"label":"k24", "x":4, "y":2}, - {"label":"k25", "x":5, "y":2}, - {"label":"k26", "x":6, "y":2}, - {"label":"k27", "x":7, "y":2}, - {"label":"k28", "x":8, "y":2}, - {"label":"k29", "x":9, "y":2}, - {"label":"k2a", "x":10, "y":2}, - {"label":"k2b", "x":11, "y":2}, - {"label":"k30", "x":0, "y":3}, - {"label":"k31", "x":1, "y":3}, - {"label":"k32", "x":2, "y":3}, - {"label":"k33", "x":3, "y":3}, - {"label":"k34", "x":4, "y":3}, - {"label":"k35", "x":5, "y":3}, - {"label":"k36", "x":6, "y":3}, - {"label":"k37", "x":7, "y":3}, - {"label":"k38", "x":8, "y":3}, - {"label":"k39", "x":9, "y":3}, - {"label":"k3a", "x":10, "y":3}, - {"label":"k3b", "x":11, "y":3}, - {"label":"k40", "x":0, "y":4}, - {"label":"k41", "x":1, "y":4}, - {"label":"k42", "x":2, "y":4}, - {"label":"k43", "x":3, "y":4}, - {"label":"k44", "x":4, "y":4}, - {"label":"k45", "x":5, "y":4}, - {"label":"k46", "x":6, "y":4}, - {"label":"k47", "x":7, "y":4}, - {"label":"k48", "x":8, "y":4}, - {"label":"k49", "x":9, "y":4}, - {"label":"k4a", "x":10, "y":4}, - {"label":"k4b", "x":11, "y":4} - ] - } - } -} diff --git a/keyboards/preonic/rev3/matrix.c b/keyboards/preonic/rev3/matrix.c deleted file mode 100644 index db7a4f2a3a..0000000000 --- a/keyboards/preonic/rev3/matrix.c +++ /dev/null @@ -1,187 +0,0 @@ -#include <stdint.h> -#include <stdbool.h> -#include <string.h> -#include "hal.h" -#include "timer.h" -#include "wait.h" -#include "printf.h" -#include "backlight.h" -#include "matrix.h" -#include "action.h" -#include "keycode.h" -#include <string.h> - -/* - * col: { B11, B10, B2, B1, A7, B0 } - * row: { A10, A9, A8, B15, C13, C14, C15, A2 } - */ -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; -static matrix_col_t matrix_debouncing[MATRIX_COLS]; -static bool debouncing = false; -static uint16_t debouncing_time = 0; - -static bool dip_switch[4] = {0, 0, 0, 0}; - -__attribute__ ((weak)) -void matrix_init_user(void) {} - -__attribute__ ((weak)) -void matrix_scan_user(void) {} - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -void matrix_init(void) { - printf("matrix init\n"); - //debug_matrix = true; - - // dip switch setup - palSetPadMode(GPIOB, 14, PAL_MODE_INPUT_PULLUP); - palSetPadMode(GPIOA, 15, PAL_MODE_INPUT_PULLUP); - palSetPadMode(GPIOA, 10, PAL_MODE_INPUT_PULLUP); - palSetPadMode(GPIOB, 9, PAL_MODE_INPUT_PULLUP); - - // actual matrix setup - palSetPadMode(GPIOB, 11, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 10, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 2, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 1, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOA, 7, PAL_MODE_OUTPUT_PUSHPULL); - palSetPadMode(GPIOB, 0, PAL_MODE_OUTPUT_PUSHPULL); - - palSetPadMode(GPIOA, 10, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOA, 9, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOA, 8, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOB, 15, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOC, 13, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOC, 14, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOC, 15, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOA, 2, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOA, 3, PAL_MODE_INPUT_PULLDOWN); - palSetPadMode(GPIOA, 6, PAL_MODE_INPUT_PULLDOWN); - - - memset(matrix, 0, MATRIX_ROWS * sizeof(matrix_row_t)); - memset(matrix_debouncing, 0, MATRIX_COLS * sizeof(matrix_col_t)); - - - matrix_init_quantum(); -} - -__attribute__ ((weak)) -void dip_update(uint8_t index, bool active) { } - -__attribute__ ((weak)) -void encoder_update(bool clockwise) { } - -bool last_dip_switch[4] = {0}; - -#ifndef ENCODER_RESOLUTION - #define ENCODER_RESOLUTION 4 -#endif - -uint8_t matrix_scan(void) { - // dip switch - dip_switch[0] = !palReadPad(GPIOB, 14); - dip_switch[1] = !palReadPad(GPIOA, 15); - dip_switch[2] = !palReadPad(GPIOA, 10); - dip_switch[3] = !palReadPad(GPIOB, 9); - for (uint8_t i = 0; i < 4; i++) { - if (last_dip_switch[i] ^ dip_switch[i]) - dip_update(i, dip_switch[i]); - } - memcpy(last_dip_switch, dip_switch, sizeof(&dip_switch)); - - // actual matrix - for (int col = 0; col < MATRIX_COLS; col++) { - matrix_col_t data = 0; - - // strobe col { B11, B10, B2, B1, A7, B0 } - switch (col) { - case 0: palSetPad(GPIOB, 11); break; - case 1: palSetPad(GPIOB, 10); break; - case 2: palSetPad(GPIOB, 2); break; - case 3: palSetPad(GPIOB, 1); break; - case 4: palSetPad(GPIOA, 7); break; - case 5: palSetPad(GPIOB, 0); break; - } - - // need wait to settle pin state - wait_us(20); - - // read row data { A10, A9, A8, B15, C13, C14, C15, A2 } - data = ( - (palReadPad(GPIOA, 10) << 0 ) | - (palReadPad(GPIOA, 9) << 1 ) | - (palReadPad(GPIOA, 8) << 2 ) | - (palReadPad(GPIOB, 15) << 3 ) | - (palReadPad(GPIOC, 13) << 4 ) | - (palReadPad(GPIOC, 14) << 5 ) | - (palReadPad(GPIOC, 15) << 6 ) | - (palReadPad(GPIOA, 2) << 7 ) | - (palReadPad(GPIOA, 3) << 8 ) | - (palReadPad(GPIOA, 6) << 9 ) - ); - - // unstrobe col { B11, B10, B2, B1, A7, B0 } - switch (col) { - case 0: palClearPad(GPIOB, 11); break; - case 1: palClearPad(GPIOB, 10); break; - case 2: palClearPad(GPIOB, 2); break; - case 3: palClearPad(GPIOB, 1); break; - case 4: palClearPad(GPIOA, 7); break; - case 5: palClearPad(GPIOB, 0); break; - } - - if (matrix_debouncing[col] != data) { - matrix_debouncing[col] = data; - debouncing = true; - debouncing_time = timer_read(); - } - } - - if (debouncing && timer_elapsed(debouncing_time) > DEBOUNCE) { - for (int row = 0; row < MATRIX_ROWS; row++) { - matrix[row] = 0; - for (int col = 0; col < MATRIX_COLS; col++) { - matrix[row] |= ((matrix_debouncing[col] & (1 << row) ? 1 : 0) << col); - } - } - debouncing = false; - } - - matrix_scan_quantum(); - - return 1; -} - -bool matrix_is_on(uint8_t row, uint8_t col) { - return (matrix[row] & (1<<col)); -} - -matrix_row_t matrix_get_row(uint8_t row) { - return matrix[row]; -} - -void matrix_print(void) { - printf("\nr/c 01234567\n"); - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - printf("%X0: ", row); - matrix_row_t data = matrix_get_row(row); - for (int col = 0; col < MATRIX_COLS; col++) { - if (data & (1<<col)) - printf("1"); - else - printf("0"); - } - printf("\n"); - } -} diff --git a/keyboards/preonic/rev3/rev3.c b/keyboards/preonic/rev3/rev3.c deleted file mode 100644 index b61beec5d3..0000000000 --- a/keyboards/preonic/rev3/rev3.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2018 Jack Humbert <jack.humb@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/>. - */ -#include "rev3.h" - -void matrix_init_kb(void) { - matrix_init_user(); -} - -void matrix_scan_kb(void) { - matrix_scan_user(); -} diff --git a/keyboards/preonic/rev3/rev3.h b/keyboards/preonic/rev3/rev3.h deleted file mode 100644 index af97239fd1..0000000000 --- a/keyboards/preonic/rev3/rev3.h +++ /dev/null @@ -1,123 +0,0 @@ -/* Copyright 2018 Jack Humbert <jack.humb@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/>. - */ - -#pragma once - -#include "preonic.h" - -#ifndef __AVR__ // Preonic rev. 3 and later - - #define LAYOUT_preonic_1x2uC( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \ - k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \ - ) \ - { \ - { k00, k01, k02, k03, k04, k05 }, \ - { k10, k11, k12, k13, k14, k15 }, \ - { k20, k21, k22, k23, k24, k25 }, \ - { k30, k31, k32, k33, k34, k35 }, \ - { k06, k07, k08, k09, k0a, k0b }, \ - { k16, k17, k18, k19, k1a, k1b }, \ - { k26, k27, k28, k29, k2a, k2b }, \ - { k36, k37, k38, k39, k3a, k3b }, \ - { k40, k41, k42, k49, k4a, k4b }, \ - { k45, k47, k48, k43, k44, k45 } \ - } - - #define LAYOUT_preonic_1x2uR( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \ - k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \ - ) \ - { \ - { k00, k01, k02, k03, k04, k05 }, \ - { k10, k11, k12, k13, k14, k15 }, \ - { k20, k21, k22, k23, k24, k25 }, \ - { k30, k31, k32, k33, k34, k35 }, \ - { k06, k07, k08, k09, k0a, k0b }, \ - { k16, k17, k18, k19, k1a, k1b }, \ - { k26, k27, k28, k29, k2a, k2b }, \ - { k36, k37, k38, k39, k3a, k3b }, \ - { k40, k41, k42, k49, k4a, k4b }, \ - { k47, k47, k48, k43, k44, k45 } \ - } - - #define LAYOUT_preonic_1x2uL( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \ - k40, k41, k42, k43, k44, k46, k47, k48, k49, k4a, k4b \ - ) \ - { \ - { k00, k01, k02, k03, k04, k05 }, \ - { k10, k11, k12, k13, k14, k15 }, \ - { k20, k21, k22, k23, k24, k25 }, \ - { k30, k31, k32, k33, k34, k35 }, \ - { k06, k07, k08, k09, k0a, k0b }, \ - { k16, k17, k18, k19, k1a, k1b }, \ - { k26, k27, k28, k29, k2a, k2b }, \ - { k36, k37, k38, k39, k3a, k3b }, \ - { k40, k41, k42, k49, k4a, k4b }, \ - { k46, k47, k48, k43, k44, k44 } \ - } - - #define LAYOUT_preonic_2x2u( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \ - k40, k41, k42, k43, k44, k46, k48, k49, k4a, k4b \ - ) \ - { \ - { k00, k01, k02, k03, k04, k05 }, \ - { k10, k11, k12, k13, k14, k15 }, \ - { k20, k21, k22, k23, k24, k25 }, \ - { k30, k31, k32, k33, k34, k35 }, \ - { k06, k07, k08, k09, k0a, k0b }, \ - { k16, k17, k18, k19, k1a, k1b }, \ - { k26, k27, k28, k29, k2a, k2b }, \ - { k36, k37, k38, k39, k3a, k3b }, \ - { k40, k41, k42, k49, k4a, k4b }, \ - { k46, k46, k48, k43, k44, k44 } \ - } - - #define LAYOUT_preonic_grid( \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ - k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \ - k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \ - ) \ - { \ - { k00, k01, k02, k03, k04, k05 }, \ - { k10, k11, k12, k13, k14, k15 }, \ - { k20, k21, k22, k23, k24, k25 }, \ - { k30, k31, k32, k33, k34, k35 }, \ - { k06, k07, k08, k09, k0a, k0b }, \ - { k16, k17, k18, k19, k1a, k1b }, \ - { k26, k27, k28, k29, k2a, k2b }, \ - { k36, k37, k38, k39, k3a, k3b }, \ - { k40, k41, k42, k49, k4a, k4b }, \ - { k46, k47, k48, k43, k44, k45 } \ - } - -#endif diff --git a/keyboards/preonic/rev3/rules.mk b/keyboards/preonic/rev3/rules.mk deleted file mode 100644 index 0c171b2fb0..0000000000 --- a/keyboards/preonic/rev3/rules.mk +++ /dev/null @@ -1,24 +0,0 @@ -# project specific files -SRC = matrix.c -LAYOUTS += ortho_5x12 - -# Cortex version -MCU = STM32F303 - -# Build Options -# comment out to disable the options. -# -BACKLIGHT_ENABLE = no -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration -## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.) -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover -CUSTOM_MATRIX = yes # Custom matrix file -AUDIO_ENABLE = yes -RGBLIGHT_ENABLE = no -# SERIAL_LINK_ENABLE = yes -ENCODER_ENABLE = yes |