summaryrefslogtreecommitdiff
path: root/keyboards/nullbitsco/scramble/v1
diff options
context:
space:
mode:
authorJay Greco <jayv.greco@gmail.com>2023-01-27 00:03:57 -0800
committerGitHub <noreply@github.com>2023-01-27 08:03:57 +0000
commitb3dca4bb36d0c08e8145f6f25649aaf61b513fdd (patch)
treeefa1166c6bae58dc30fd8f2d4157c64a1fbb4837 /keyboards/nullbitsco/scramble/v1
parent6e42b5854902963469a4016abeca48a9df5c1c46 (diff)
Add RP2040 SCRAMBLE v2 (#19489)
Diffstat (limited to 'keyboards/nullbitsco/scramble/v1')
-rw-r--r--keyboards/nullbitsco/scramble/v1/config.h36
-rw-r--r--keyboards/nullbitsco/scramble/v1/rules.mk21
-rw-r--r--keyboards/nullbitsco/scramble/v1/v1.c25
-rw-r--r--keyboards/nullbitsco/scramble/v1/v1.h18
4 files changed, 100 insertions, 0 deletions
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 <http://www.gnu.org/licenses/>.
+*/
+
+/* 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);