]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Made Serial and I2C not include the Other
authorIBNobody <ibnobody@gmail.com>
Wed, 21 Sep 2016 02:38:59 +0000 (21:38 -0500)
committerIBNobody <ibnobody@gmail.com>
Wed, 21 Sep 2016 02:38:59 +0000 (21:38 -0500)
This saves 192 bytes

keyboards/lets_split/config.h
keyboards/lets_split/i2c.c
keyboards/lets_split/matrix.c
keyboards/lets_split/rules.mk
keyboards/lets_split/serial.c
keyboards/lets_split/split_util.c

index ec99514aa37ba08ace4eab83a38ba93c9650d15e..f4d900accbe410f98c13b00bba935d4577344bcc 100644 (file)
@@ -41,6 +41,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 // #define USE_I2C
 
+// Use serial if not using I2C
+#ifndef USE_I2C
+#  define USE_SERIAL
+#endif
+
 // #define EE_HANDS
 
 #define I2C_MASTER_LEFT
@@ -94,4 +99,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define NO_ACTION_MACRO
 //#define NO_ACTION_FUNCTION
 
-#endif
\ No newline at end of file
+#endif
index c72789403e558eb7288b1852d6a96ff47842910f..084c890c405fa6f7ebfc1be7a699e3d120e5c482 100644 (file)
@@ -6,6 +6,8 @@
 #include <stdbool.h>
 #include "i2c.h"
 
+#ifdef USE_I2C
+
 // Limits the amount of we wait for any one i2c transaction.
 // Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is
 // 9 bits, a single transaction will take around 90μs to complete.
@@ -157,3 +159,4 @@ ISR(TWI_vect) {
   // Reset everything, so we are ready for the next TWI interrupt
   TWCR |= (1<<TWIE) | (1<<TWINT) | (ack<<TWEA) | (1<<TWEN);
 }
+#endif
index 1d768c59b32ed8e4c53a9ccf9d122fa05b28f7a4..13896900421f0654f29e75f46f9eeddc22ea1015 100644 (file)
@@ -28,14 +28,18 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "debug.h"
 #include "util.h"
 #include "matrix.h"
-#include "i2c.h"
-#include "serial.h"
 #include "split_util.h"
 #include "pro_micro.h"
 #include "config.h"
 
+#ifdef USE_I2C
+#  include "i2c.h"
+#else // USE_SERIAL
+#  include "serial.h"
+#endif
+
 #ifndef DEBOUNCE
-#   define DEBOUNCE    5
+#  define DEBOUNCE     5
 #endif
 
 #define ERROR_DISCONNECT_COUNT 5
@@ -145,6 +149,8 @@ uint8_t _matrix_scan(void)
     return 1;
 }
 
+#ifdef USE_I2C
+
 // Get rows from other half over i2c
 int i2c_transaction(void) {
     int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
@@ -176,7 +182,8 @@ i2c_error: // the cable is disconnceted, or something else went wrong
     return 0;
 }
 
-#ifndef USE_I2C
+#else // USE_SERIAL
+
 int serial_transaction(void) {
     int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
 
@@ -199,7 +206,7 @@ uint8_t matrix_scan(void)
 
 #ifdef USE_I2C
     if( i2c_transaction() ) {
-#else
+#else // USE_SERIAL
     if( serial_transaction() ) {
 #endif
         // turn on the indicator led when halves are disconnected
@@ -235,7 +242,7 @@ void matrix_slave_scan(void) {
         /* i2c_slave_buffer[i] = matrix[offset+i]; */
         i2c_slave_buffer[i] = matrix[offset+i];
     }
-#else
+#else // USE_SERIAL
     for (int i = 0; i < ROWS_PER_HAND; ++i) {
         serial_slave_buffer[i] = matrix[offset+i];
     }
@@ -290,7 +297,7 @@ static void  init_cols(void)
 static matrix_row_t read_cols(void)
 {
     matrix_row_t result = 0;
-    for(int x = 0; x < MATRIX_COLS; x++) {     
+    for(int x = 0; x < MATRIX_COLS; x++) {
         result |= (_SFR_IO8(col_pins[x] >> 4) & _BV(col_pins[x] & 0xF)) ? 0 : (1 << x);
     }
     return result;
@@ -298,7 +305,7 @@ static matrix_row_t read_cols(void)
 
 static void unselect_rows(void)
 {
-    for(int x = 0; x < ROWS_PER_HAND; x++) { 
+    for(int x = 0; x < ROWS_PER_HAND; x++) {
         _SFR_IO8((row_pins[x] >> 4) + 1) &=  ~_BV(row_pins[x] & 0xF);
         _SFR_IO8((row_pins[x] >> 4) + 2) |= _BV(row_pins[x] & 0xF);
     }
index 6961fbd556b9b3c7e69e9f7c924bd49ca86e54b7..6fde8a444ccae172391daa3847395fbf587db4b9 100644 (file)
@@ -52,7 +52,7 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
 OPT_DEFS += -DBOOTLOADER_SIZE=4096
 
 # Build Options
-#   change to "no" to disable the options, or define them in the Makefile in 
+#   change to "no" to disable the options, or define them in the Makefile in
 #   the appropriate keymap folder that will get included automatically
 #
 BOOTMAGIC_ENABLE ?= no       # Virtual DIP switch configuration(+1000)
@@ -71,4 +71,4 @@ RGBLIGHT_ENABLE ?= no        # Enable WS2812 RGB underlight.  Do not enable this
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 SLEEP_LED_ENABLE ?= no    # Breathing sleep LED during USB suspend
 
-CUSTOM_MATRIX = yes
\ No newline at end of file
+CUSTOM_MATRIX = yes
index f439c2f20bf20d4b390af21e10a8a3676bd3ffcd..6faed09ce077c7b5d300b182d4705c8166e295fe 100644 (file)
 #include <avr/interrupt.h>
 #include <util/delay.h>
 #include <stdbool.h>
-
 #include "serial.h"
 
+#ifdef USE_SERIAL
+
 // Serial pulse period in microseconds. Its probably a bad idea to lower this
 // value.
 #define SERIAL_DELAY 24
@@ -223,3 +224,5 @@ int serial_update_buffers(void) {
   sei();
   return 0;
 }
+
+#endif
index 65003a71a46d6ea699eac1f4900ce499ba4e51ec..461921798f912215ac8b48173e424c9e641d39bd 100644 (file)
@@ -6,11 +6,15 @@
 #include <avr/eeprom.h>
 #include "split_util.h"
 #include "matrix.h"
-#include "i2c.h"
-#include "serial.h"
 #include "keyboard.h"
 #include "config.h"
 
+#ifdef USE_I2C
+#  include "i2c.h"
+#else
+#  include "serial.h"
+#endif
+
 volatile bool isLeftHand = true;
 
 static void setup_handedness(void) {