forked from mfulz_github/qmk_firmware
		
	[Keyboard] Align xd84 and xd96 with moon (#6465)
* Refactor xd84 to use LINK_TIME_OPTIMIZATION_ENABLE * Refactor xd96 to use LINK_TIME_OPTIMIZATION_ENABLE * Align xd84 and xd96 with moon * Update keyboards/xd96/rules.mk Co-Authored-By: Drashna Jaelre <drashna@live.com> * Update keyboards/xd84/rules.mk Co-Authored-By: Drashna Jaelre <drashna@live.com>
This commit is contained in:
		
							parent
							
								
									547fbe769c
								
							
						
					
					
						commit
						41482e02a6
					
				| @ -237,7 +237,3 @@ | |||||||
| /* Bootmagic Lite key configuration */ | /* Bootmagic Lite key configuration */ | ||||||
| // #define BOOTMAGIC_LITE_ROW 0
 | // #define BOOTMAGIC_LITE_ROW 0
 | ||||||
| // #define BOOTMAGIC_LITE_COLUMN 0
 | // #define BOOTMAGIC_LITE_COLUMN 0
 | ||||||
| 
 |  | ||||||
| // LTO options
 |  | ||||||
| #define NO_ACTION_MACRO |  | ||||||
| #define NO_ACTION_FUNCTION |  | ||||||
|  | |||||||
| @ -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 <stdint.h> | ||||||
| #include <stdbool.h> | #include <stdbool.h> | ||||||
| #include "wait.h" | #include "wait.h" | ||||||
|  | |||||||
| @ -65,7 +65,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) | |||||||
|   // Clear data in matrix row
 |   // Clear data in matrix row
 | ||||||
|   current_matrix[current_row] = 0; |   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); |   select_row(current_row); | ||||||
|   wait_us(30); |   wait_us(30); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -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 "i2c_master.h" | #include "i2c_master.h" | ||||||
| #include "pca9555.h" | #include "pca9555.h" | ||||||
| 
 | 
 | ||||||
| @ -14,7 +29,7 @@ enum { | |||||||
|   CMD_INVERSION_0, |   CMD_INVERSION_0, | ||||||
|   CMD_INVERSION_1, |   CMD_INVERSION_1, | ||||||
|   CMD_CONFIG_0, |   CMD_CONFIG_0, | ||||||
|   CMD_CONFIG_1 |   CMD_CONFIG_1, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| void pca9555_init(uint8_t slave_addr) { | void pca9555_init(uint8_t slave_addr) { | ||||||
| @ -32,7 +47,7 @@ void pca9555_init(uint8_t slave_addr) { | |||||||
| 
 | 
 | ||||||
| void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf) { | void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf) { | ||||||
|   uint8_t addr = SLAVE_TO_ADDR(slave_addr); |   uint8_t addr = SLAVE_TO_ADDR(slave_addr); | ||||||
|   uint8_t cmd = port ? CMD_OUTPUT_1 : CMD_OUTPUT_0; |   uint8_t cmd  = port ? CMD_CONFIG_1 : CMD_CONFIG_0; | ||||||
| 
 | 
 | ||||||
|   i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); |   i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); | ||||||
|   if (ret != I2C_STATUS_SUCCESS) { |   if (ret != I2C_STATUS_SUCCESS) { | ||||||
| @ -42,7 +57,7 @@ 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) { | void pca9555_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf) { | ||||||
|   uint8_t addr = SLAVE_TO_ADDR(slave_addr); |   uint8_t addr = SLAVE_TO_ADDR(slave_addr); | ||||||
|   uint8_t cmd = port ? CMD_CONFIG_1 : CMD_CONFIG_0; |   uint8_t cmd  = port ? CMD_OUTPUT_1 : CMD_OUTPUT_0; | ||||||
| 
 | 
 | ||||||
|   i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); |   i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); | ||||||
|   if (ret != I2C_STATUS_SUCCESS) { |   if (ret != I2C_STATUS_SUCCESS) { | ||||||
|  | |||||||
| @ -18,14 +18,14 @@ | |||||||
| /*
 | /*
 | ||||||
|             PCA9555 |             PCA9555 | ||||||
|          ,----------. |          ,----------. | ||||||
|    SDA --| SDA  P00 |-- P1 |    SDA --| SDA  P00 |-- P00 | ||||||
|    SCL --| SCL  P01 |-- P2 |    SCL --| SCL  P01 |-- P01 | ||||||
|    INT --| INT  P02 |-- P3 |    INT --| INT  P02 |-- P02 | ||||||
|          |      P03 |-- P4 |          |      P03 |-- P03 | ||||||
|    A0  --| A0   P04 |-- P5 |    A0  --| A0   P04 |-- P04 | ||||||
|    A1  --| A1   P05 |-- P6 |    A1  --| A1   P05 |-- P05 | ||||||
|    A2  --| A2   P06 |-- P7 |    A2  --| A2   P06 |-- P06 | ||||||
|          |      P07 |-- P8 |          |      P07 |-- P07 | ||||||
|          |          | |          |          | | ||||||
|          |      P10 |-- P10 |          |      P10 |-- P10 | ||||||
|          |      P11 |-- P11 |          |      P11 |-- P11 | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ | |||||||
| 
 | 
 | ||||||
|  |  | ||||||
| 
 | 
 | ||||||
| Compact With 84 Keys & RGB LED Underglow | Keyboard with 84 Keys & RGB LED Underglow | ||||||
| - Designed by Xiudi | - Designed by Xiudi | ||||||
| - Up to 87 keys | - Up to 87 keys | ||||||
|   - iso and ansi support |   - iso and ansi support | ||||||
|  | |||||||
| @ -78,11 +78,11 @@ BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID | |||||||
| AUDIO_ENABLE = no           # Audio output on port C6 | AUDIO_ENABLE = no           # Audio output on port C6 | ||||||
| FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches | 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 setup
 | ||||||
| CUSTOM_MATRIX = yes | CUSTOM_MATRIX = yes | ||||||
| SRC = i2c_master.c custom_matrix_helper.c pca9555.c matrix.c | SRC += custom_matrix_helper.c pca9555.c matrix.c | ||||||
| 
 | QUANTUM_LIB_SRC += i2c_master.c | ||||||
| EXTRAFLAGS += -flto |  | ||||||
| 
 | 
 | ||||||
| LAYOUTS = 75_ansi 75_iso | LAYOUTS = 75_ansi 75_iso | ||||||
| @ -238,7 +238,3 @@ | |||||||
| /* Bootmagic Lite key configuration */ | /* Bootmagic Lite key configuration */ | ||||||
| // #define BOOTMAGIC_LITE_ROW 0
 | // #define BOOTMAGIC_LITE_ROW 0
 | ||||||
| // #define BOOTMAGIC_LITE_COLUMN 0
 | // #define BOOTMAGIC_LITE_COLUMN 0
 | ||||||
| 
 |  | ||||||
| // LTO options
 |  | ||||||
| #define NO_ACTION_MACRO |  | ||||||
| #define NO_ACTION_FUNCTION |  | ||||||
|  | |||||||
| @ -67,7 +67,7 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) | |||||||
|   // Clear data in matrix row
 |   // Clear data in matrix row
 | ||||||
|   current_matrix[current_row] = 0; |   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); |   select_row(current_row); | ||||||
|   wait_us(30); |   wait_us(30); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -29,7 +29,7 @@ enum { | |||||||
|   CMD_INVERSION_0, |   CMD_INVERSION_0, | ||||||
|   CMD_INVERSION_1, |   CMD_INVERSION_1, | ||||||
|   CMD_CONFIG_0, |   CMD_CONFIG_0, | ||||||
|   CMD_CONFIG_1 |   CMD_CONFIG_1, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| void pca9555_init(uint8_t slave_addr) { | void pca9555_init(uint8_t slave_addr) { | ||||||
| @ -47,7 +47,7 @@ void pca9555_init(uint8_t slave_addr) { | |||||||
| 
 | 
 | ||||||
| void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf) { | void pca9555_set_config(uint8_t slave_addr, uint8_t port, uint8_t conf) { | ||||||
|   uint8_t addr = SLAVE_TO_ADDR(slave_addr); |   uint8_t addr = SLAVE_TO_ADDR(slave_addr); | ||||||
|   uint8_t cmd = port ? CMD_OUTPUT_1 : CMD_OUTPUT_0; |   uint8_t cmd  = port ? CMD_CONFIG_1 : CMD_CONFIG_0; | ||||||
| 
 | 
 | ||||||
|   i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); |   i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); | ||||||
|   if (ret != I2C_STATUS_SUCCESS) { |   if (ret != I2C_STATUS_SUCCESS) { | ||||||
| @ -57,7 +57,7 @@ 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) { | void pca9555_set_output(uint8_t slave_addr, uint8_t port, uint8_t conf) { | ||||||
|   uint8_t addr = SLAVE_TO_ADDR(slave_addr); |   uint8_t addr = SLAVE_TO_ADDR(slave_addr); | ||||||
|   uint8_t cmd = port ? CMD_CONFIG_1 : CMD_CONFIG_0; |   uint8_t cmd  = port ? CMD_OUTPUT_1 : CMD_OUTPUT_0; | ||||||
| 
 | 
 | ||||||
|   i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); |   i2c_status_t ret = i2c_writeReg(addr, cmd, &conf, sizeof(conf), TIMEOUT); | ||||||
|   if (ret != I2C_STATUS_SUCCESS) { |   if (ret != I2C_STATUS_SUCCESS) { | ||||||
|  | |||||||
| @ -18,14 +18,14 @@ | |||||||
| /*
 | /*
 | ||||||
|             PCA9555 |             PCA9555 | ||||||
|          ,----------. |          ,----------. | ||||||
|    SDA --| SDA  P00 |-- P1 |    SDA --| SDA  P00 |-- P00 | ||||||
|    SCL --| SCL  P01 |-- P2 |    SCL --| SCL  P01 |-- P01 | ||||||
|    INT --| INT  P02 |-- P3 |    INT --| INT  P02 |-- P02 | ||||||
|          |      P03 |-- P4 |          |      P03 |-- P03 | ||||||
|    A0  --| A0   P04 |-- P5 |    A0  --| A0   P04 |-- P04 | ||||||
|    A1  --| A1   P05 |-- P6 |    A1  --| A1   P05 |-- P05 | ||||||
|    A2  --| A2   P06 |-- P7 |    A2  --| A2   P06 |-- P06 | ||||||
|          |      P07 |-- P8 |          |      P07 |-- P07 | ||||||
|          |          | |          |          | | ||||||
|          |      P10 |-- P10 |          |      P10 |-- P10 | ||||||
|          |      P11 |-- P11 |          |      P11 |-- P11 | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ | |||||||
| 
 | 
 | ||||||
|  |  | ||||||
| 
 | 
 | ||||||
| Compact With 96 Keys & RGB LED Underglow | Keyboard with 96 Keys & RGB LED Underglow | ||||||
| - Designed by Xiudi | - Designed by Xiudi | ||||||
| - ISO and ANSI support | - ISO and ANSI support | ||||||
| - Uses Kimera core | - Uses Kimera core | ||||||
|  | |||||||
| @ -78,9 +78,9 @@ BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID | |||||||
| AUDIO_ENABLE = no           # Audio output on port C6 | AUDIO_ENABLE = no           # Audio output on port C6 | ||||||
| FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches | 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 setup
 | ||||||
| CUSTOM_MATRIX = yes | CUSTOM_MATRIX = yes | ||||||
| SRC = i2c_master.c custom_matrix_helper.c pca9555.c matrix.c | SRC += custom_matrix_helper.c pca9555.c matrix.c | ||||||
| 
 | QUANTUM_LIB_SRC += i2c_master.c | ||||||
| EXTRAFLAGS += -flto |  | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Joel Challis
						Joel Challis