From 455a0c597854b417c4dc02a462433043bddfa830 Mon Sep 17 00:00:00 2001 From: Andrew Kannan Date: Wed, 30 Oct 2019 02:45:58 -0400 Subject: [Keyboard] New CannonKeys boards and EEPROM fixes (#6968) * Add Iron165 * CannonKeys new boards and cleanup * Tmo50 info json * Update readme for TMOv2 * update via keymap tmo * info json again * Apply suggestions from code review Co-Authored-By: Drashna Jaelre * Address PR comments * More changes for rules files cleanup * info.json fixed? * Fix Savage65 matrix * Apply suggestions from code review Thanks noroadsleft for the improvements! Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Bump eeprom version * Apply suggestions from code review Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> --- keyboards/cannonkeys/iron165/config.h | 89 +++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 keyboards/cannonkeys/iron165/config.h (limited to 'keyboards/cannonkeys/iron165/config.h') diff --git a/keyboards/cannonkeys/iron165/config.h b/keyboards/cannonkeys/iron165/config.h new file mode 100644 index 0000000000..c5fcd4518a --- /dev/null +++ b/keyboards/cannonkeys/iron165/config.h @@ -0,0 +1,89 @@ +/* +Copyright 2015 Jun Wako + +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 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x5A12 +#define PRODUCT_ID 0x5165 +#define DEVICE_VER 0x0001 +/* in python2: list(u"whatever".encode('utf-16-le')) */ +/* at most 32 characters or the ugly hack in usb_main.c borks */ +#define MANUFACTURER SmithAndRune +#define PRODUCT Iron165 +#define DESCRIPTION Iron165 Keyboard + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 + +#define MATRIX_COL_PINS { A5, B10, A3, A2, B0, A8, C13, B9, B8, B7, B6, B5, B4, B3, A15, A14 } +#define MATRIX_ROW_PINS { B12, B13, B14, B15, A1 } +#define DIODE_DIRECTION COL2ROW + +#define BACKLIGHT_LEVELS 6 +#define BACKLIGHT_BREATHING +#define BREATHING_PERIOD 6 + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't 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 + +// EEPROM usage +// TODO: refactor with new user EEPROM code (coming soon) +#define EEPROM_MAGIC 0x451F +#define EEPROM_MAGIC_ADDR 40 +// Bump this every time we change what we store +// This will automatically reset the EEPROM with defaults +// and avoid loading invalid data from the EEPROM +#define EEPROM_VERSION 0x02 +#define EEPROM_VERSION_ADDR 42 + + +#define DYNAMIC_KEYMAP_LAYER_COUNT 4 +// Dynamic macro starts after dynamic keymaps (35+(4*5*15*2)) = (35+600) = 635 +// start + layer * rows * col * 2 +#define DYNAMIC_KEYMAP_EEPROM_ADDR 43 +#define EEPROM_CUSTOM_BACKLIGHT 684 +#define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 685 +#define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 192 +#define DYNAMIC_KEYMAP_MACRO_COUNT 16 + +/* + * 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 -- cgit v1.2.3