From 9f0dbc21a3bcb815877e321c974c55c5320605c6 Mon Sep 17 00:00:00 2001
From: Seth <fl3tching101@gmail.com>
Date: Sun, 1 Nov 2020 12:46:00 -0600
Subject: [Keyboard] beta support for the Rocketboard-16 macro/num pad (#10688)

* Firmware initial commit, still has a few bugs - mainly rotary encoders do not work and needs cleaning up

* Fixed the volume control issue and limited the RGB brightness (can be really bright), added the ability to switch LED mode with left encoder click, and added via support (untested)

* Remove define that should go in config.h

* Removed define that should be in config.h

* Removed LTO_ENABLE as suggested - has issues on ARM

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Added the correct define for OLED screen size

* Applied suggested change to remove description

Co-authored-by: Ryan <fauxpark@gmail.com>

* Made suggested change to remove backslashes

Co-authored-by: Ryan <fauxpark@gmail.com>

* Suggested change made to rgblight

Co-authored-by: Ryan <fauxpark@gmail.com>

* Suggested change made to rgblight

Co-authored-by: Ryan <fauxpark@gmail.com>

* Suggested change made to remove backslashes

Co-authored-by: Ryan <fauxpark@gmail.com>

* Suggested change made to rgblight

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/rocketboard_16/rocketboard_16.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Added suggested comments

Co-authored-by: Ryan <fauxpark@gmail.com>

* Made suggested changes to rules file

Co-authored-by: Ryan <fauxpark@gmail.com>

* Added suggested change to rgblight

Co-authored-by: Ryan <fauxpark@gmail.com>

* Added info.json for QMK configurator

* Update readme.md

* This change makes the firmware work... through magic... seriously, no idea - but it works!

* Updated dimming step, OLED functionality, and rules for formatting

- Changed the dimming step size for smoother dimming with the reduced range
- Added lots of OLED functionality - QMK logo and title at top, num/caps/scroll lock status, and backlight brightness level
- Updated the rules.mk file to comply more closely with the formatting guidelines

* Fixed tab issues

Co-authored-by: Ryan <fauxpark@gmail.com>

* Updated to use bootmagic lite with the key that usually turns rgb on/off

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
---
 keyboards/rocketboard_16/config.h | 83 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)
 create mode 100644 keyboards/rocketboard_16/config.h

(limited to 'keyboards/rocketboard_16/config.h')

diff --git a/keyboards/rocketboard_16/config.h b/keyboards/rocketboard_16/config.h
new file mode 100644
index 0000000000..a82514e0b4
--- /dev/null
+++ b/keyboards/rocketboard_16/config.h
@@ -0,0 +1,83 @@
+/*
+Copyright 2020 Seth Bonner <fl3tching101@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
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xB034
+#define PRODUCT_ID      0xFF16
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Rocketboard
+#define PRODUCT         Rocketboard-16
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 4
+
+#define MATRIX_ROW_PINS { A9, B13, B14, B15, B3 }
+#define MATRIX_COL_PINS { B8, B9, B10, B11 }
+#define DIODE_DIRECTION COL2ROW
+
+/* Bootmagic key - row 4, col 1 */
+#define BOOTMAGIC_LITE_ROW 4
+#define BOOTMAGIC_LITE_COLUMN 1
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE    5
+
+#define RGBLIGHT_ANIMATIONS
+#define RGB_DI_PIN A4
+#define RGBLED_NUM 16
+#define RGBLIGHT_LIMIT_VAL 128
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_SLEEP
+
+// OLED stuff
+#define OLED_DISPLAY_128X64
+
+// Allows for rotary encoder volume control
+#define TAP_CODE_DELAY 20
+
+/* Encoder stuff */
+#define ENCODERS_PAD_A \
+    { A0, A2 }
+#define ENCODERS_PAD_B \
+    { A1, A3 }
+
+#define LOCKING_SUPPORT_ENABLE
+#define LOCKING_RESYNC_ENABLE
+
+/*
+ * 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