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 */ | ||||
| // #define BOOTMAGIC_LITE_ROW 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 <stdbool.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
 | ||||
|   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); | ||||
| 
 | ||||
|  | ||||
| @ -1,9 +1,24 @@ | ||||
| /* 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 "pca9555.h" | ||||
| 
 | ||||
| #include "debug.h" | ||||
| 
 | ||||
| #define SLAVE_TO_ADDR(n)   (n<<1) | ||||
| #define SLAVE_TO_ADDR(n) (n << 1) | ||||
| #define TIMEOUT 100 | ||||
| 
 | ||||
| enum { | ||||
| @ -14,7 +29,7 @@ enum { | ||||
|   CMD_INVERSION_0, | ||||
|   CMD_INVERSION_1, | ||||
|   CMD_CONFIG_0, | ||||
|   CMD_CONFIG_1 | ||||
|   CMD_CONFIG_1, | ||||
| }; | ||||
| 
 | ||||
| void pca9555_init(uint8_t slave_addr) { | ||||
| @ -22,17 +37,17 @@ void pca9555_init(uint8_t slave_addr) { | ||||
|   if (!s_init) { | ||||
|     i2c_init(); | ||||
| 
 | ||||
|     s_init=1; | ||||
|     s_init = 1; | ||||
|   } | ||||
| 
 | ||||
|   // TODO: could check device connected
 | ||||
|   //i2c_start(SLAVE_TO_ADDR(slave) | I2C_WRITE);
 | ||||
|   //i2c_stop();
 | ||||
|   // 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; | ||||
|   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) { | ||||
| @ -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) { | ||||
|   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); | ||||
|   if (ret != I2C_STATUS_SUCCESS) { | ||||
|  | ||||
| @ -18,14 +18,14 @@ | ||||
| /*
 | ||||
|             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 | ||||
|    SDA --| SDA  P00 |-- P00 | ||||
|    SCL --| SCL  P01 |-- P01 | ||||
|    INT --| INT  P02 |-- P02 | ||||
|          |      P03 |-- P03 | ||||
|    A0  --| A0   P04 |-- P04 | ||||
|    A1  --| A1   P05 |-- P05 | ||||
|    A2  --| A2   P06 |-- P06 | ||||
|          |      P07 |-- P07 | ||||
|          |          | | ||||
|          |      P10 |-- P10 | ||||
|          |      P11 |-- P11 | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| 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 | ||||
|  | ||||
| @ -78,11 +78,11 @@ 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) | ||||
| 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 | ||||
| SRC += custom_matrix_helper.c pca9555.c matrix.c | ||||
| QUANTUM_LIB_SRC += i2c_master.c | ||||
| 
 | ||||
| LAYOUTS = 75_ansi 75_iso | ||||
| @ -238,7 +238,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 | ||||
|  | ||||
| @ -67,7 +67,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); | ||||
| 
 | ||||
|  | ||||
| @ -18,7 +18,7 @@ | ||||
| 
 | ||||
| #include "debug.h" | ||||
| 
 | ||||
| #define SLAVE_TO_ADDR(n)   (n<<1) | ||||
| #define SLAVE_TO_ADDR(n) (n << 1) | ||||
| #define TIMEOUT 100 | ||||
| 
 | ||||
| enum { | ||||
| @ -29,7 +29,7 @@ enum { | ||||
|   CMD_INVERSION_0, | ||||
|   CMD_INVERSION_1, | ||||
|   CMD_CONFIG_0, | ||||
|   CMD_CONFIG_1 | ||||
|   CMD_CONFIG_1, | ||||
| }; | ||||
| 
 | ||||
| void pca9555_init(uint8_t slave_addr) { | ||||
| @ -37,17 +37,17 @@ void pca9555_init(uint8_t slave_addr) { | ||||
|   if (!s_init) { | ||||
|     i2c_init(); | ||||
| 
 | ||||
|     s_init=1; | ||||
|     s_init = 1; | ||||
|   } | ||||
| 
 | ||||
|   // TODO: could check device connected
 | ||||
|   //i2c_start(SLAVE_TO_ADDR(slave) | I2C_WRITE);
 | ||||
|   //i2c_stop();
 | ||||
|   // 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; | ||||
|   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) { | ||||
| @ -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) { | ||||
|   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); | ||||
|   if (ret != I2C_STATUS_SUCCESS) { | ||||
|  | ||||
| @ -18,14 +18,14 @@ | ||||
| /*
 | ||||
|             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 | ||||
|    SDA --| SDA  P00 |-- P00 | ||||
|    SCL --| SCL  P01 |-- P01 | ||||
|    INT --| INT  P02 |-- P02 | ||||
|          |      P03 |-- P03 | ||||
|    A0  --| A0   P04 |-- P04 | ||||
|    A1  --| A1   P05 |-- P05 | ||||
|    A2  --| A2   P06 |-- P06 | ||||
|          |      P07 |-- P07 | ||||
|          |          | | ||||
|          |      P10 |-- P10 | ||||
|          |      P11 |-- P11 | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| Compact With 96 Keys & RGB LED Underglow | ||||
| Keyboard with 96 Keys & RGB LED Underglow | ||||
| - Designed by Xiudi | ||||
| - ISO and ANSI support | ||||
| - 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 | ||||
| FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches | ||||
| 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 | ||||
| SRC += custom_matrix_helper.c pca9555.c matrix.c | ||||
| QUANTUM_LIB_SRC += i2c_master.c | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Joel Challis
						Joel Challis