From f3d52d8fe81da5044db4bb675ae788393d7c06a5 Mon Sep 17 00:00:00 2001 From: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue, 30 Aug 2022 13:03:30 +1000 Subject: [Keyboard] Kangaroo Rev2 (#18199) --- keyboards/xelus/kangaroo/rev1/config.h | 54 +++++++++++++++++++++++++++++++++ keyboards/xelus/kangaroo/rev1/halconf.h | 27 +++++++++++++++++ keyboards/xelus/kangaroo/rev1/info.json | 6 ++++ keyboards/xelus/kangaroo/rev1/mcuconf.h | 28 +++++++++++++++++ keyboards/xelus/kangaroo/rev1/readme.md | 14 +++++++++ keyboards/xelus/kangaroo/rev1/rev1.c | 22 ++++++++++++++ keyboards/xelus/kangaroo/rev1/rev1.h | 17 +++++++++++ keyboards/xelus/kangaroo/rev1/rules.mk | 21 +++++++++++++ 8 files changed, 189 insertions(+) create mode 100644 keyboards/xelus/kangaroo/rev1/config.h create mode 100644 keyboards/xelus/kangaroo/rev1/halconf.h create mode 100644 keyboards/xelus/kangaroo/rev1/info.json create mode 100644 keyboards/xelus/kangaroo/rev1/mcuconf.h create mode 100644 keyboards/xelus/kangaroo/rev1/readme.md create mode 100644 keyboards/xelus/kangaroo/rev1/rev1.c create mode 100644 keyboards/xelus/kangaroo/rev1/rev1.h create mode 100644 keyboards/xelus/kangaroo/rev1/rules.mk (limited to 'keyboards/xelus/kangaroo/rev1') diff --git a/keyboards/xelus/kangaroo/rev1/config.h b/keyboards/xelus/kangaroo/rev1/config.h new file mode 100644 index 0000000000..a57d22a7f8 --- /dev/null +++ b/keyboards/xelus/kangaroo/rev1/config.h @@ -0,0 +1,54 @@ +/* Copyright 2020 Harrison Chan (Xelus) + * + * 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 + +/* key matrix size */ +#define MATRIX_ROWS 12 +#define MATRIX_COLS 11 + +#define MATRIX_COL_PINS { B10, B2, B11, A10, B7, B6, B5, B4, B3, A15, A14 } +#define MATRIX_ROW_PINS { A9, A8, B15, B14, B13, B12, A4, A5, A6, A7, B0, B1 } +#define DIODE_DIRECTION COL2ROW + +/* 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 + +// I2C OLED defines +#define I2C1_SCL_PIN B8 +#define I2C1_SDA_PIN B9 + +#define I2C1_SCL_PAL_MODE 1 +#define I2C1_SDA_PAL_MODE 1 + +#define I2C1_TIMINGR_SCLDEL 3U +#define I2C1_TIMINGR_SDADEL 1U +#define I2C1_TIMINGR_SCLH 3U +#define I2C1_TIMINGR_SCLL 9U + +// I2C EEPROM +#define EEPROM_I2C_CAT24C512 + +// Dynamic EEPROM +#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 65535 diff --git a/keyboards/xelus/kangaroo/rev1/halconf.h b/keyboards/xelus/kangaroo/rev1/halconf.h new file mode 100644 index 0000000000..633d94a880 --- /dev/null +++ b/keyboards/xelus/kangaroo/rev1/halconf.h @@ -0,0 +1,27 @@ +/* Copyright 2020 QMK + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/xelus/kangaroo/halconf.h -r platforms/chibios/common/configs/halconf.h` + */ + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next + diff --git a/keyboards/xelus/kangaroo/rev1/info.json b/keyboards/xelus/kangaroo/rev1/info.json new file mode 100644 index 0000000000..523aef4aaa --- /dev/null +++ b/keyboards/xelus/kangaroo/rev1/info.json @@ -0,0 +1,6 @@ +{ + "keyboard_name": "Kangaroo Rev 1.0", + "usb": { + "device_version": "0.0.1" + } +} diff --git a/keyboards/xelus/kangaroo/rev1/mcuconf.h b/keyboards/xelus/kangaroo/rev1/mcuconf.h new file mode 100644 index 0000000000..20db196d29 --- /dev/null +++ b/keyboards/xelus/kangaroo/rev1/mcuconf.h @@ -0,0 +1,28 @@ +/* Copyright 2020 QMK + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/xelus/kangaroo/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h` + */ + +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + diff --git a/keyboards/xelus/kangaroo/rev1/readme.md b/keyboards/xelus/kangaroo/rev1/readme.md new file mode 100644 index 0000000000..800497b698 --- /dev/null +++ b/keyboards/xelus/kangaroo/rev1/readme.md @@ -0,0 +1,14 @@ +# Kangaroo Rev 1 + +Left Hand Fullsized Keyboard designed by Jono. + +* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) +* Hardware Supported: Kangaroo +* Hardware Availability: Custom keyboard group buys + +Make example for this keyboard (after setting up your build environment): + + make xelus/kangaroo/rev1:default + make xelus/kangaroo/rev1:via + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/xelus/kangaroo/rev1/rev1.c b/keyboards/xelus/kangaroo/rev1/rev1.c new file mode 100644 index 0000000000..a71f476498 --- /dev/null +++ b/keyboards/xelus/kangaroo/rev1/rev1.c @@ -0,0 +1,22 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * 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 . + */ + +#include "rev1.h" + +void board_init(void) { + SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; + SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); +} diff --git a/keyboards/xelus/kangaroo/rev1/rev1.h b/keyboards/xelus/kangaroo/rev1/rev1.h new file mode 100644 index 0000000000..f146b4f964 --- /dev/null +++ b/keyboards/xelus/kangaroo/rev1/rev1.h @@ -0,0 +1,17 @@ +/* Copyright 2022 Harrison Chan (Xelus) + * + * 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 . + */ + +#include "quantum.h" diff --git a/keyboards/xelus/kangaroo/rev1/rules.mk b/keyboards/xelus/kangaroo/rev1/rules.mk new file mode 100644 index 0000000000..80826fae5f --- /dev/null +++ b/keyboards/xelus/kangaroo/rev1/rules.mk @@ -0,0 +1,21 @@ +# MCU name +MCU = STM32F072 + +# Bootloader selection +BOOTLOADER = stm32-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output +EEPROM_DRIVER = i2c + +# Enter lower-power sleep mode when on the ChibiOS idle thread +OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -- cgit v1.2.3