From 999326acc81687794e25ad7731f37da59881e0ca Mon Sep 17 00:00:00 2001 From: Jay Greco Date: Thu, 22 Oct 2020 23:47:14 -0700 Subject: Add nullbits nibble (#9250) * Add NIBBLE keyboard * Update VID for VIA compatibility * Add QMK PR feedback * Update matrix_init_remote_kb() * Update with requested changes Clean up config, makefile rules, and keymap files * Update with changes for unified ANSI/ISO layout * Add NO_USB_STARTUP_CHECK note in readme * Add license info, update with PR changes -Refactor encoder, via_extras code -Refactor VIA specific code to live in keymap folder -Remove non-inclusive naming in remote keyboard.c/h -Add documentation to remote_keyboard.c -Add compiler check for vusb_detect for non-avr micros * Fix print formatter in encoder handler Co-authored-by: Nick Brassel * Small PR updates -Remove unneded matrix code from nibble.c -Clean up include code in nibble_encoder.h * Update Big LED headerfile -Declare Big LED functions in header file (derp) * Update keyboards/nullbitsco/nibble/nibble.c -Update with drashna's suggested CAPS LED code change Co-authored-by: Drashna Jaelre * Update keyboards/nullbitsco/nibble/rules.mk -Update with drasha's suggested makefile formatting changes Co-authored-by: Drashna Jaelre * Fix caps_lock typo Co-authored-by: Nick Brassel Co-authored-by: Drashna Jaelre --- keyboards/nullbitsco/nibble/remote_kb.h | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 keyboards/nullbitsco/nibble/remote_kb.h (limited to 'keyboards/nullbitsco/nibble/remote_kb.h') diff --git a/keyboards/nullbitsco/nibble/remote_kb.h b/keyboards/nullbitsco/nibble/remote_kb.h new file mode 100644 index 0000000000..e2b24655b5 --- /dev/null +++ b/keyboards/nullbitsco/nibble/remote_kb.h @@ -0,0 +1,53 @@ +/* Copyright 2020 Jay Greco + * + * 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 + +#include "quantum.h" +#include "tmk_core/common/uart.h" + +#define SERIAL_UART_BAUD 153600 //low error rate for 32u4 @ 16MHz + +#define UART_PREAMBLE 0x69 +#define UART_MSG_LEN 5 +#define UART_NULL 0 + +#define IDX_PREAMBLE 0 +#define IDX_KCLSB 1 +#define IDX_KCMSB 2 +#define IDX_PRESSED 3 +#define IDX_CHECKSUM 4 + +#define IS_HID_KC(x) ((x > 0) && (x < 0xFF)) +#define IS_RM_KC(x) ((x >= RM_BASE) && (x <= 0xFFFF)) + +#define RM_BASE 0xFFFF-16 +enum remote_macros { + RM_1 = RM_BASE, + RM_2, RM_3, + RM_4, RM_5, + RM_6, RM_7, + RM_8, RM_9, + RM_10, RM_11, + RM_12, RM_13, + RM_14, RM_15, +}; + + +// Public functions +void + matrix_init_remote_kb(void), + process_record_remote_kb(uint16_t keycode, keyrecord_t *record), + matrix_scan_remote_kb(void); \ No newline at end of file -- cgit v1.2.1