* Initial Ducky One 2 Mini keyboard and keymap
* Keymap macro issue, together with general polish suggestions
* Separate default keymap into proper default, iso and ansi versions
* info.json updates (Configurator support). DEBOUNCE define adjust.
* Unused keymap defines removed.
* update requested ducky one mini2 board changes
* ducky: don't trigger app key with left shift
* ducky: make default mouse key behavior more linear
* ducky: add GRAVE_ESC_GUI_OVERRIDE to allow for win+esc to work
* ducky: playpause on fn space
* ducky: disable RGB_MATRIX until driver is merged
* ducky: clang-format matrix and one2mini.c
* ducky: update requested changes
Remove WFI_IDLE since it's already in the rules.mk CORTEX_ENABLE_WFI_IDLE=TRUE
* ducky: update requested changes
* ducky: move winkey grave esc to default keymap
* ducky: remove dipswitch from keymap and use DIP_SWITCH_MATRIX_GRID instead
* ducky: info.json lint
* ducky: enable DIP_SWITCH_ENABLE rule
* ducky: update readme
* ducky: fix backslash on default keymap
* ducky: remove unused USB_LED_CAPSLOCK_INDEX 28
* ducky: move mbi5042 led driver to ducky keyboard
* ducky: cosmetics
* ducky: requested changes
* ducky: refactor matrix.c again so we can better compare it to other boards
* ducky: remove bootmagic_lite as the boards bootloader trigger is actually handled in its own bootloader
* ducky: remove custom matrix
* ducky: update for chibios-contrib changes
* ducky: debug new USB driver
* ducky: debug usb issues
* ducky: update chibios version
* ducky: remove halconf.h
* ducky: update rules.mk
* ducky: update chconf.h
* Matching submodules.
* Restructure to explicitly define which board is in use, remove RGB driver pending followup PR.
* Revert "Matching submodules."
This reverts commit 2fbb34e0c6
.
Co-authored-by: GitWellBack <48095880+GitWellBack@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
pull/13903/head
@ -0,0 +1,68 @@ | |||
/* Copyright 2019 /u/KeepItUnder | |||
* | |||
* 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 | |||
#include "quantum.h" | |||
/* This a shortcut to help you visually see your layout. | |||
* | |||
* The first section contains all of the arguments representing the physical | |||
* layout of the board and position of the keys. | |||
* | |||
* The second converts the arguments into a two-dimensional array which | |||
* represents the switch matrix. | |||
*/ | |||
#define LAYOUT_all( \ | |||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ | |||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ | |||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ | |||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ | |||
k40, k41, k42, k45, k4a, k4b, k4c, k4d \ | |||
) { \ | |||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, KC_NO }, \ | |||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, KC_NO }, \ | |||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \ | |||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO }, \ | |||
{ k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d } \ | |||
} | |||
#define LAYOUT_ansi( \ | |||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ | |||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ | |||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ | |||
k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ | |||
k40, k41, k42, k45, k4a, k4b, k4c, k4d \ | |||
) { \ | |||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, KC_NO }, \ | |||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, KC_NO }, \ | |||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \ | |||
{ k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO }, \ | |||
{ k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d } \ | |||
} | |||
#define LAYOUT_iso( \ | |||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ | |||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ | |||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ | |||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ | |||
k40, k41, k42, k45, k4a, k4b, k4c, k4d \ | |||
) { \ | |||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, KC_NO, }, \ | |||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, KC_NO, KC_NO, }, \ | |||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO, }, \ | |||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO, }, \ | |||
{ k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d } \ | |||
} |
@ -0,0 +1,57 @@ | |||
/* | |||
ChibiOS Driver element - Copyright (C) 2019 /u/KeepItUnder | |||
Licensed under the Apache License, Version 2.0 (the "License"); | |||
you may not use this file except in compliance with the License. | |||
You may obtain a copy of the License at | |||
http://www.apache.org/licenses/LICENSE-2.0 | |||
Unless required by applicable law or agreed to in writing, software | |||
distributed under the License is distributed on an "AS IS" BASIS, | |||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
See the License for the specific language governing permissions and | |||
limitations under the License. | |||
*/ | |||
#include "hal.h" | |||
#if HAL_USE_PAL || defined(__DOXYGEN__) | |||
/** | |||
* @brief PAL setup. | |||
* @details Digital I/O ports static configuration as defined in @p board.h. | |||
* This variable is used by the HAL when initializing the PAL driver. | |||
*/ | |||
const PALConfig pal_default_config = { | |||
# if NUC123_HAS_GPIOA | |||
{VAL_GPIOA_PMD, VAL_GPIOA_OFFD, VAL_GPIOA_DMASK, VAL_GPIOA_DBEN, VAL_GPIOA_IMD, VAL_GPIOA_IEN, VAL_GPIOA_ISRC, VAL_GPIOA_DOUT}, | |||
# endif | |||
# if NUC123_HAS_GPIOB | |||
{VAL_GPIOB_PMD, VAL_GPIOB_OFFD, VAL_GPIOB_DMASK, VAL_GPIOB_DBEN, VAL_GPIOB_IMD, VAL_GPIOB_IEN, VAL_GPIOB_ISRC, VAL_GPIOB_DOUT}, | |||
# endif | |||
# if NUC123_HAS_GPIOC | |||
{VAL_GPIOC_PMD, VAL_GPIOC_OFFD, VAL_GPIOC_DMASK, VAL_GPIOC_DBEN, VAL_GPIOC_IMD, VAL_GPIOC_IEN, VAL_GPIOC_ISRC, VAL_GPIOC_DOUT}, | |||
# endif | |||
# if NUC123_HAS_GPIOD | |||
{VAL_GPIOD_PMD, VAL_GPIOD_OFFD, VAL_GPIOD_DMASK, VAL_GPIOD_DBEN, VAL_GPIOD_IMD, VAL_GPIOD_IEN, VAL_GPIOD_ISRC, VAL_GPIOD_DOUT}, | |||
# endif | |||
# if NUC123_HAS_GPIOF | |||
{VAL_GPIOF_PMD, VAL_GPIOF_OFFD, VAL_GPIOF_DMASK, VAL_GPIOF_DBEN, VAL_GPIOF_IMD, VAL_GPIOF_IEN, VAL_GPIOF_ISRC, VAL_GPIOF_DOUT}, | |||
# endif | |||
}; | |||
#endif | |||
/** | |||
* @brief Early initialization code. | |||
* @details This initialization must be performed just after stack setup | |||
* and before any other initialization. | |||
*/ | |||
void __early_init(void) { | |||
NUC123_clock_init(); | |||
} | |||
/** | |||
* @brief Board-specific initialization code. | |||
* @todo Add your board-specific code, if any. | |||
*/ | |||
void boardInit(void) {} |
@ -0,0 +1,961 @@ | |||
/* | |||
ChibiOS Driver element - Copyright (C) 2019 /u/KeepItUnder | |||
Licensed under the Apache License, Version 2.0 (the "License"); | |||
you may not use this file except in compliance with the License. | |||
You may obtain a copy of the License at | |||
http://www.apache.org/licenses/LICENSE-2.0 | |||
Unless required by applicable law or agreed to in writing, software | |||
distributed under the License is distributed on an "AS IS" BASIS, | |||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
See the License for the specific language governing permissions and | |||
limitations under the License. | |||
*/ | |||
#ifndef BOARD_H | |||
#define BOARD_H | |||
/* | |||
* Setup for Generic NUC123 board. | |||
*/ | |||
/* | |||
* Board identifier. | |||
*/ | |||
#define BOARD_NUC123SD4AN0 | |||
#define BOARD_NAME "Nuvoton NUC123SD4AN0 MCU" | |||
/* | |||
* Board oscillators-related settings. | |||
* NOTE: LSE not fitted. | |||
* NOTE: HSE is fitted. | |||
*/ | |||
#if !defined(NUC123_LSECLK) | |||
#define NUC123_LSECLK 0U | |||
#endif | |||
#define NUC123_LSEDRV (3U << 3U) | |||
#if !defined(NUC123_HSECLK) | |||
#define NUC123_HSECLK 12000000U | |||
#endif | |||
//#define NUC123_HSE_BYPASS | |||
/* | |||
* MCU type as defined in the NUC123 header. | |||
*/ | |||
#define NUC123SD4AN0 | |||
/* | |||
* GPIO Multi Function Pin USB Setup | |||
* Requires Some GPIO pins to be disabled/set to USB | |||
*/ | |||
/* | |||
* IO pins assignments. | |||
*/ | |||
#define GPIOA_PIN0 0U | |||
#define GPIOA_PIN1 1U | |||
#define GPIOA_PIN2 2U | |||
#define GPIOA_PIN3 3U | |||
#define GPIOA_PIN4 4U | |||
#define GPIOA_PIN5 5U | |||
#define GPIOA_PIN6 6U | |||
#define GPIOA_PIN7 7U | |||
#define GPIOA_PIN8 8U | |||
#define GPIOA_PIN9 9U | |||
#define GPIOA_SPI1_MISO0 10U | |||
#define GPIOA_SPI1_CLK 11U | |||
#define GPIOA_PWM0 12U | |||
#define GPIOA_PWM1 13U | |||
#define GPIOA_PWM2 14U | |||
#define GPIOA_PWM3 15U | |||
#define GPIOB_UART0_RXD 0U | |||
#define GPIOB_UART0_TXD 1U | |||
#define GPIOB_UART0_RTS 2U | |||
#define GPIOB_UART0_CTS 3U | |||
#define GPIOB_UART1_RXD 4U | |||
#define GPIOB_UART1_TXD 5U | |||
#define GPIOB_UART1_RTS 6U | |||
#define GPIOB_UART1_CTS 7U | |||
#define GPIOB_TM0 8U | |||
#define GPIOB_TM1 9U | |||
#define GPIOB_TM2 10U | |||
#define GPIOB_PIN11 11U | |||
#define GPIOB_CLK0 12U | |||
#define GPIOB_PIN13 13U | |||
#define GPIOB_INT0 14U | |||
#define GPIOB_INT1 15U | |||
#define GPIOC_PIN0 0U | |||
#define GPIOC_PIN1 1U | |||
#define GPIOC_PIN2 2U | |||
#define GPIOC_PIN3 3U | |||
#define GPIOC_PIN4 4U | |||
#define GPIOC_PIN5 5U | |||
#define GPIOC_PIN6 6U | |||
#define GPIOC_PIN7 7U | |||
#define GPIOC_PIN8 8U | |||
#define GPIOC_PIN9 9U | |||
#define GPIOC_PIN10 10U | |||
#define GPIOC_PIN11 11U | |||
#define GPIOC_PIN12 12U | |||
#define GPIOC_PIN13 13U | |||
#define GPIOC_PIN14 14U | |||
#define GPIOC_PIN15 15U | |||
#define GPIOD_ADC0 0U | |||
#define GPIOD_ADC1 1U | |||
#define GPIOD_ADC2 2U | |||
#define GPIOD_ADC3 3U | |||
#define GPIOD_ADC4 4U | |||
#define GPIOD_ADC5 5U | |||
#define GPIOD_PIN6 6U | |||
#define GPIOD_PIN7 7U | |||
#define GPIOD_PIN8 8U | |||
#define GPIOD_PIN9 9U | |||
#define GPIOD_PIN10 10U | |||
#define GPIOD_PIN11 11U | |||
#define GPIOD_PIN12 12U | |||
#define GPIOD_PIN13 13U | |||
#define GPIOD_PIN14 14U | |||
#define GPIOD_PIN15 15U | |||
#define GPIOE_PIN0 0U | |||
#define GPIOE_PIN1 1U | |||
#define GPIOE_PIN2 2U | |||
#define GPIOE_PIN3 3U | |||
#define GPIOE_PIN4 4U | |||
#define GPIOE_PIN5 5U | |||
#define GPIOE_PIN6 6U | |||
#define GPIOE_PIN7 7U | |||
#define GPIOE_PIN8 8U | |||
#define GPIOE_PIN9 9U | |||
#define GPIOE_PIN10 10U | |||
#define GPIOE_PIN11 11U | |||
#define GPIOE_PIN12 12U | |||
#define GPIOE_PIN13 13U | |||
#define GPIOE_PIN14 14U | |||
#define GPIOE_PIN15 15U | |||
#define GPIOF_OSC_OUT 0U | |||
#define GPIOF_OSC_IN 1U | |||
#define GPIOF_I2C0_SDA 2U | |||
#define GPIOF_I2C0_SCL 3U | |||
#define GPIOF_PIN4 4U | |||
#define GPIOF_PIN5 5U | |||
#define GPIOF_PIN6 6U | |||
#define GPIOF_PIN7 7U | |||
#define GPIOF_PIN8 8U | |||
#define GPIOF_PIN9 9U | |||
#define GPIOF_PIN10 10U | |||
#define GPIOF_PIN11 11U | |||
#define GPIOF_PIN12 12U | |||
#define GPIOF_PIN13 13U | |||
#define GPIOF_PIN14 14U | |||
#define GPIOF_PIN15 15U | |||
/* | |||
* IO lines assignments. | |||
*/ | |||
#define LINE_USB_DM PAL_LINE(GPIOA, 11U) | |||
#define LINE_USB_DP PAL_LINE(GPIOA, 12U) | |||
#define LINE_SWDIO PAL_LINE(GPIOA, 13U) | |||
#define LINE_SWCLK PAL_LINE(GPIOA, 14U) | |||
// #define LINE_SPI2_SCK PAL_LINE(GPIOB, 13U) | |||
// #define LINE_SPI2_MISO PAL_LINE(GPIOB, 14U) | |||
// #define LINE_SPI2_MOSI PAL_LINE(GPIOB, 15U) | |||
#define LINE_OSC_IN PAL_LINE(GPIOF, 0U) | |||
#define LINE_OSC_OUT PAL_LINE(GPIOF, 1U) | |||
/* | |||
* I/O ports initial setup, this configuration is established soon after reset | |||
* in the initialization code. | |||
* Please refer to the NUC123 Reference Manual for details. | |||
*/ | |||
#define PIN_MODE_INPUT(n) (0U << ((n) * 2U)) | |||
#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U)) | |||
#define PIN_MODE_OPENDRAIN(n) (2U << ((n) * 2U)) | |||
#define PIN_MODE_QUASI(n) (3U << ((n) * 2U)) | |||
#define PIN_DIGITAL_EN(n) (0U << (n)) | |||
#define PIN_DIGITAL_DIS(n) (1U << (n)) | |||
#define PIN_DMASK_DIS(n) (0U << (n)) | |||
#define PIN_DMASK_EN(n) (1U << (n)) | |||
#define PIN_DBNCE_DIS(n) (0U << (n)) | |||
#define PIN_DBNCE_EN(n) (1U << (n)) | |||
#define PIN_IMD_EDGE(n) (0U << (n)) | |||
#define PIN_IMD_LVL(n) (1U << (n)) | |||
#define PIN_IEN_FELL_DIS(n) (0U << (n)) | |||
#define PIN_IEN_FELL_EN(n) (1U << (n)) | |||
#define PIN_IEN_REHL_DIS(n) ((0U << (n)) << 16) | |||
#define PIN_IEN_REHL_EN(n) ((1U << (n)) << 16) | |||
#define PIN_ISRC_EN(n) (1U << (n)) | |||
#define PIN_ISRC_DIS(n) (0U << (n)) | |||
#define PIN_ISRC_CLR(n) (1U << (n)) | |||
#define PIN_DATA_LOW(n) (0U << (n)) | |||
#define PIN_DATA_HIGH(n) (1U << (n)) | |||
/* | |||
* GPIOA setup: | |||
* | |||
* PA0 - PIN0 (input pullup). | |||
* PA1 - PIN1 (input pullup). | |||
* PA2 - PIN2 (input pullup). | |||
* PA3 - PIN3 (input pullup). | |||
* PA4 - PIN4 (input pullup). | |||
* PA5 - PIN5 (input pullup). | |||
* PA6 - PIN6 (input pullup). | |||
* PA7 - PIN7 (input pullup). | |||
* PA8 - PIN8 (input pullup). | |||
* PA9 - PIN9 (input pullup). | |||
* PA10 - SPI1_MISO0 (input pullup). | |||
* PA11 - SPI1_CLK (input floating). | |||
* PA12 - PWM0 (input floating). | |||
* PA13 - PWM1 (input pullup). | |||
* PA14 - PWM2 (input pullup). | |||
* PA15 - PWM3 (input pullup). | |||
*/ | |||
#define VAL_GPIOA_PMD (PIN_MODE_INPUT(GPIOA_PIN0) | \ | |||
PIN_MODE_INPUT(GPIOA_PIN1) | \ | |||
PIN_MODE_INPUT(GPIOA_PIN2) | \ | |||
PIN_MODE_INPUT(GPIOA_PIN3) | \ | |||
PIN_MODE_INPUT(GPIOA_PIN4) | \ | |||
PIN_MODE_INPUT(GPIOA_PIN5) | \ | |||
PIN_MODE_INPUT(GPIOA_PIN6) | \ | |||
PIN_MODE_INPUT(GPIOA_PIN7) | \ | |||
PIN_MODE_INPUT(GPIOA_PIN8) | \ | |||
PIN_MODE_INPUT(GPIOA_PIN9) | \ | |||
PIN_MODE_INPUT(GPIOA_SPI1_MISO0) | \ | |||
PIN_MODE_INPUT(GPIOA_SPI1_CLK) | \ | |||
PIN_MODE_INPUT(GPIOA_PWM0) | \ | |||
PIN_MODE_INPUT(GPIOA_PWM1) | \ | |||
PIN_MODE_INPUT(GPIOA_PWM2) | \ | |||
PIN_MODE_INPUT(GPIOA_PWM3)) | |||
#define VAL_GPIOA_OFFD (PIN_DIGITAL_EN(GPIOA_PIN0) | \ | |||
PIN_DIGITAL_EN(GPIOA_PIN1) | \ | |||
PIN_DIGITAL_EN(GPIOA_PIN2) | \ | |||
PIN_DIGITAL_EN(GPIOA_PIN3) | \ | |||
PIN_DIGITAL_EN(GPIOA_PIN4) | \ | |||
PIN_DIGITAL_EN(GPIOA_PIN5) | \ | |||
PIN_DIGITAL_EN(GPIOA_PIN6) | \ | |||
PIN_DIGITAL_EN(GPIOA_PIN7) | \ | |||
PIN_DIGITAL_EN(GPIOA_PIN8) | \ | |||
PIN_DIGITAL_EN(GPIOA_PIN9) | \ | |||
PIN_DIGITAL_EN(GPIOA_SPI1_MISO0) | \ | |||
PIN_DIGITAL_EN(GPIOA_SPI1_CLK) | \ | |||
PIN_DIGITAL_EN(GPIOA_PWM0) | \ | |||
PIN_DIGITAL_EN(GPIOA_PWM1) | \ | |||
PIN_DIGITAL_EN(GPIOA_PWM2) | \ | |||
PIN_DIGITAL_EN(GPIOA_PWM3)) | |||
#define VAL_GPIOA_DMASK (PIN_DMASK_EN(GPIOA_PIN0) | \ | |||
PIN_DMASK_EN(GPIOA_PIN1) | \ | |||
PIN_DMASK_EN(GPIOA_PIN2) | \ | |||
PIN_DMASK_EN(GPIOA_PIN3) | \ | |||
PIN_DMASK_EN(GPIOA_PIN4) | \ | |||
PIN_DMASK_EN(GPIOA_PIN5) | \ | |||
PIN_DMASK_EN(GPIOA_PIN6) | \ | |||
PIN_DMASK_EN(GPIOA_PIN7) | \ | |||
PIN_DMASK_EN(GPIOA_PIN8) | \ | |||
PIN_DMASK_EN(GPIOA_PIN9) | \ | |||
PIN_DMASK_EN(GPIOA_SPI1_MISO0) | \ | |||
PIN_DMASK_EN(GPIOA_SPI1_CLK) | \ | |||
PIN_DMASK_EN(GPIOA_PWM0) | \ | |||
PIN_DMASK_EN(GPIOA_PWM1) | \ | |||
PIN_DMASK_EN(GPIOA_PWM2) | \ | |||
PIN_DMASK_EN(GPIOA_PWM3)) | |||
#define VAL_GPIOA_DBEN (PIN_DBNCE_EN(GPIOA_PIN0) | \ | |||
PIN_DBNCE_EN(GPIOA_PIN1) | \ | |||
PIN_DBNCE_EN(GPIOA_PIN2) | \ | |||
PIN_DBNCE_EN(GPIOA_PIN3) | \ | |||
PIN_DBNCE_EN(GPIOA_PIN4) | \ | |||
PIN_DBNCE_EN(GPIOA_PIN5) | \ | |||
PIN_DBNCE_EN(GPIOA_PIN6) | \ | |||
PIN_DBNCE_EN(GPIOA_PIN7) | \ | |||
PIN_DBNCE_EN(GPIOA_PIN8) | \ | |||
PIN_DBNCE_EN(GPIOA_PIN9) | \ | |||
PIN_DBNCE_EN(GPIOA_SPI1_MISO0) | \ | |||
PIN_DBNCE_EN(GPIOA_SPI1_CLK) | \ | |||
PIN_DBNCE_EN(GPIOA_PWM0) | \ | |||
PIN_DBNCE_EN(GPIOA_PWM1) | \ | |||
PIN_DBNCE_EN(GPIOA_PWM2) | \ | |||
PIN_DBNCE_EN(GPIOA_PWM3)) | |||
#define VAL_GPIOA_IMD (PIN_IMD_EDGE(GPIOA_PIN0) | \ | |||
PIN_IMD_EDGE(GPIOA_PIN1) | \ | |||
PIN_IMD_EDGE(GPIOA_PIN2) | \ | |||
PIN_IMD_EDGE(GPIOA_PIN3) | \ | |||
PIN_IMD_EDGE(GPIOA_PIN4) | \ | |||
PIN_IMD_EDGE(GPIOA_PIN5) | \ | |||
PIN_IMD_EDGE(GPIOA_PIN6) | \ | |||
PIN_IMD_EDGE(GPIOA_PIN7) | \ | |||
PIN_IMD_EDGE(GPIOA_PIN8) | \ | |||
PIN_IMD_EDGE(GPIOA_PIN9) | \ | |||
PIN_IMD_EDGE(GPIOA_SPI1_MISO0) | \ | |||
PIN_IMD_EDGE(GPIOA_SPI1_CLK) | \ | |||
PIN_IMD_EDGE(GPIOA_PWM0) | \ | |||
PIN_IMD_EDGE(GPIOA_PWM1) | \ | |||
PIN_IMD_EDGE(GPIOA_PWM2) | \ | |||
PIN_IMD_EDGE(GPIOA_PWM3)) | |||
#define VAL_GPIOA_IEN (PIN_IEN_FELL_DIS(GPIOA_PIN0) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PIN1) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PIN2) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PIN3) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PIN4) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PIN5) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PIN6) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PIN7) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PIN8) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PIN9) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_SPI1_MISO0) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_SPI1_CLK) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PWM0) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PWM1) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PWM2) | \ | |||
PIN_IEN_FELL_DIS(GPIOA_PWM3)) | |||
#define VAL_GPIOA_ISRC (PIN_ISRC_DIS(GPIOA_PIN0) | \ | |||
PIN_ISRC_DIS(GPIOA_PIN1) | \ | |||
PIN_ISRC_DIS(GPIOA_PIN2) | \ | |||
PIN_ISRC_DIS(GPIOA_PIN3) | \ | |||
PIN_ISRC_DIS(GPIOA_PIN4) | \ | |||
PIN_ISRC_DIS(GPIOA_PIN5) | \ | |||
PIN_ISRC_DIS(GPIOA_PIN6) | \ | |||
PIN_ISRC_DIS(GPIOA_PIN7) | \ | |||
PIN_ISRC_DIS(GPIOA_PIN8) | \ | |||
PIN_ISRC_DIS(GPIOA_PIN9) | \ | |||
PIN_ISRC_DIS(GPIOA_SPI1_MISO0) | \ | |||
PIN_ISRC_DIS(GPIOA_SPI1_CLK) | \ | |||
PIN_ISRC_DIS(GPIOA_PWM0) | \ | |||
PIN_ISRC_DIS(GPIOA_PWM1) | \ | |||
PIN_ISRC_DIS(GPIOA_PWM2) | \ | |||
PIN_ISRC_DIS(GPIOA_PWM3)) | |||
#define VAL_GPIOA_DOUT (PIN_DATA_LOW(GPIOA_PIN0) | \ | |||
PIN_DATA_LOW(GPIOA_PIN1) | \ | |||
PIN_DATA_LOW(GPIOA_PIN2) | \ | |||
PIN_DATA_LOW(GPIOA_PIN3) | \ | |||
PIN_DATA_LOW(GPIOA_PIN4) | \ | |||
PIN_DATA_LOW(GPIOA_PIN5) | \ | |||
PIN_DATA_LOW(GPIOA_PIN6) | \ | |||
PIN_DATA_LOW(GPIOA_PIN7) | \ | |||
PIN_DATA_LOW(GPIOA_PIN8) | \ | |||
PIN_DATA_LOW(GPIOA_PIN9) | \ | |||
PIN_DATA_LOW(GPIOA_SPI1_MISO0) | \ | |||
PIN_DATA_LOW(GPIOA_SPI1_CLK) | \ | |||
PIN_DATA_LOW(GPIOA_PWM0) | \ | |||
PIN_DATA_LOW(GPIOA_PWM1) | \ | |||
PIN_DATA_LOW(GPIOA_PWM2) | \ | |||
PIN_DATA_LOW(GPIOA_PWM3)) | |||
/* | |||
* GPIOB setup: | |||
* | |||
* PB0 - UART0_RXD (input pullup). | |||
* PB1 - UART0_TXD (output). | |||
* PB2 - UART0_RTS (output). | |||
* PB3 - UART0_CTS (output). | |||
* PB4 - UART1_RXD (output). | |||
* PB5 - UART1_TXD (output). | |||
* PB6 - UART1_RTS (output). | |||
* PB7 - UART1_CTS (output). | |||
* PB8 - TM0 (input pullup). | |||
* PB9 - TM1 (input pullup). | |||
* PB10 - TM2 (input pullup). | |||
* PB11 - PIN11 (input pullup). | |||
* PB12 - CLK0 (output). | |||
* PB13 - PIN13 (output). | |||
* PB14 - INT0 (debug output). | |||
* PB15 - INT1 (input pullup). | |||
*/ | |||
#define VAL_GPIOB_PMD (PIN_MODE_INPUT(GPIOB_UART0_RXD) | \ | |||
PIN_MODE_OUTPUT(GPIOB_UART0_TXD) | \ | |||
PIN_MODE_OUTPUT(GPIOB_UART0_RTS) | \ | |||
PIN_MODE_OUTPUT(GPIOB_UART0_CTS) | \ | |||
PIN_MODE_OUTPUT(GPIOB_UART1_RXD) | \ | |||
PIN_MODE_OUTPUT(GPIOB_UART1_TXD) | \ | |||
PIN_MODE_OUTPUT(GPIOB_UART1_RTS) | \ | |||
PIN_MODE_OUTPUT(GPIOB_UART1_CTS) | \ | |||
PIN_MODE_INPUT(GPIOB_TM0) | \ | |||
PIN_MODE_INPUT(GPIOB_TM1) | \ | |||
PIN_MODE_INPUT(GPIOB_TM2) | \ | |||
PIN_MODE_INPUT(GPIOB_PIN11) | \ | |||
PIN_MODE_OUTPUT(GPIOB_CLK0) | \ | |||
PIN_MODE_OUTPUT(GPIOB_PIN13) | \ | |||
PIN_MODE_OUTPUT(GPIOB_INT0) | \ | |||
PIN_MODE_INPUT(GPIOB_INT1)) | |||
#define VAL_GPIOB_OFFD (PIN_DIGITAL_EN(GPIOB_UART0_RXD) | \ | |||
PIN_DIGITAL_DIS(GPIOB_UART0_TXD) | \ | |||
PIN_DIGITAL_DIS(GPIOB_UART0_RTS) | \ | |||
PIN_DIGITAL_DIS(GPIOB_UART0_CTS) | \ | |||
PIN_DIGITAL_DIS(GPIOB_UART1_RXD) | \ | |||
PIN_DIGITAL_DIS(GPIOB_UART1_TXD) | \ | |||
PIN_DIGITAL_DIS(GPIOB_UART1_RTS) | \ | |||
PIN_DIGITAL_DIS(GPIOB_UART1_CTS) | \ | |||
PIN_DIGITAL_DIS(GPIOB_TM0) | \ | |||
PIN_DIGITAL_EN(GPIOB_TM1) | \ | |||
PIN_DIGITAL_EN(GPIOB_TM2) | \ | |||
PIN_DIGITAL_EN(GPIOB_PIN11) | \ | |||
PIN_DIGITAL_DIS(GPIOB_CLK0) | \ | |||
PIN_DIGITAL_DIS(GPIOB_PIN13) | \ | |||
PIN_DIGITAL_DIS(GPIOB_INT0) | \ | |||
PIN_DIGITAL_EN(GPIOB_INT1)) | |||
#define VAL_GPIOB_DMASK (PIN_DMASK_EN(GPIOB_UART0_RXD) | \ | |||
PIN_DMASK_DIS(GPIOB_UART0_TXD) | \ | |||
PIN_DMASK_DIS(GPIOB_UART0_RTS) | \ | |||
PIN_DMASK_DIS(GPIOB_UART0_CTS) | \ | |||
PIN_DMASK_DIS(GPIOB_UART1_RXD) | \ | |||
PIN_DMASK_DIS(GPIOB_UART1_TXD) | \ | |||
PIN_DMASK_DIS(GPIOB_UART1_RTS) | \ | |||
PIN_DMASK_DIS(GPIOB_UART1_CTS) | \ | |||
PIN_DMASK_EN(GPIOB_TM0) | \ | |||
PIN_DMASK_EN(GPIOB_TM1) | \ | |||
PIN_DMASK_EN(GPIOB_TM2) | \ | |||
PIN_DMASK_EN(GPIOB_PIN11) | \ | |||
PIN_DMASK_DIS(GPIOB_CLK0) | \ | |||
PIN_DMASK_DIS(GPIOB_PIN13) | \ | |||
PIN_DMASK_DIS(GPIOB_INT0) | \ | |||
PIN_DMASK_EN(GPIOB_INT1)) | |||
#define VAL_GPIOB_DBEN (PIN_DBNCE_EN(GPIOB_UART0_RXD) | \ | |||
PIN_DBNCE_DIS(GPIOB_UART0_TXD) | \ | |||
PIN_DBNCE_DIS(GPIOB_UART0_RTS) | \ | |||
PIN_DBNCE_DIS(GPIOB_UART0_CTS) | \ | |||
PIN_DBNCE_DIS(GPIOB_UART1_RXD) | \ | |||
PIN_DBNCE_DIS(GPIOB_UART1_TXD) | \ | |||
PIN_DBNCE_DIS(GPIOB_UART1_RTS) | \ | |||
PIN_DBNCE_DIS(GPIOB_UART1_CTS) | \ | |||
PIN_DBNCE_EN(GPIOB_TM0) | \ | |||
PIN_DBNCE_EN(GPIOB_TM1) | \ | |||
PIN_DBNCE_EN(GPIOB_TM2) | \ | |||
PIN_DBNCE_EN(GPIOB_PIN11) | \ | |||
PIN_DBNCE_DIS(GPIOB_CLK0) | \ | |||
PIN_DBNCE_DIS(GPIOB_PIN13) | \ | |||
PIN_DBNCE_DIS(GPIOB_INT0) | \ | |||
PIN_DBNCE_EN(GPIOB_INT1)) | |||
#define VAL_GPIOB_IMD (PIN_IMD_EDGE(GPIOB_UART0_RXD) | \ | |||
PIN_IMD_EDGE(GPIOB_UART0_TXD) | \ | |||
PIN_IMD_EDGE(GPIOB_UART0_RTS) | \ | |||
PIN_IMD_EDGE(GPIOB_UART0_CTS) | \ | |||
PIN_IMD_EDGE(GPIOB_UART1_RXD) | \ | |||
PIN_IMD_EDGE(GPIOB_UART1_TXD) | \ | |||
PIN_IMD_EDGE(GPIOB_UART1_RTS) | \ | |||
PIN_IMD_EDGE(GPIOB_UART1_CTS) | \ | |||
PIN_IMD_EDGE(GPIOB_TM0) | \ | |||
PIN_IMD_EDGE(GPIOB_TM1) | \ | |||
PIN_IMD_EDGE(GPIOB_TM2) | \ | |||
PIN_IMD_EDGE(GPIOB_PIN11) | \ | |||
PIN_IMD_EDGE(GPIOB_CLK0) | \ | |||
PIN_IMD_EDGE(GPIOB_PIN13) | \ | |||
PIN_IMD_EDGE(GPIOB_INT0) | \ | |||
PIN_IMD_EDGE(GPIOB_INT1)) | |||
#define VAL_GPIOB_IEN (PIN_IEN_FELL_DIS(GPIOB_UART0_RXD) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_UART0_TXD) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_UART0_RTS) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_UART0_CTS) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_UART1_RXD) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_UART1_TXD) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_UART1_RTS) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_UART1_CTS) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_TM0) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_TM1) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_TM2) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_PIN11) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_CLK0) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_PIN13) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_INT0) | \ | |||
PIN_IEN_FELL_DIS(GPIOB_INT1)) | |||
#define VAL_GPIOB_ISRC (PIN_ISRC_DIS(GPIOB_UART0_RXD) | \ | |||
PIN_ISRC_DIS(GPIOB_UART0_TXD) | \ | |||
PIN_ISRC_DIS(GPIOB_UART0_RTS) | \ | |||
PIN_ISRC_DIS(GPIOB_UART0_CTS) | \ | |||
PIN_ISRC_DIS(GPIOB_UART1_RXD) | \ | |||
PIN_ISRC_DIS(GPIOB_UART1_TXD) | \ | |||
PIN_ISRC_DIS(GPIOB_UART1_RTS) | \ | |||
PIN_ISRC_DIS(GPIOB_UART1_CTS) | \ | |||
PIN_ISRC_DIS(GPIOB_TM0) | \ | |||
PIN_ISRC_DIS(GPIOB_TM1) | \ | |||
PIN_ISRC_DIS(GPIOB_TM2) | \ | |||
PIN_ISRC_DIS(GPIOB_PIN11) | \ | |||
PIN_ISRC_DIS(GPIOB_CLK0) | \ | |||
PIN_ISRC_DIS(GPIOB_PIN13) | \ | |||
PIN_ISRC_DIS(GPIOB_INT0) | \ | |||
PIN_ISRC_DIS(GPIOB_INT1)) | |||
#define VAL_GPIOB_DOUT (PIN_DATA_LOW(GPIOB_UART0_RXD) | \ | |||
PIN_DATA_LOW(GPIOB_UART0_TXD) | \ | |||
PIN_DATA_LOW(GPIOB_UART0_RTS) | \ | |||
PIN_DATA_LOW(GPIOB_UART0_CTS) | \ | |||
PIN_DATA_LOW(GPIOB_UART1_RXD) | \ | |||
PIN_DATA_LOW(GPIOB_UART1_TXD) | \ | |||
PIN_DATA_LOW(GPIOB_UART1_RTS) | \ | |||
PIN_DATA_LOW(GPIOB_UART1_CTS) | \ | |||
PIN_DATA_LOW(GPIOB_TM0) | \ | |||
PIN_DATA_LOW(GPIOB_TM1) | \ | |||
PIN_DATA_LOW(GPIOB_TM2) | \ | |||
PIN_DATA_LOW(GPIOB_PIN11) | \ | |||
PIN_DATA_LOW(GPIOB_CLK0) | \ | |||
PIN_DATA_LOW(GPIOB_PIN13) | \ | |||
PIN_DATA_LOW(GPIOB_INT0) | \ | |||
PIN_DATA_LOW(GPIOB_INT1)) | |||
/* | |||
* GPIOC setup: | |||
* | |||
* PC0 - PIN0 (input pullup). | |||
* PC1 - PIN1 (input pullup). | |||
* PC2 - PIN2 (input pullup). | |||
* PC3 - PIN3 (input pullup). | |||
* PC4 - PIN4 (output). | |||
* PC5 - PIN5 (output). | |||
* PC6 - PIN6 (input pullup). | |||
* PC7 - PIN7 (input pullup). | |||
* PC8 - PIN8 (input pullup). | |||
* PC9 - PIN9 (input pullup). | |||
* PC10 - PIN10 (input pullup). | |||
* PC11 - PIN11 (input pullup). | |||
* PC12 - PIN12 (input pullup). | |||
* PC13 - PIN13 (input pullup). | |||
* PC14 - PIN14 (input pullup). | |||
* PC15 - PIN15 (input pullup). | |||
*/ | |||
#define VAL_GPIOC_PMD (PIN_MODE_INPUT(GPIOC_PIN0) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN1) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN2) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN3) | \ | |||
PIN_MODE_OUTPUT(GPIOC_PIN4) | \ | |||
PIN_MODE_OUTPUT(GPIOC_PIN5) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN6) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN7) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN8) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN9) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN10) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN11) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN12) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN13) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN14) | \ | |||
PIN_MODE_INPUT(GPIOC_PIN15)) | |||
#define VAL_GPIOC_OFFD (PIN_DIGITAL_EN(GPIOC_PIN0) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN1) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN2) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN3) | \ | |||
PIN_DIGITAL_DIS(GPIOC_PIN4) | \ | |||
PIN_DIGITAL_DIS(GPIOC_PIN5) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN6) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN7) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN8) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN9) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN10) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN11) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN12) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN13) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN14) | \ | |||
PIN_DIGITAL_EN(GPIOC_PIN15)) | |||
#define VAL_GPIOC_DMASK (PIN_DMASK_EN(GPIOC_PIN0) | \ | |||
PIN_DMASK_EN(GPIOC_PIN1) | \ | |||
PIN_DMASK_EN(GPIOC_PIN2) | \ | |||
PIN_DMASK_EN(GPIOC_PIN3) | \ | |||
PIN_DMASK_DIS(GPIOC_PIN4) | \ | |||
PIN_DMASK_DIS(GPIOC_PIN5) | \ | |||
PIN_DMASK_EN(GPIOC_PIN6) | \ | |||
PIN_DMASK_EN(GPIOC_PIN7) | \ | |||
PIN_DMASK_EN(GPIOC_PIN8) | \ | |||
PIN_DMASK_EN(GPIOC_PIN9) | \ | |||
PIN_DMASK_EN(GPIOC_PIN10) | \ | |||
PIN_DMASK_EN(GPIOC_PIN11) | \ | |||
PIN_DMASK_EN(GPIOC_PIN12) | \ | |||
PIN_DMASK_EN(GPIOC_PIN13) | \ | |||
PIN_DMASK_EN(GPIOC_PIN14) | \ | |||
PIN_DMASK_EN(GPIOC_PIN15)) | |||
#define VAL_GPIOC_DBEN (PIN_DBNCE_EN(GPIOC_PIN0) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN1) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN2) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN3) | \ | |||
PIN_DBNCE_DIS(GPIOC_PIN4) | \ | |||
PIN_DBNCE_DIS(GPIOC_PIN5) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN6) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN7) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN8) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN9) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN10) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN11) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN12) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN13) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN14) | \ | |||
PIN_DBNCE_EN(GPIOC_PIN15)) | |||
#define VAL_GPIOC_IMD (PIN_IMD_EDGE(GPIOC_PIN0) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN1) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN2) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN3) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN4) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN5) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN6) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN7) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN8) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN9) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN10) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN11) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN12) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN13) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN14) | \ | |||
PIN_IMD_EDGE(GPIOC_PIN15)) | |||
#define VAL_GPIOC_IEN (PIN_IEN_FELL_DIS(GPIOC_PIN0) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN1) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN2) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN3) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN4) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN5) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN6) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN7) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN8) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN9) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN10) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN11) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN12) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN13) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN14) | \ | |||
PIN_IEN_FELL_DIS(GPIOC_PIN15)) | |||
#define VAL_GPIOC_ISRC (PIN_ISRC_DIS(GPIOC_PIN0) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN1) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN2) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN3) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN4) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN5) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN6) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN7) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN8) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN9) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN10) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN11) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN12) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN13) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN14) | \ | |||
PIN_ISRC_DIS(GPIOC_PIN15)) | |||
#define VAL_GPIOC_DOUT (PIN_DATA_LOW(GPIOC_PIN0) | \ | |||
PIN_DATA_LOW(GPIOC_PIN1) | \ | |||
PIN_DATA_LOW(GPIOC_PIN2) | \ | |||
PIN_DATA_LOW(GPIOC_PIN3) | \ | |||
PIN_DATA_LOW(GPIOC_PIN4) | \ | |||
PIN_DATA_LOW(GPIOC_PIN5) | \ | |||
PIN_DATA_LOW(GPIOC_PIN6) | \ | |||
PIN_DATA_LOW(GPIOC_PIN7) | \ | |||
PIN_DATA_LOW(GPIOC_PIN8) | \ | |||
PIN_DATA_LOW(GPIOC_PIN9) | \ | |||
PIN_DATA_LOW(GPIOC_PIN10) | \ | |||
PIN_DATA_LOW(GPIOC_PIN11) | \ | |||
PIN_DATA_LOW(GPIOC_PIN12) | \ | |||
PIN_DATA_LOW(GPIOC_PIN13) | \ | |||
PIN_DATA_LOW(GPIOC_PIN14) | \ | |||
PIN_DATA_LOW(GPIOC_PIN15)) | |||
/* | |||
* GPIOD setup: | |||
* | |||
* PD0 - ADC0 (input pullup). | |||
* PD1 - ADC1 (input pullup). | |||
* PD2 - ADC2 (input pullup). | |||
* PD3 - ADC3 (output). | |||
* PD4 - ADC4 (output). | |||
* PD5 - ADC5 (output). | |||
* PD6 - PIN6 (input pullup). | |||
* PD7 - PIN7 (input pullup). | |||
* PD8 - PIN8 (input pullup). | |||
* PD9 - PIN9 (output). | |||
* PD10 - PIN10 (debug output). | |||
* PD11 - PIN11 (output). | |||
* PD12 - PIN12 (input pullup). | |||
* PD13 - PIN13 (input pullup). | |||
* PD14 - PIN14 (input pullup). | |||
* PD15 - PIN15 (input pullup). | |||
*/ | |||
#define VAL_GPIOD_PMD (PIN_MODE_INPUT(GPIOD_ADC0) | \ | |||
PIN_MODE_INPUT(GPIOD_ADC1) | \ | |||
PIN_MODE_INPUT(GPIOD_ADC2) | \ | |||
PIN_MODE_OUTPUT(GPIOD_ADC3) | \ | |||
PIN_MODE_OUTPUT(GPIOD_ADC4) | \ | |||
PIN_MODE_OUTPUT(GPIOD_ADC5) | \ | |||
PIN_MODE_INPUT(GPIOD_PIN6) | \ | |||
PIN_MODE_INPUT(GPIOD_PIN7) | \ | |||
PIN_MODE_INPUT(GPIOD_PIN8) | \ | |||
PIN_MODE_OUTPUT(GPIOD_PIN9) | \ | |||
PIN_MODE_OUTPUT(GPIOD_PIN10) | \ | |||
PIN_MODE_OUTPUT(GPIOD_PIN11) | \ | |||
PIN_MODE_INPUT(GPIOD_PIN12) | \ | |||
PIN_MODE_INPUT(GPIOD_PIN13) | \ | |||
PIN_MODE_INPUT(GPIOD_PIN14) | \ | |||
PIN_MODE_INPUT(GPIOD_PIN15)) | |||
#define VAL_GPIOD_OFFD (PIN_DIGITAL_EN(GPIOD_ADC0) | \ | |||
PIN_DIGITAL_EN(GPIOD_ADC1) | \ | |||
PIN_DIGITAL_EN(GPIOD_ADC2) | \ | |||
PIN_DIGITAL_DIS(GPIOD_ADC3) | \ | |||
PIN_DIGITAL_DIS(GPIOD_ADC4) | \ | |||
PIN_DIGITAL_DIS(GPIOD_ADC5) | \ | |||
PIN_DIGITAL_EN(GPIOD_PIN6) | \ | |||
PIN_DIGITAL_EN(GPIOD_PIN7) | \ | |||
PIN_DIGITAL_EN(GPIOD_PIN8) | \ | |||
PIN_DIGITAL_DIS(GPIOD_PIN9) | \ | |||
PIN_DIGITAL_DIS(GPIOD_PIN10) | \ | |||
PIN_DIGITAL_DIS(GPIOD_PIN11) | \ | |||
PIN_DIGITAL_EN(GPIOD_PIN12) | \ | |||
PIN_DIGITAL_EN(GPIOD_PIN13) | \ | |||
PIN_DIGITAL_EN(GPIOD_PIN14) | \ | |||
PIN_DIGITAL_EN(GPIOD_PIN15)) | |||
#define VAL_GPIOD_DMASK (PIN_DMASK_EN(GPIOD_ADC0) | \ | |||
PIN_DMASK_EN(GPIOD_ADC1) | \ | |||
PIN_DMASK_EN(GPIOD_ADC2) | \ | |||
PIN_DMASK_DIS(GPIOD_ADC3) | \ | |||
PIN_DMASK_DIS(GPIOD_ADC4) | \ | |||
PIN_DMASK_DIS(GPIOD_ADC5) | \ | |||
PIN_DMASK_EN(GPIOD_PIN6) | \ | |||
PIN_DMASK_EN(GPIOD_PIN7) | \ | |||
PIN_DMASK_EN(GPIOD_PIN8) | \ | |||
PIN_DMASK_DIS(GPIOD_PIN9) | \ | |||
PIN_DMASK_DIS(GPIOD_PIN10) | \ | |||
PIN_DMASK_DIS(GPIOD_PIN11) | \ | |||
PIN_DMASK_EN(GPIOD_PIN12) | \ | |||
PIN_DMASK_EN(GPIOD_PIN13) | \ | |||
PIN_DMASK_EN(GPIOD_PIN14) | \ | |||
PIN_DMASK_EN(GPIOD_PIN15)) | |||
#define VAL_GPIOD_DBEN (PIN_DBNCE_EN(GPIOD_ADC0) | \ | |||
PIN_DBNCE_EN(GPIOD_ADC1) | \ | |||
PIN_DBNCE_EN(GPIOD_ADC2) | \ | |||
PIN_DBNCE_DIS(GPIOD_ADC3) | \ | |||
PIN_DBNCE_DIS(GPIOD_ADC4) | \ | |||
PIN_DBNCE_DIS(GPIOD_ADC5) | \ | |||
PIN_DBNCE_EN(GPIOD_PIN6) | \ | |||
PIN_DBNCE_EN(GPIOD_PIN7) | \ | |||
PIN_DBNCE_EN(GPIOD_PIN8) | \ | |||
PIN_DBNCE_DIS(GPIOD_PIN9) | \ | |||
PIN_DBNCE_DIS(GPIOD_PIN10) | \ | |||
PIN_DBNCE_DIS(GPIOD_PIN11) | \ | |||
PIN_DBNCE_EN(GPIOD_PIN12) | \ | |||
PIN_DBNCE_EN(GPIOD_PIN13) | \ | |||
PIN_DBNCE_EN(GPIOD_PIN14) | \ | |||
PIN_DBNCE_EN(GPIOD_PIN15)) | |||
#define VAL_GPIOD_IMD (PIN_IMD_EDGE(GPIOD_ADC0) | \ | |||
PIN_IMD_EDGE(GPIOD_ADC1) | \ | |||
PIN_IMD_EDGE(GPIOD_ADC2) | \ | |||
PIN_IMD_EDGE(GPIOD_ADC3) | \ | |||
PIN_IMD_EDGE(GPIOD_ADC4) | \ | |||
PIN_IMD_EDGE(GPIOD_ADC5) | \ | |||
PIN_IMD_EDGE(GPIOD_PIN6) | \ | |||
PIN_IMD_EDGE(GPIOD_PIN7) | \ | |||
PIN_IMD_EDGE(GPIOD_PIN8) | \ | |||
PIN_IMD_EDGE(GPIOD_PIN9) | \ | |||
PIN_IMD_EDGE(GPIOD_PIN10) | \ | |||
PIN_IMD_EDGE(GPIOD_PIN11) | \ | |||
PIN_IMD_EDGE(GPIOD_PIN12) | \ | |||
PIN_IMD_EDGE(GPIOD_PIN13) | \ | |||
PIN_IMD_EDGE(GPIOD_PIN14) | \ | |||
PIN_IMD_EDGE(GPIOD_PIN15)) | |||
#define VAL_GPIOD_IEN (PIN_IEN_FELL_DIS(GPIOD_ADC0) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_ADC1) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_ADC2) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_ADC3) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_ADC4) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_ADC5) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_PIN6) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_PIN7) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_PIN8) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_PIN9) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_PIN10) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_PIN11) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_PIN12) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_PIN13) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_PIN14) | \ | |||
PIN_IEN_FELL_DIS(GPIOD_PIN15)) | |||
#define VAL_GPIOD_ISRC (PIN_ISRC_DIS(GPIOD_ADC0) | \ | |||
PIN_ISRC_DIS(GPIOD_ADC1) | \ | |||
PIN_ISRC_DIS(GPIOD_ADC2) | \ | |||
PIN_ISRC_DIS(GPIOD_ADC3) | \ | |||
PIN_ISRC_DIS(GPIOD_ADC4) | \ | |||
PIN_ISRC_DIS(GPIOD_ADC5) | \ | |||
PIN_ISRC_DIS(GPIOD_PIN6) | \ | |||
PIN_ISRC_DIS(GPIOD_PIN7) | \ | |||
PIN_ISRC_DIS(GPIOD_PIN8) | \ | |||
PIN_ISRC_DIS(GPIOD_PIN9) | \ | |||
PIN_ISRC_DIS(GPIOD_PIN10) | \ | |||
PIN_ISRC_DIS(GPIOD_PIN11) | \ | |||
PIN_ISRC_DIS(GPIOD_PIN12) | \ | |||
PIN_ISRC_DIS(GPIOD_PIN13) | \ | |||
PIN_ISRC_DIS(GPIOD_PIN14) | \ | |||
PIN_ISRC_DIS(GPIOD_PIN15)) | |||
#define VAL_GPIOD_DOUT (PIN_DATA_LOW(GPIOD_ADC0) | \ | |||
PIN_DATA_LOW(GPIOD_ADC1) | \ | |||
PIN_DATA_LOW(GPIOD_ADC2) | \ | |||
PIN_DATA_LOW(GPIOD_ADC3) | \ | |||
PIN_DATA_LOW(GPIOD_ADC4) | \ | |||
PIN_DATA_LOW(GPIOD_ADC5) | \ | |||
PIN_DATA_LOW(GPIOD_PIN6) | \ | |||
PIN_DATA_LOW(GPIOD_PIN7) | \ | |||
PIN_DATA_LOW(GPIOD_PIN8) | \ | |||
PIN_DATA_LOW(GPIOD_PIN9) | \ | |||
PIN_DATA_LOW(GPIOD_PIN10) | \ | |||
PIN_DATA_LOW(GPIOD_PIN11) | \ | |||
PIN_DATA_LOW(GPIOD_PIN12) | \ | |||
PIN_DATA_LOW(GPIOD_PIN13) | \ | |||
PIN_DATA_LOW(GPIOD_PIN14) | \ | |||
PIN_DATA_LOW(GPIOD_PIN15)) | |||
/* | |||
* GPIOF setup: | |||
* | |||
* PF0 - OSC_IN (input floating). | |||
* PF1 - OSC_OUT (input floating). | |||
* PF2 - I2C0_SDA (input pullup). | |||
* PF3 - I2C0_SCL (input pullup). | |||
* PF4 - PIN4 (input pullup). | |||
* PF5 - PIN5 (input pullup). | |||
* PF6 - PIN6 (input pullup). | |||
* PF7 - PIN7 (input pullup). | |||
* PF8 - PIN8 (input pullup). | |||
* PF9 - PIN9 (input pullup). | |||
* PF10 - PIN10 (input pullup). | |||
* PF11 - PIN11 (input pullup). | |||
* PF12 - PIN12 (input pullup). | |||
* PF13 - PIN13 (input pullup). | |||
* PF14 - PIN14 (input pullup). | |||
* PF15 - PIN15 (input pullup). | |||
*/ | |||
#define VAL_GPIOF_PMD (PIN_MODE_QUASI(GPIOF_OSC_IN) | \ | |||
PIN_MODE_QUASI(GPIOF_OSC_OUT) | \ | |||
PIN_MODE_INPUT(GPIOF_I2C0_SDA) | \ | |||
PIN_MODE_INPUT(GPIOF_I2C0_SCL) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN4) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN5) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN6) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN7) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN8) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN9) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN10) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN11) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN12) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN13) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN14) | \ | |||
PIN_MODE_INPUT(GPIOF_PIN15)) | |||
#define VAL_GPIOF_OFFD (PIN_DIGITAL_DIS(GPIOF_OSC_IN) | \ | |||
PIN_DIGITAL_DIS(GPIOF_OSC_OUT) | \ | |||
PIN_DIGITAL_EN(GPIOF_I2C0_SDA) | \ | |||
PIN_DIGITAL_EN(GPIOF_I2C0_SCL) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN4) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN5) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN6) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN7) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN8) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN9) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN10) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN11) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN12) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN13) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN14) | \ | |||
PIN_DIGITAL_EN(GPIOF_PIN15)) | |||
#define VAL_GPIOF_DMASK (PIN_DMASK_DIS(GPIOF_OSC_IN) | \ | |||
PIN_DMASK_DIS(GPIOF_OSC_OUT) | \ | |||
PIN_DMASK_EN(GPIOF_I2C0_SDA) | \ | |||
PIN_DMASK_EN(GPIOF_I2C0_SCL) | \ | |||
PIN_DMASK_EN(GPIOF_PIN4) | \ | |||
PIN_DMASK_EN(GPIOF_PIN5) | \ | |||
PIN_DMASK_EN(GPIOF_PIN6) | \ | |||
PIN_DMASK_EN(GPIOF_PIN7) | \ | |||
PIN_DMASK_EN(GPIOF_PIN8) | \ | |||
PIN_DMASK_EN(GPIOF_PIN9) | \ | |||
PIN_DMASK_EN(GPIOF_PIN10) | \ | |||
PIN_DMASK_EN(GPIOF_PIN11) | \ | |||
PIN_DMASK_EN(GPIOF_PIN12) | \ | |||
PIN_DMASK_EN(GPIOF_PIN13) | \ | |||
PIN_DMASK_EN(GPIOF_PIN14) | \ | |||
PIN_DMASK_EN(GPIOF_PIN15)) | |||
#define VAL_GPIOF_DBEN (PIN_DBNCE_DIS(GPIOF_OSC_IN) | \ | |||
PIN_DBNCE_DIS(GPIOF_OSC_OUT) | \ | |||
PIN_DBNCE_EN(GPIOF_I2C0_SDA) | \ | |||
PIN_DBNCE_EN(GPIOF_I2C0_SCL) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN4) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN5) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN6) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN7) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN8) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN9) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN10) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN11) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN12) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN13) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN14) | \ | |||
PIN_DBNCE_EN(GPIOF_PIN15)) | |||
#define VAL_GPIOF_IMD (PIN_IMD_LVL(GPIOF_OSC_IN) | \ | |||
PIN_IMD_LVL(GPIOF_OSC_OUT) | \ | |||
PIN_IMD_EDGE(GPIOF_I2C0_SDA) | \ | |||
PIN_IMD_EDGE(GPIOF_I2C0_SCL) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN4) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN5) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN6) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN7) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN8) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN9) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN10) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN11) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN12) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN13) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN14) | \ | |||
PIN_IMD_EDGE(GPIOF_PIN15)) | |||
#define VAL_GPIOF_IEN (PIN_IEN_FELL_DIS(GPIOF_OSC_IN) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_OSC_OUT) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_I2C0_SDA) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_I2C0_SCL) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN4) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN5) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN6) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN7) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN8) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN9) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN10) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN11) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN12) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN13) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN14) | \ | |||
PIN_IEN_FELL_DIS(GPIOF_PIN15)) | |||
#define VAL_GPIOF_ISRC (PIN_ISRC_DIS(GPIOF_OSC_IN) | \ | |||
PIN_ISRC_DIS(GPIOF_OSC_OUT) | \ | |||
PIN_ISRC_DIS(GPIOF_I2C0_SDA) | \ | |||
PIN_ISRC_DIS(GPIOF_I2C0_SCL) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN4) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN5) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN6) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN7) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN8) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN9) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN10) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN11) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN12) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN13) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN14) | \ | |||
PIN_ISRC_DIS(GPIOF_PIN15)) | |||
#define VAL_GPIOF_DOUT (PIN_DATA_LOW(GPIOF_OSC_IN) | \ | |||
PIN_DATA_LOW(GPIOF_OSC_OUT) | \ | |||
PIN_DATA_LOW(GPIOF_I2C0_SDA) | \ | |||
PIN_DATA_LOW(GPIOF_I2C0_SCL) | \ | |||
PIN_DATA_LOW(GPIOF_PIN4) | \ | |||
PIN_DATA_LOW(GPIOF_PIN5) | \ | |||
PIN_DATA_LOW(GPIOF_PIN6) | \ | |||
PIN_DATA_LOW(GPIOF_PIN7) | \ | |||
PIN_DATA_LOW(GPIOF_PIN8) | \ | |||
PIN_DATA_LOW(GPIOF_PIN9) | \ | |||
PIN_DATA_LOW(GPIOF_PIN10) | \ | |||
PIN_DATA_LOW(GPIOF_PIN11) | \ | |||
PIN_DATA_LOW(GPIOF_PIN12) | \ | |||
PIN_DATA_LOW(GPIOF_PIN13) | \ | |||
PIN_DATA_LOW(GPIOF_PIN14) | \ | |||
PIN_DATA_LOW(GPIOF_PIN15)) | |||
#if !defined(_FROM_ASM_) | |||
#ifdef __cplusplus | |||
extern "C" { | |||
#endif | |||
void boardInit(void); | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
#endif /* _FROM_ASM_ */ | |||
#endif /* BOARD_H */ |
@ -0,0 +1,5 @@ | |||
# List of all the board related files. | |||
BOARDSRC = $(BOARD_PATH)/boards/NUC123SD4AN0/board.c | |||
# Required include directories | |||
BOARDINC = $(BOARD_PATH)/boards/NUC123SD4AN0 |
@ -0,0 +1,23 @@ | |||
/* 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 <http://www.gnu.org/licenses/>. | |||
*/ | |||
#pragma once | |||
#define CH_CFG_ST_FREQUENCY 10000 | |||
#define CH_CFG_ST_TIMEDELTA 0 | |||
#define CH_CFG_USE_WAITEXIT TRUE | |||
#include_next <chconf.h> |
@ -0,0 +1,56 @@ | |||
/* | |||
Copyright 2019 /u/KeepItUnder | |||
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 | |||
#include "config_common.h" | |||
/* USB Device descriptor parameter */ | |||
#define VENDOR_ID 0x0416 | |||
#define PRODUCT_ID 0x0123 | |||
#define DEVICE_VER 0x0001 | |||
#define MANUFACTURER Ducky | |||
#define PRODUCT One2mini | |||
/* key matrix size */ | |||
#define MATRIX_ROWS 5 | |||
#define MATRIX_COLS 15 | |||
/* | |||
* Keyboard Matrix Assignments | |||
* | |||
* Change this to how you wired your keyboard | |||
* COLS: AVR pins used for columns, left to right | |||
* ROWS: AVR pins used for rows, top to bottom | |||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | |||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | |||
* | |||
*/ | |||
#define MATRIX_ROW_PINS { D11, B4, B5, B6, B7 } | |||
#define MATRIX_COL_PINS { B10, B9, C13, C12, C11, C10, C9, C8, A15, A14, A13, D0, D1, D2, B8 } | |||
#define DIP_SWITCH_MATRIX_GRID { {0,14}, {1,14}, {2,14}, {3,14} } | |||
#define UNUSED_PINS | |||
/* COL2ROW, ROW2COL*/ | |||
#define DIODE_DIRECTION COL2ROW | |||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | |||
#define DEBOUNCE 5 | |||
#define FORCE_NKRO | |||
#define GPIO_INPUT_PIN_DELAY (NUC123_HCLK / 6 / 1000000L) |
@ -0,0 +1,208 @@ | |||
{ | |||
"keyboard_name": "Ducky One 2 Mini", | |||
"width": 14, | |||
"height": 5, | |||
"layouts": { | |||
"LAYOUT_all": { | |||
"layout": [ | |||
{ "x": 0, "y": 0, "w": 1, "label": "ESC" }, | |||
{ "x": 1, "y": 0, "w": 1, "label": "1" }, | |||
{ "x": 2, "y": 0, "w": 1, "label": "2" }, | |||
{ "x": 3, "y": 0, "w": 1, "label": "3" }, | |||
{ "x": 4, "y": 0, "w": 1, "label": "4" }, | |||
{ "x": 5, "y": 0, "w": 1, "label": "5" }, | |||
{ "x": 6, "y": 0, "w": 1, "label": "6" }, | |||
{ "x": 7, "y": 0, "w": 1, "label": "7" }, | |||
{ "x": 8, "y": 0, "w": 1, "label": "8" }, | |||
{ "x": 9, "y": 0, "w": 1, "label": "9" }, | |||
{ "x": 10, "y": 0, "w": 1, "label": "0" }, | |||
{ "x": 11, "y": 0, "w": 1, "label": "DASH" }, | |||
{ "x": 12, "y": 0, "w": 1, "label": "EQUALSIGN" }, | |||
{ "x": 13, "y": 0, "w": 2, "label": "BACKSPACE" }, | |||
{ "x": 0, "y": 1, "w": 1.5, "label": "TAB" }, | |||
{ "x": 1.5, "y": 1, "w": 1, "label": "Q" }, | |||
{ "x": 2.5, "y": 1, "w": 1, "label": "W" }, | |||
{ "x": 3.5, "y": 1, "w": 1, "label": "E" }, | |||
{ "x": 4.5, "y": 1, "w": 1, "label": "R" }, | |||
{ "x": 5.5, "y": 1, "w": 1, "label": "T" }, | |||
{ "x": 6.5, "y": 1, "w": 1, "label": "Y" }, | |||
{ "x": 7.5, "y": 1, "w": 1, "label": "U" }, | |||
{ "x": 8.5, "y": 1, "w": 1, "label": "I" }, | |||
{ "x": 9.5, "y": 1, "w": 1, "label": "O" }, | |||
{ "x": 10.5, "y": 1, "w": 1, "label": "P" }, | |||
{ "x": 11.5, "y": 1, "w": 1, "label": "LBRACKET" }, | |||
{ "x": 12.5, "y": 1, "w": 1, "label": "RBRACKET" }, | |||
{ "x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH" }, | |||
{ "x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK" }, | |||
{ "x": 1.75, "y": 2, "w": 1, "label": "A" }, | |||
{ "x": 2.75, "y": 2, "w": 1, "label": "S" }, | |||
{ "x": 3.75, "y": 2, "w": 1, "label": "D" }, | |||
{ "x": 4.75, "y": 2, "w": 1, "label": "F" }, | |||
{ "x": 5.75, "y": 2, "w": 1, "label": "G" }, | |||
{ "x": 6.75, "y": 2, "w": 1, "label": "H" }, | |||
{ "x": 7.75, "y": 2, "w": 1, "label": "J" }, | |||
{ "x": 8.75, "y": 2, "w": 1, "label": "K" }, | |||
{ "x": 9.75, "y": 2, "w": 1, "label": "L" }, | |||
{ "x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON" }, | |||
{ "x": 11.75, "y": 2, "w": 1, "label": "QUOTE" }, | |||
{ "x": 12.75, "y": 2, "w": 1, "label": "ISOHASH" }, | |||
{ "x": 13.75, "y": 2, "w": 1.25, "label": "ENTER" }, | |||
{ "x": 0, "y": 3, "w": 1.25, "label": "LSHIFT" }, | |||
{ "x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH" }, | |||
{ "x": 2.25, "y": 3, "w": 1, "label": "Z" }, | |||
{ "x": 3.25, "y": 3, "w": 1, "label": "X" }, | |||
{ "x": 4.25, "y": 3, "w": 1, "label": "C" }, | |||
{ "x": 5.25, "y": 3, "w": 1, "label": "V" }, | |||
{ "x": 6.25, "y": 3, "w": 1, "label": "B" }, | |||
{ "x": 7.25, "y": 3, "w": 1, "label": "N" }, | |||
{ "x": 8.25, "y": 3, "w": 1, "label": "M" }, | |||
{ "x": 9.25, "y": 3, "w": 1, "label": "COMMA" }, | |||
{ "x": 10.25, "y": 3, "w": 1, "label": "PERIOD" }, | |||
{ "x": 11.25, "y": 3, "w": 1, "label": "SLASH" }, | |||
{ "x": 12.25, "y": 3, "w": 2.25, "label": "RSHIFT" }, | |||
{ "x": 0, "y": 4, "w": 1.25, "label": "LCTRL" }, | |||
{ "x": 1.25, "y": 4, "w": 1.25, "label": "LCMD" }, | |||
{ "x": 2.5, "y": 4, "w": 1.25, "label": "LALT" }, | |||
{ "x": 3.75, "y": 4, "w": 6.25, "label": "SPACE" }, | |||
{ "x": 10, "y": 4, "w": 1.25, "label": "RALT" }, | |||
{ "x": 11.25, "y": 4, "w": 1.25, "label": "RCMD" }, | |||
{ "x": 12.5, "y": 4, "w": 1.25, "label": "FN" }, | |||
{ "x": 13.75, "y": 4, "w": 1.25, "label": "RCTRL" } | |||
] | |||
}, | |||
"LAYOUT_ansi": { | |||
"layout": [ | |||
{ "x": 0, "y": 0, "w": 1, "label": "ESC" }, | |||
{ "x": 1, "y": 0, "w": 1, "label": "1" }, | |||
{ "x": 2, "y": 0, "w": 1, "label": "2" }, | |||
{ "x": 3, "y": 0, "w": 1, "label": "3" }, | |||
{ "x": 4, "y": 0, "w": 1, "label": "4" }, | |||
{ "x": 5, "y": 0, "w": 1, "label": "5" }, | |||
{ "x": 6, "y": 0, "w": 1, "label": "6" }, | |||
{ "x": 7, "y": 0, "w": 1, "label": "7" }, | |||
{ "x": 8, "y": 0, "w": 1, "label": "8" }, | |||
{ "x": 9, "y": 0, "w": 1, "label": "9" }, | |||
{ "x": 10, "y": 0, "w": 1, "label": "0" }, | |||
{ "x": 11, "y": 0, "w": 1, "label": "DASH" }, | |||
{ "x": 12, "y": 0, "w": 1, "label": "EQUALSIGN" }, | |||
{ "x": 13, "y": 0, "w": 2, "label": "BACKSPACE" }, | |||
{ "x": 0, "y": 1, "w": 1.5, "label": "TAB" }, | |||
{ "x": 1.5, "y": 1, "w": 1, "label": "Q" }, | |||
{ "x": 2.5, "y": 1, "w": 1, "label": "W" }, | |||
{ "x": 3.5, "y": 1, "w": 1, "label": "E" }, | |||
{ "x": 4.5, "y": 1, "w": 1, "label": "R" }, | |||
{ "x": 5.5, "y": 1, "w": 1, "label": "T" }, | |||
{ "x": 6.5, "y": 1, "w": 1, "label": "Y" }, | |||
{ "x": 7.5, "y": 1, "w": 1, "label": "U" }, | |||
{ "x": 8.5, "y": 1, "w": 1, "label": "I" }, | |||
{ "x": 9.5, "y": 1, "w": 1, "label": "O" }, | |||
{ "x": 10.5, "y": 1, "w": 1, "label": "P" }, | |||
{ "x": 11.5, "y": 1, "w": 1, "label": "LBRACKET" }, | |||
{ "x": 12.5, "y": 1, "w": 1, "label": "RBRACKET" }, | |||
{ "x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH" }, | |||
{ "x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK" }, | |||
{ "x": 1.75, "y": 2, "w": 1, "label": "A" }, | |||
{ "x": 2.75, "y": 2, "w": 1, "label": "S" }, | |||
{ "x": 3.75, "y": 2, "w": 1, "label": "D" }, | |||
{ "x": 4.75, "y": 2, "w": 1, "label": "F" }, | |||
{ "x": 5.75, "y": 2, "w": 1, "label": "G" }, | |||
{ "x": 6.75, "y": 2, "w": 1, "label": "H" }, | |||
{ "x": 7.75, "y": 2, "w": 1, "label": "J" }, | |||
{ "x": 8.75, "y": 2, "w": 1, "label": "K" }, | |||
{ "x": 9.75, "y": 2, "w": 1, "label": "L" }, | |||
{ "x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON" }, | |||
{ "x": 11.75, "y": 2, "w": 1, "label": "QUOTE" }, | |||
{ "x": 12.75, "y": 2, "w": 1, "label": "ISOHASH" }, | |||
{ "x": 12.75, "y": 2, "w": 2.25, "label": "ENTER" }, | |||
{ "x": 0, "y": 3, "w": 2.25, "label": "LSHIFT" }, | |||
{ "x": 2.25, "y": 3, "w": 1, "label": "Z" }, | |||
{ "x": 3.25, "y": 3, "w": 1, "label": "X" }, | |||
{ "x": 4.25, "y": 3, "w": 1, "label": "C" }, | |||
{ "x": 5.25, "y": 3, "w": 1, "label": "V" }, | |||
{ "x": 6.25, "y": 3, "w": 1, "label": "B" }, | |||
{ "x": 7.25, "y": 3, "w": 1, "label": "N" }, | |||
{ "x": 8.25, "y": 3, "w": 1, "label": "M" }, | |||
{ "x": 9.25, "y": 3, "w": 1, "label": "COMMA" }, | |||
{ "x": 10.25, "y": 3, "w": 1, "label": "PERIOD" }, | |||
{ "x": 11.25, "y": 3, "w": 1, "label": "SLASH" }, | |||
{ "x": 12.25, "y": 3, "w": 2.75, "label": "RSHIFT" }, | |||
{ "x": 0, "y": 4, "w": 1.25, "label": "LCTRL" }, | |||
{ "x": 1.25, "y": 4, "w": 1.25, "label": "LCMD" }, | |||
{ "x": 2.5, "y": 4, "w": 1.25, "label": "LALT" }, | |||
{ "x": 3.75, "y": 4, "w": 6.25, "label": "SPACE" }, | |||
{ "x": 10, "y": 4, "w": 1.25, "label": "RALT" }, | |||
{ "x": 11.25, "y": 4, "w": 1.25, "label": "RCMD" }, | |||
{ "x": 12.5, "y": 4, "w": 1.25, "label": "FN" }, | |||
{ "x": 13.75, "y": 4, "w": 1.25, "label": "RCTRL" } | |||
] | |||
}, | |||
"LAYOUT_iso": { | |||
"layout": [ | |||
{ "x": 0, "y": 0, "w": 1, "label": "ESC" }, | |||
{ "x": 1, "y": 0, "w": 1, "label": "1" }, | |||
{ "x": 2, "y": 0, "w": 1, "label": "2" }, | |||
{ "x": 3, "y": 0, "w": 1, "label": "3" }, | |||
{ "x": 4, "y": 0, "w": 1, "label": "4" }, | |||
{ "x": 5, "y": 0, "w": 1, "label": "5" }, | |||
{ "x": 6, "y": 0, "w": 1, "label": "6" }, | |||
{ "x": 7, "y": 0, "w": 1, "label": "7" }, | |||
{ "x": 8, "y": 0, "w": 1, "label": "8" }, | |||
{ "x": 9, "y": 0, "w": 1, "label": "9" }, | |||
{ "x": 10, "y": 0, "w": 1, "label": "0" }, | |||
{ "x": 11, "y": 0, "w": 1, "label": "DASH" }, | |||
{ "x": 12, "y": 0, "w": 1, "label": "EQUALSIGN" }, | |||
{ "x": 13, "y": 0, "w": 2, "label": "BACKSPACE" }, | |||
{ "x": 0, "y": 1, "w": 1.5, "label": "TAB" }, | |||
{ "x": 1.5, "y": 1, "w": 1, "label": "Q" }, | |||
{ "x": 2.5, "y": 1, "w": 1, "label": "W" }, | |||
{ "x": 3.5, "y": 1, "w": 1, "label": "E" }, | |||
{ "x": 4.5, "y": 1, "w": 1, "label": "R" }, | |||
{ "x": 5.5, "y": 1, "w": 1, "label": "T" }, | |||
{ "x": 6.5, "y": 1, "w": 1, "label": "Y" }, | |||
{ "x": 7.5, "y": 1, "w": 1, "label": "U" }, | |||
{ "x": 8.5, "y": 1, "w": 1, "label": "I" }, | |||
{ "x": 9.5, "y": 1, "w": 1, "label": "O" }, | |||
{ "x": 10.5, "y": 1, "w": 1, "label": "P" }, | |||
{ "x": 11.5, "y": 1, "w": 1, "label": "LBRACKET" }, | |||
{ "x": 12.5, "y": 1, "w": 1, "label": "RBRACKET" }, | |||
{ "x": 13.75, "y": 1, "w": 1.25, "h": 2, "label": "ENTER" }, | |||
{ "x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK" }, | |||
{ "x": 1.75, "y": 2, "w": 1, "label": "A" }, | |||
{ "x": 2.75, "y": 2, "w": 1, "label": "S" }, | |||
{ "x": 3.75, "y": 2, "w": 1, "label": "D" }, | |||
{ "x": 4.75, "y": 2, "w": 1, "label": "F" }, | |||
{ "x": 5.75, "y": 2, "w": 1, "label": "G" }, | |||
{ "x": 6.75, "y": 2, "w": 1, "label": "H" }, | |||
{ "x": 7.75, "y": 2, "w": 1, "label": "J" }, | |||
{ "x": 8.75, "y": 2, "w": 1, "label": "K" }, | |||
{ "x": 9.75, "y": 2, "w": 1, "label": "L" }, | |||
{ "x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON" }, | |||
{ "x": 11.75, "y": 2, "w": 1, "label": "QUOTE" }, | |||
{ "x": 12.75, "y": 2, "w": 1, "label": "ISOHASH" }, | |||
{ "x": 0, "y": 3, "w": 1.25, "label": "LSHIFT" }, | |||
{ "x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH" }, | |||
{ "x": 2.25, "y": 3, "w": 1, "label": "Z" }, | |||
{ "x": 3.25, "y": 3, "w": 1, "label": "X" }, | |||
{ "x": 4.25, "y": 3, "w": 1, "label": "C" }, | |||
{ "x": 5.25, "y": 3, "w": 1, "label": "V" }, | |||
{ "x": 6.25, "y": 3, "w": 1, "label": "B" }, | |||
{ "x": 7.25, "y": 3, "w": 1, "label": "N" }, | |||
{ "x": 8.25, "y": 3, "w": 1, "label": "M" }, | |||
{ "x": 9.25, "y": 3, "w": 1, "label": "COMMA" }, | |||
{ "x": 10.25, "y": 3, "w": 1, "label": "PERIOD" }, | |||
{ "x": 11.25, "y": 3, "w": 1, "label": "SLASH" }, | |||
{ "x": 12.25, "y": 3, "w": 2.75, "label": "RSHIFT" }, | |||
{ "x": 0, "y": 4, "w": 1.25, "label": "LCTRL" }, | |||
{ "x": 1.25, "y": 4, "w": 1.25, "label": "LCMD" }, | |||
{ "x": 2.5, "y": 4, "w": 1.25, "label": "LALT" }, | |||
{ "x": 3.75, "y": 4, "w": 6.25, "label": "SPACE" }, | |||
{ "x": 10, "y": 4, "w": 1.25, "label": "RALT" }, | |||
{ "x": 11.25, "y": 4, "w": 1.25, "label": "RCMD" }, | |||
{ "x": 12.5, "y": 4, "w": 1.25, "label": "FN" }, | |||
{ "x": 13.75, "y": 4, "w": 1.25, "label": "RCTRL" } | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,51 @@ | |||
/* | |||
ChibiOS - Copyright (C) 2020 Alex Lewontin | |||
Licensed under the Apache License, Version 2.0 (the "License"); | |||
you may not use this file except in compliance with the License. | |||
You may obtain a copy of the License at | |||
http://www.apache.org/licenses/LICENSE-2.0 | |||
Unless required by applicable law or agreed to in writing, software | |||
distributed under the License is distributed on an "AS IS" BASIS, | |||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
See the License for the specific language governing permissions and | |||
limitations under the License. | |||
*/ | |||
#ifndef _MCUCONF_H_ | |||
#define _MCUCONF_H_ | |||
/* | |||
* Board setting | |||
* The following settings override the default settings present in | |||
* the various device driver implementation headers. | |||
* Note that the settings for each driver only have effect if the whole | |||
* driver is enabled in halconf.h. | |||
* | |||
* IRQ priorities: | |||
* 3...0 Lowest...Highest. | |||
* | |||
* DMA priorities: | |||
* 5...0 Lowest...Highest. | |||
*/ | |||
/* | |||
* HAL driver system settings. | |||
*/ | |||
#define NUC123_HSE_ENABLED TRUE | |||
#define NUC123_PLL_ENABLED TRUE | |||
#define NUC123_PLLSRC NUC123_PLLSRC_HSE | |||
#define NUC123_HCLKSRC NUC123_HCLKSRC_PLL | |||
#define NUC123_HCLKDIV 2 | |||
#define NUC123_PLL_NF 144 | |||
#define NUC123_USB_USE_USB0 TRUE | |||
#define NUC123_USB_USE_USB1 TRUE | |||
#define NUC123_SERIAL_USE_UART0 TRUE | |||
#define NUC123_SERIAL_CLKSRC NUC123_SERIAL_CLKSRC_HSI | |||
#define NUC123_MCUCONF | |||
#endif /* _MCUCONF_H_ */ |
@ -0,0 +1,29 @@ | |||
# one2mini | |||
![one2mini](http://www.duckychannel.com.tw/page-en/One_2_Mini_RGB/images/One2_Mini_01_02.jpg) | |||
A 60% keyboard featuring per-key RGB LEDs. | |||
* Keyboard Maintainer: [Reza Jelveh](https://github.com/fishman) | |||
* Hardware Supported: Ducky One 2 Mini RGB / NUC123SD4AN0 / MBI5042GP | |||
* Hardware Availability: [Ducky Channel](http://www.duckychannel.com.tw/page-en/One_2_Mini_RGB/) | |||
Make example for this keyboard (after setting up your build environment): | |||
make ducky/one2mini:default | |||
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). | |||
RGB LEDs are currently disabled until the driver is merged. | |||
This firmware was tested on the duckyon2mini 1861ST version. To enter the 1861ST bootloader to flash you can boot the keyboard while holding D+L. | |||
There are then two ways to flash the keyboard: | |||
pip install --user nuvoton-isp | |||
nuvoisp -f ducky_one2mini_default.bin | |||
Alternatively you can use elfmimi's [nu-isp-cli](https://lib.rs/crates/nu-isp-cli) which is more complete than nuvoisp and allows flashing .hex files as well. | |||
cargo install nu-isp-cli | |||
nu-isp-cli flash ducky_one2mini_default.bin |
@ -0,0 +1,35 @@ | |||
MCU_FAMILY = NUMICRO | |||
MCU_SERIES = NUC123 | |||
# linker script to use | |||
MCU_LDSCRIPT = NUC123xD4xx0 | |||
# startup code to use | |||
MCU_STARTUP = NUC123 | |||
BOARD = NUC123SD4AN0 | |||
# NUC123 series is Cortex M0 | |||
MCU = cortex-m0 | |||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7 | |||
ARMV = 6 | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration | |||
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 | |||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
NKRO_ENABLE = yes # USB Nkey Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | |||
BLUETOOTH_ENABLE = no # Enable Bluetooth | |||
AUDIO_ENABLE = no # Audio output | |||
DIP_SWITCH_ENABLE = yes | |||
# Enter lower-power sleep mode when on the ChibiOS idle thread | |||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE |
@ -0,0 +1,56 @@ | |||
/* Copyright 2019 /u/KeepItUnder | |||
* | |||
* 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/>. | |||
*/ | |||
#include QMK_KEYBOARD_H | |||
// LAYERS | |||
enum Layer { | |||
_QWERTY = 0, // Standard QWERTY layer | |||
_FUNCTION, // Function key layer | |||
_COLOUR // RGB key layer | |||
}; | |||
#define _QW _QWERTY | |||
#define _FN _FUNCTION | |||
#define _CLR _COLOUR | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[_QWERTY] = LAYOUT_ansi( | |||
// 2 3 4 5 6 7 8 9 10 11 12 13 14 | |||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, | |||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NUBS, | |||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, | |||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, | |||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL | |||
), | |||
[_FUNCTION] = LAYOUT_ansi( | |||
// 2 3 4 5 6 7 8 9 10 11 12 13 14 | |||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, | |||
_______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, | |||
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SLCK, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT, | |||
_______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, | |||
_______, KC_APP, MO(_CLR), _______, _______, KC_APP, _______, _______ | |||
), | |||
[_COLOUR] = LAYOUT_ansi( | |||
// 2 3 4 5 6 7 8 9 10 11 12 13 14 | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, RGB_TOG, _______, _______, _______, _______ | |||
), | |||
}; |
@ -0,0 +1 @@ | |||
# The default ANSI keymap for one2mini |
@ -0,0 +1,25 @@ | |||
/* Copyright 2019 /u/KeepItUnder | |||
* | |||
* 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 | |||
// place overrides here | |||
#define GRAVE_ESC_GUI_OVERRIDE | |||
#define MK_3_SPEED | |||
#define MK_C_OFFSET_UNMOD 400 /* Cursor offset per movement (unmodified) */ | |||
#define MK_C_INTERVAL_UNMOD 5 /* Time between cursor movements (unmodified) */ | |||
#define MK_W_OFFSET_UNMOD 100 /* Scroll steps per scroll action (unmodified) */ | |||
#define MK_W_INTERVAL_UNMOD 10 /* Time between scroll steps (unmodified) */ |
@ -0,0 +1,56 @@ | |||
/* Copyright 2019 /u/KeepItUnder | |||
* | |||
* 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/>. | |||
*/ | |||
#include QMK_KEYBOARD_H | |||
// LAYERS | |||
enum Layer { | |||
_QWERTY = 0, // Standard QWERTY layer | |||
_FUNCTION, // Function key layer | |||
_COLOUR // RGB key layer | |||
}; | |||
#define _QW _QWERTY | |||
#define _FN _FUNCTION | |||
#define _CLR _COLOUR | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[_QWERTY] = LAYOUT_all( | |||
// 2 3 4 5 6 7 8 9 10 11 12 13 14 | |||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, | |||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, | |||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, | |||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, | |||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL | |||
), | |||
[_FUNCTION] = LAYOUT_all( | |||
// 2 3 4 5 6 7 8 9 10 11 12 13 14 | |||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, | |||
_______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______, | |||
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SLCK, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT, | |||
_______, _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, | |||
_______, _______, MO(_CLR), KC_MPLY, _______, KC_APP, _______, _______ | |||
), | |||
[_COLOUR] = LAYOUT_all( | |||
// 2 3 4 5 6 7 8 9 10 11 12 13 14 | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, RGB_TOG, _______, _______, _______, _______ | |||
), | |||
}; |
@ -0,0 +1 @@ | |||
# The default keymap for one2mini (ISO & ANSI combined) |
@ -0,0 +1,56 @@ | |||
/* Copyright 2019 /u/KeepItUnder | |||
* | |||
* 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/>. | |||
*/ | |||
#include QMK_KEYBOARD_H | |||
// LAYERS | |||
enum Layer { | |||
_QWERTY = 0, // Standard QWERTY layer | |||
_FUNCTION, // Function key layer | |||
_COLOUR // RGB key layer | |||
}; | |||
#define _QW _QWERTY | |||
#define _FN _FUNCTION | |||
#define _CLR _COLOUR | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[_QWERTY] = LAYOUT_iso( | |||
// 2 3 4 5 6 7 8 9 10 11 12 13 14 | |||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, | |||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, | |||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, | |||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, | |||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL | |||
), | |||
[_FUNCTION] = LAYOUT_iso( | |||
// 2 3 4 5 6 7 8 9 10 11 12 13 14 | |||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, | |||
_______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, | |||
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SLCK, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT, | |||
_______, _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, | |||
_______, KC_APP, MO(_CLR), _______, _______, KC_APP, _______, _______ | |||
), | |||
[_COLOUR] = LAYOUT_iso( | |||
// 2 3 4 5 6 7 8 9 10 11 12 13 14 | |||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, | |||
_______, _______, _______, RGB_TOG, _______, _______, _______, _______ | |||
), | |||
}; |
@ -0,0 +1 @@ | |||
# The default ISO keymap for one2mini |
@ -0,0 +1,7 @@ | |||
# one2mini | |||
![one2mini](http://www.duckychannel.com.tw/page-en/One_2_Mini_RGB/images/One2_Mini_01_02.jpg) | |||
A 60% keyboard featuring per-key RGB LEDs. | |||
See child directories for compatible boards. |
@ -0,0 +1 @@ | |||
DEFAULT_FOLDER = ducky/one2mini/1861st |