diff options
Diffstat (limited to 'keyboards/xd84')
-rw-r--r-- | keyboards/xd84/config.h | 4 | ||||
-rw-r--r-- | keyboards/xd84/custom_matrix_helper.c | 15 | ||||
-rw-r--r-- | keyboards/xd84/matrix.c | 2 | ||||
-rw-r--r-- | keyboards/xd84/pca9555.c | 63 | ||||
-rw-r--r-- | keyboards/xd84/pca9555.h | 55 | ||||
-rw-r--r-- | keyboards/xd84/readme.md | 2 | ||||
-rw-r--r-- | keyboards/xd84/rules.mk | 61 |
7 files changed, 25 insertions, 177 deletions
diff --git a/keyboards/xd84/config.h b/keyboards/xd84/config.h index 138c2c4c85..1ff5e1cfd7 100644 --- a/keyboards/xd84/config.h +++ b/keyboards/xd84/config.h @@ -237,7 +237,3 @@ /* Bootmagic Lite key configuration */ // #define BOOTMAGIC_LITE_ROW 0 // #define BOOTMAGIC_LITE_COLUMN 0 - -// LTO options -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION diff --git a/keyboards/xd84/custom_matrix_helper.c b/keyboards/xd84/custom_matrix_helper.c index a6a0a041d9..a4c5b6afa5 100644 --- a/keyboards/xd84/custom_matrix_helper.c +++ b/keyboards/xd84/custom_matrix_helper.c @@ -1,3 +1,18 @@ +/* Copyright 2019 + * + * 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 <stdint.h> #include <stdbool.h> #include "wait.h" diff --git a/keyboards/xd84/matrix.c b/keyboards/xd84/matrix.c index a359050477..4cb5544ca4 100644 --- a/keyboards/xd84/matrix.c +++ b/keyboards/xd84/matrix.c @@ -65,7 +65,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) // Clear data in matrix row current_matrix[current_row] = 0; - // Select row and wait for row selecton to stabilize + // Select row and wait for row selection to stabilize select_row(current_row); wait_us(30); diff --git a/keyboards/xd84/pca9555.c b/keyboards/xd84/pca9555.c deleted file mode 100644 index df4631e9d7..0000000000 --- a/keyboards/xd84/pca9555.c +++ /dev/null @@ -1,63 +0,0 @@ -#include "i2c_master.h" -#include "pca9555.h" - -#include "debug.h" - -#define SLAVE_TO_ADDR(n) (n<<1) -#define TIMEOUT 100 - -enum { - CMD_INPUT_0 = 0, - CMD_INPUT_1, - CMD_OUTPUT_0, - CMD_OUTPUT_1, - CMD_INVERSION_0, - CMD_INVERSION_1, - CMD_CONFIG_0, - CMD_CONFIG_1 -}; - -void pca9555_init(uint8_t slave_addr) { - static uint8_t s_init = 0; - if (!s_init) { - i2c_init(); - - s_init=1; - } - - // TODO: could check device connected - //i2c_start(SLAVE_TO_ADDR(slave) | I2C_WRITE); - //i2c_stop(); -} - -void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf) { - uint8_t addr = SLAVE_TO_ADDR(slave_addr); - uint8_t cmd = port ? CMD_OUTPUT_1 : CMD_OUTPUT_0; - - i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); - if (ret != I2C_STATUS_SUCCESS) { - print("pca9555_set_config::FAILED\n"); - } -} - -void pca9555_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf) { - uint8_t addr = SLAVE_TO_ADDR(slave_addr); - uint8_t cmd = port ? CMD_CONFIG_1 : CMD_CONFIG_0; - - i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); - if (ret != I2C_STATUS_SUCCESS) { - print("pca9555_set_output::FAILED\n"); - } -} - -uint8_t pca9555_readPins(uint8_t slave_addr, uint8_t port) { - uint8_t addr = SLAVE_TO_ADDR(slave_addr); - uint8_t cmd = port ? CMD_INPUT_1 : CMD_INPUT_0; - - uint8_t data = 0; - i2c_status_t ret = i2c_readReg(addr, cmd, &data, sizeof(data), TIMEOUT); - if (ret != I2C_STATUS_SUCCESS) { - print("pca9555_readPins::FAILED\n"); - } - return data; -} diff --git a/keyboards/xd84/pca9555.h b/keyboards/xd84/pca9555.h deleted file mode 100644 index 6aaee8a6f8..0000000000 --- a/keyboards/xd84/pca9555.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright 2019 - * - * 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 - -/* - PCA9555 - ,----------. - SDA --| SDA P00 |-- P1 - SCL --| SCL P01 |-- P2 - INT --| INT P02 |-- P3 - | P03 |-- P4 - A0 --| A0 P04 |-- P5 - A1 --| A1 P05 |-- P6 - A2 --| A2 P06 |-- P7 - | P07 |-- P8 - | | - | P10 |-- P10 - | P11 |-- P11 - | P12 |-- P12 - | P13 |-- P13 - | P14 |-- P14 - | P15 |-- P15 - | P16 |-- P16 - | P17 |-- P17 - `----------' -*/ - -#define PCA9555_PORT0 0 -#define PCA9555_PORT1 1 - -#define ALL_OUTPUT 0 -#define ALL_INPUT 0xFF -#define ALL_LOW 0 -#define ALL_HIGH 0xFF - -void pca9555_init(uint8_t slave_addr); - -void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf); - -void pca9555_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf); - -uint8_t pca9555_readPins(uint8_t slave_addr, uint8_t port);
\ No newline at end of file diff --git a/keyboards/xd84/readme.md b/keyboards/xd84/readme.md index 38b4efcba2..b8d9c5dbb8 100644 --- a/keyboards/xd84/readme.md +++ b/keyboards/xd84/readme.md @@ -2,7 +2,7 @@ ![XD84](https://cdn.shopify.com/s/files/1/2711/4238/products/HTB17eeJSXXXXXbIXFXXq6xXFXXXp_1024x1024.jpg?v=1515505994) -Compact With 84 Keys & RGB LED Underglow +Keyboard with 84 Keys & RGB LED Underglow - Designed by Xiudi - Up to 87 keys - iso and ansi support diff --git a/keyboards/xd84/rules.mk b/keyboards/xd84/rules.mk index 283d4babc7..d9d316c133 100644 --- a/keyboards/xd84/rules.mk +++ b/keyboards/xd84/rules.mk @@ -1,63 +1,16 @@ # MCU name MCU = atmega32u4 -# Processor frequency. -# This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency in Hz. You can then use this symbol in your source code to -# calculate timings. Do NOT tack on a 'UL' at the end, this will be done -# automatically to create a 32-bit value in your source code. -# -# This will be an integer division of F_USB below, as it is sourced by -# F_USB after it has run through any CPU prescalers. Note that this value -# does not *change* the processor frequency - it should merely be updated to -# reflect the processor speed set externally so that the code can use accurate -# software delays. -F_CPU = 16000000 - - -# -# LUFA specific -# -# Target architecture (see library "Board Types" documentation). -ARCH = AVR8 - -# Input clock frequency. -# This will define a symbol, F_USB, in all source code files equal to the -# input clock frequency (before any prescaling is performed) in Hz. This value may -# differ from F_CPU if prescaling is used on the latter, and is required as the -# raw input clock is fed directly to the PLL sections of the AVR for high speed -# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' -# at the end, this will be done automatically to create a 32-bit value in your -# source code. -# -# If no clock division is performed on the input clock inside the AVR (via the -# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. -F_USB = $(F_CPU) - -# Interrupt driven control endpoint task(+60) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT - - # Bootloader selection # Teensy halfkay # Pro Micro caterina # Atmel DFU atmel-dfu # LUFA DFU lufa-dfu # QMK DFU qmk-dfu -# atmega32a bootloadHID +# ATmega32A bootloadHID +# ATmega328P USBasp BOOTLOADER = atmel-dfu - -# If you don't know the bootloader type, then you can specify the -# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line -# Teensy halfKay 512 -# Teensy++ halfKay 1024 -# Atmel DFU loader 4096 -# LUFA bootloader 4096 -# USBaspLoader 2048 -# OPT_DEFS += -DBOOTLOADER_SIZE=4096 - - # Build Options # change yes to no to disable # @@ -77,12 +30,14 @@ UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID AUDIO_ENABLE = no # Audio output on port C6 FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches -HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) +HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400) +LINK_TIME_OPTIMIZATION_ENABLE = yes # custom matrix setup CUSTOM_MATRIX = yes -SRC = i2c_master.c custom_matrix_helper.c pca9555.c matrix.c -EXTRAFLAGS += -flto +VPATH += drivers/gpio +SRC += custom_matrix_helper.c pca9555.c matrix.c +QUANTUM_LIB_SRC += i2c_master.c -LAYOUTS = 75_ansi 75_iso
\ No newline at end of file +LAYOUTS = 75_ansi 75_iso |