From b3dca4bb36d0c08e8145f6f25649aaf61b513fdd Mon Sep 17 00:00:00 2001 From: Jay Greco Date: Fri, 27 Jan 2023 00:03:57 -0800 Subject: Add RP2040 SCRAMBLE v2 (#19489) --- keyboards/nullbitsco/scramble/v1/config.h | 36 +++++++++++++++++++++++++++++++ keyboards/nullbitsco/scramble/v1/rules.mk | 21 ++++++++++++++++++ keyboards/nullbitsco/scramble/v1/v1.c | 25 +++++++++++++++++++++ keyboards/nullbitsco/scramble/v1/v1.h | 18 ++++++++++++++++ 4 files changed, 100 insertions(+) create mode 100644 keyboards/nullbitsco/scramble/v1/config.h create mode 100644 keyboards/nullbitsco/scramble/v1/rules.mk create mode 100644 keyboards/nullbitsco/scramble/v1/v1.c create mode 100644 keyboards/nullbitsco/scramble/v1/v1.h (limited to 'keyboards/nullbitsco/scramble/v1') diff --git a/keyboards/nullbitsco/scramble/v1/config.h b/keyboards/nullbitsco/scramble/v1/config.h new file mode 100644 index 0000000000..b249b99851 --- /dev/null +++ b/keyboards/nullbitsco/scramble/v1/config.h @@ -0,0 +1,36 @@ +/* +Copyright 2021 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 . +*/ + +/* NOTE: This config file is specific to AVR builds. */ + +#pragma once + +#include "config_common.h" + +/* key matrix size */ +#define MATRIX_ROWS 2 +#define MATRIX_COLS 3 + +#define DIRECT_PINS {{D4,D5,B1}, {C3,C2,C1}} + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 10 + +/* Optional encoder pins */ +#define ENCODERS_PAD_A { D6 } +#define ENCODERS_PAD_B { D7 } +#define TAP_CODE_DELAY 10 diff --git a/keyboards/nullbitsco/scramble/v1/rules.mk b/keyboards/nullbitsco/scramble/v1/rules.mk new file mode 100644 index 0000000000..c1cf175c64 --- /dev/null +++ b/keyboards/nullbitsco/scramble/v1/rules.mk @@ -0,0 +1,21 @@ +# NOTE: This file is specific to AVR builds. + +# MCU name +MCU = atmega328p + +# Bootloader selection +BOOTLOADER = usbasploader + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +ENCODER_ENABLE = yes # Use rotary encoder diff --git a/keyboards/nullbitsco/scramble/v1/v1.c b/keyboards/nullbitsco/scramble/v1/v1.c new file mode 100644 index 0000000000..4b5e8e3e67 --- /dev/null +++ b/keyboards/nullbitsco/scramble/v1/v1.c @@ -0,0 +1,25 @@ +// Copyright 2022 Jay Greco +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "v1.h" + +void set_scramble_LED(uint8_t mode) { + switch(mode) { + case LED_ON: + setPinOutput(PIN_LED); + writePin(PIN_LED, GPIO_STATE_HIGH); + break; + + case LED_DIM: + setPinInput(PIN_LED); + break; + + case LED_OFF: + setPinOutput(PIN_LED); + writePin(PIN_LED, GPIO_STATE_LOW); + break; + + default: + break; + } +} diff --git a/keyboards/nullbitsco/scramble/v1/v1.h b/keyboards/nullbitsco/scramble/v1/v1.h new file mode 100644 index 0000000000..5dc6d4a0e8 --- /dev/null +++ b/keyboards/nullbitsco/scramble/v1/v1.h @@ -0,0 +1,18 @@ +// Copyright 2022 Jay Greco +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "scramble.h" + +// Indication LED settings +#define LED_ON 2 +#define LED_DIM 1 +#define LED_OFF 0 + +#define GPIO_STATE_LOW 0 +#define GPIO_STATE_HIGH 1 + +#define PIN_LED B2 + +void set_scramble_LED(uint8_t mode); -- cgit v1.2.3