From 2762e7ba5ed957ea35377dae368e04a71189fdc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Thu, 31 Jan 2019 15:15:43 +0100 Subject: [PATCH 01/10] Fix up GPIO macros --- quantum/quantum.h | 69 +++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 41 deletions(-) diff --git a/quantum/quantum.h b/quantum/quantum.h index 56a6a1a991ad..69fb1e6155a7 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -135,48 +135,35 @@ extern uint32_t default_layer_state; #include "hd44780.h" #endif -//Function substitutions to ease GPIO manipulation -#ifdef __AVR__ - #define PIN_ADDRESS(p, offset) _SFR_IO8(ADDRESS_BASE + (p >> PORT_SHIFTER) + offset) - - #define pin_t uint8_t - #define setPinInput(pin) PIN_ADDRESS(pin, 1) &= ~ _BV(pin & 0xF) - #define setPinInputHigh(pin) ({\ - PIN_ADDRESS(pin, 1) &= ~ _BV(pin & 0xF);\ - PIN_ADDRESS(pin, 2) |= _BV(pin & 0xF);\ - }) - #define setPinInputLow(pin) _Static_assert(0, "AVR Processors cannot impliment an input as pull low") - #define setPinOutput(pin) PIN_ADDRESS(pin, 1) |= _BV(pin & 0xF) - - #define writePinHigh(pin) PIN_ADDRESS(pin, 2) |= _BV(pin & 0xF) - #define writePinLow(pin) PIN_ADDRESS(pin, 2) &= ~_BV(pin & 0xF) - static inline void writePin(pin_t pin, uint8_t level){ - if (level){ - PIN_ADDRESS(pin, 2) |= _BV(pin & 0xF); - } else { - PIN_ADDRESS(pin, 2) &= ~_BV(pin & 0xF); - } - } - - #define readPin(pin) ((bool)(PIN_ADDRESS(pin, 0) & _BV(pin & 0xF))) +// Function substitutions to ease GPIO manipulation +#if defined(__AVR__) + typedef uint8_t pin_t; + + #define PIN_ADDRESS(p, offset) (_SFR_IO8(ADDRESS_BASE + ((p) >> PORT_SHIFTER) + (offset))) + #define setPinInput(pin) (PIN_ADDRESS(pin, 1) &= ~_BV((pin) & 0xF)) + #define setPinInputHigh(pin) (PIN_ADDRESS(pin, 1) &= ~_BV((pin) & 0xF), \ + PIN_ADDRESS(pin, 2) |= _BV((pin) & 0xF)) + #define setPinInputLow(pin) _Static_assert(0, "AVR processors cannot implement an input as pull low") + #define setPinOutput(pin) (PIN_ADDRESS(pin, 1) |= _BV((pin) & 0xF)) + + #define writePinHigh(pin) (PIN_ADDRESS(pin, 2) |= _BV((pin) & 0xF)) + #define writePinLow(pin) (PIN_ADDRESS(pin, 2) &= ~_BV((pin) & 0xF)) + #define writePin(pin, level) ((level) ? writePinHigh(pin) : writePinLow(pin)) + + #define readPin(pin) ((bool)(PIN_ADDRESS(pin, 0) & _BV((pin) & 0xF))) #elif defined(PROTOCOL_CHIBIOS) - #define pin_t ioline_t - #define setPinInput(pin) palSetLineMode(pin, PAL_MODE_INPUT) - #define setPinInputHigh(pin) palSetLineMode(pin, PAL_MODE_INPUT_PULLUP) - #define setPinInputLow(pin) palSetLineMode(pin, PAL_MODE_INPUT_PULLDOWN) - #define setPinOutput(pin) palSetLineMode(pin, PAL_MODE_OUTPUT_PUSHPULL) - - #define writePinHigh(pin) palSetLine(pin) - #define writePinLow(pin) palClearLine(pin) - static inline void writePin(pin_t pin, uint8_t level){ - if (level){ - palSetLine(pin); - } else { - palClearLine(pin); - } - } - - #define readPin(pin) palReadLine(pin) + typedef ioline_t pin_t; + + #define setPinInput(pin) palSetLineMode(pin, PAL_MODE_INPUT) + #define setPinInputHigh(pin) palSetLineMode(pin, PAL_MODE_INPUT_PULLUP) + #define setPinInputLow(pin) palSetLineMode(pin, PAL_MODE_INPUT_PULLDOWN) + #define setPinOutput(pin) palSetLineMode(pin, PAL_MODE_OUTPUT_PUSHPULL) + + #define writePinHigh(pin) palSetLine(pin) + #define writePinLow(pin) palClearLine(pin) + #define writePin(pin, level) ((level) ? writePinHigh(pin) : writePinLow(pin)) + + #define readPin(pin) palReadLine(pin) #endif #define STRINGIZE(z) #z From fd56d7637317de9573fb2939eb9ec7c0e8204791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Thu, 31 Jan 2019 15:15:52 +0100 Subject: [PATCH 02/10] Fix up send string macros `string` arguments must not be parenthesized --- quantum/quantum.h | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/quantum/quantum.h b/quantum/quantum.h index 69fb1e6155a7..5818251d6133 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -166,26 +166,30 @@ extern uint32_t default_layer_state; #define readPin(pin) palReadLine(pin) #endif -#define STRINGIZE(z) #z -#define ADD_SLASH_X(y) STRINGIZE(\x ## y) -#define SYMBOL_STR(x) ADD_SLASH_X(x) - -#define SS_TAP(keycode) "\1" SYMBOL_STR(keycode) -#define SS_DOWN(keycode) "\2" SYMBOL_STR(keycode) -#define SS_UP(keycode) "\3" SYMBOL_STR(keycode) - -#define SS_LCTRL(string) SS_DOWN(X_LCTRL) string SS_UP(X_LCTRL) -#define SS_LGUI(string) SS_DOWN(X_LGUI) string SS_UP(X_LGUI) -#define SS_LCMD(string) SS_LGUI(string) -#define SS_LWIN(string) SS_LGUI(string) -#define SS_LALT(string) SS_DOWN(X_LALT) string SS_UP(X_LALT) -#define SS_LSFT(string) SS_DOWN(X_LSHIFT) string SS_UP(X_LSHIFT) -#define SS_RALT(string) SS_DOWN(X_RALT) string SS_UP(X_RALT) -#define SS_ALGR(string) SS_RALT(string) - -#define SEND_STRING(str) send_string_P(PSTR(str)) -extern const bool ascii_to_shift_lut[0x80]; +// Send string macros +#define STRINGIZE(z) #z +#define ADD_SLASH_X(y) STRINGIZE(\x ## y) +#define SYMBOL_STR(x) ADD_SLASH_X(x) + +#define SS_TAP(keycode) "\1" SYMBOL_STR(keycode) +#define SS_DOWN(keycode) "\2" SYMBOL_STR(keycode) +#define SS_UP(keycode) "\3" SYMBOL_STR(keycode) + +// `string` arguments must not be parenthesized +#define SS_LCTRL(string) SS_DOWN(X_LCTRL) string SS_UP(X_LCTRL) +#define SS_LGUI(string) SS_DOWN(X_LGUI) string SS_UP(X_LGUI) +#define SS_LCMD(string) SS_LGUI(string) +#define SS_LWIN(string) SS_LGUI(string) +#define SS_LALT(string) SS_DOWN(X_LALT) string SS_UP(X_LALT) +#define SS_LSFT(string) SS_DOWN(X_LSHIFT) string SS_UP(X_LSHIFT) +#define SS_RALT(string) SS_DOWN(X_RALT) string SS_UP(X_RALT) +#define SS_ALGR(string) SS_RALT(string) + +#define SEND_STRING(string) send_string_P(PSTR(string)) + +extern const bool ascii_to_shift_lut[0x80]; extern const uint8_t ascii_to_keycode_lut[0x80]; + void send_string(const char *str); void send_string_with_delay(const char *str, uint8_t interval); void send_string_P(const char *str); From 7936c00177a38f3e38ba1870ab4f8e2420614885 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Thu, 31 Jan 2019 15:35:22 +0100 Subject: [PATCH 03/10] Fix up miscellaneous macros --- quantum/quantum.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/quantum/quantum.h b/quantum/quantum.h index 5818251d6133..6389139efe3f 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -204,7 +204,7 @@ void set_single_persistent_default_layer(uint8_t default_layer); void tap_random_base64(void); -#define IS_LAYER_ON(layer) (layer_state & (1UL << (layer))) +#define IS_LAYER_ON(layer) ( layer_state & (1UL << (layer))) #define IS_LAYER_OFF(layer) (~layer_state & (1UL << (layer))) void matrix_init_kb(void); @@ -216,10 +216,10 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record); bool process_record_user(uint16_t keycode, keyrecord_t *record); #ifndef BOOTMAGIC_LITE_COLUMN - #define BOOTMAGIC_LITE_COLUMN 0 + #define BOOTMAGIC_LITE_COLUMN 0 #endif #ifndef BOOTMAGIC_LITE_ROW - #define BOOTMAGIC_LITE_ROW 0 + #define BOOTMAGIC_LITE_ROW 0 #endif void bootmagic_lite(void); From d027f37c7c777a9db15b41766652b1cb6ea86a59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Thu, 31 Jan 2019 15:35:47 +0100 Subject: [PATCH 04/10] Make indentation uniform (4 spaces) --- quantum/quantum.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quantum/quantum.h b/quantum/quantum.h index 6389139efe3f..cdfb3a9c8e42 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -31,7 +31,7 @@ #include "backlight.h" #endif #ifdef RGBLIGHT_ENABLE - #include "rgblight.h" + #include "rgblight.h" #else #ifdef RGB_MATRIX_ENABLE /* dummy define RGBLIGHT_MODE_xxxx */ @@ -106,7 +106,7 @@ extern uint32_t default_layer_state; #endif #ifdef TAP_DANCE_ENABLE - #include "process_tap_dance.h" + #include "process_tap_dance.h" #endif #ifdef PRINTING_ENABLE From bd5bbc31de93c5d77e048399bf962dfb73921fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Thu, 31 Jan 2019 15:37:54 +0100 Subject: [PATCH 05/10] Make #ifdef vs #if defined usage consistent --- quantum/quantum.h | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/quantum/quantum.h b/quantum/quantum.h index cdfb3a9c8e42..16ffd7a8bfd5 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -16,28 +16,29 @@ #ifndef QUANTUM_H #define QUANTUM_H -#if defined(__AVR__) +#ifdef __AVR__ #include #include #include #endif -#if defined(PROTOCOL_CHIBIOS) +#ifdef PROTOCOL_CHIBIOS #include "hal.h" #endif + #include "wait.h" #include "matrix.h" #include "keymap.h" -#ifdef BACKLIGHT_ENABLE + +#if BACKLIGHT_ENABLE #include "backlight.h" #endif -#ifdef RGBLIGHT_ENABLE + +#if defined(RGBLIGHT_ENABLE) + #include "rgblight.h" +#elif defined(RGB_MATRIX_ENABLE) + // Dummy define RGBLIGHT_MODE_xxxx + #define RGBLIGHT_H_DUMMY_DEFINE #include "rgblight.h" -#else - #ifdef RGB_MATRIX_ENABLE - /* dummy define RGBLIGHT_MODE_xxxx */ - #define RGBLIGHT_H_DUMMY_DEFINE - #include "rgblight.h" - #endif #endif #ifdef SPLIT_KEYBOARD @@ -67,18 +68,16 @@ extern uint32_t default_layer_state; extern uint32_t layer_state; #endif -#ifdef MIDI_ENABLE -#ifdef MIDI_ADVANCED +#if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED) #include "process_midi.h" #endif -#endif // MIDI_ENABLE #ifdef AUDIO_ENABLE #include "audio.h" #include "process_audio.h" #ifdef AUDIO_CLICKY #include "process_clicky.h" - #endif // AUDIO_CLICKY + #endif #endif #ifdef STENO_ENABLE @@ -237,7 +236,7 @@ void tap_code16(uint16_t code); void backlight_init_ports(void); void backlight_task(void); -#ifdef BACKLIGHT_BREATHING + #ifdef BACKLIGHT_BREATHING void breathing_enable(void); void breathing_pulse(void); void breathing_disable(void); @@ -250,9 +249,9 @@ void breathing_period_default(void); void breathing_period_set(uint8_t value); void breathing_period_inc(void); void breathing_period_dec(void); + #endif #endif -#endif void send_dword(uint32_t number); void send_word(uint16_t number); void send_byte(uint8_t number); From 8987f72df69ad3b6977aa1146946263b656cc165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Thu, 31 Jan 2019 15:39:30 +0100 Subject: [PATCH 06/10] Reorder standard includes --- quantum/quantum.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quantum/quantum.h b/quantum/quantum.h index 16ffd7a8bfd5..bc78fd8b498a 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -51,16 +51,16 @@ #include "action_layer.h" #include "eeconfig.h" -#include #include "bootloader.h" #include "timer.h" #include "config_common.h" #include "led.h" #include "action_util.h" -#include #include "print.h" #include "send_string_keycodes.h" #include "suspend.h" +#include +#include extern uint32_t default_layer_state; From fd193bc21245fa9e2fb83066903d2e202614bff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Wed, 20 Mar 2019 00:36:59 +0100 Subject: [PATCH 07/10] Revert indentation changes as per review comments --- quantum/quantum.h | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/quantum/quantum.h b/quantum/quantum.h index 3b99f003b9cd..f589370a676d 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -174,27 +174,27 @@ extern uint32_t default_layer_state; #endif // Send string macros -#define STRINGIZE(z) #z -#define ADD_SLASH_X(y) STRINGIZE(\x ## y) -#define SYMBOL_STR(x) ADD_SLASH_X(x) +#define STRINGIZE(z) #z +#define ADD_SLASH_X(y) STRINGIZE(\x ## y) +#define SYMBOL_STR(x) ADD_SLASH_X(x) -#define SS_TAP(keycode) "\1" SYMBOL_STR(keycode) -#define SS_DOWN(keycode) "\2" SYMBOL_STR(keycode) -#define SS_UP(keycode) "\3" SYMBOL_STR(keycode) +#define SS_TAP(keycode) "\1" SYMBOL_STR(keycode) +#define SS_DOWN(keycode) "\2" SYMBOL_STR(keycode) +#define SS_UP(keycode) "\3" SYMBOL_STR(keycode) // `string` arguments must not be parenthesized -#define SS_LCTRL(string) SS_DOWN(X_LCTRL) string SS_UP(X_LCTRL) -#define SS_LGUI(string) SS_DOWN(X_LGUI) string SS_UP(X_LGUI) -#define SS_LCMD(string) SS_LGUI(string) -#define SS_LWIN(string) SS_LGUI(string) -#define SS_LALT(string) SS_DOWN(X_LALT) string SS_UP(X_LALT) -#define SS_LSFT(string) SS_DOWN(X_LSHIFT) string SS_UP(X_LSHIFT) -#define SS_RALT(string) SS_DOWN(X_RALT) string SS_UP(X_RALT) -#define SS_ALGR(string) SS_RALT(string) +#define SS_LCTRL(string) SS_DOWN(X_LCTRL) string SS_UP(X_LCTRL) +#define SS_LGUI(string) SS_DOWN(X_LGUI) string SS_UP(X_LGUI) +#define SS_LCMD(string) SS_LGUI(string) +#define SS_LWIN(string) SS_LGUI(string) +#define SS_LALT(string) SS_DOWN(X_LALT) string SS_UP(X_LALT) +#define SS_LSFT(string) SS_DOWN(X_LSHIFT) string SS_UP(X_LSHIFT) +#define SS_RALT(string) SS_DOWN(X_RALT) string SS_UP(X_RALT) +#define SS_ALGR(string) SS_RALT(string) #define SEND_STRING(string) send_string_P(PSTR(string)) -extern const bool ascii_to_shift_lut[0x80]; +extern const bool ascii_to_shift_lut[0x80]; extern const uint8_t ascii_to_keycode_lut[0x80]; void send_string(const char *str); @@ -211,7 +211,7 @@ void set_single_persistent_default_layer(uint8_t default_layer); void tap_random_base64(void); -#define IS_LAYER_ON(layer) ( layer_state & (1UL << (layer))) +#define IS_LAYER_ON(layer) (layer_state & (1UL << (layer))) #define IS_LAYER_OFF(layer) (~layer_state & (1UL << (layer))) void matrix_init_kb(void); @@ -223,10 +223,10 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record); bool process_record_user(uint16_t keycode, keyrecord_t *record); #ifndef BOOTMAGIC_LITE_COLUMN - #define BOOTMAGIC_LITE_COLUMN 0 + #define BOOTMAGIC_LITE_COLUMN 0 #endif #ifndef BOOTMAGIC_LITE_ROW - #define BOOTMAGIC_LITE_ROW 0 + #define BOOTMAGIC_LITE_ROW 0 #endif void bootmagic_lite(void); @@ -244,7 +244,7 @@ void tap_code16(uint16_t code); void backlight_init_ports(void); void backlight_task(void); - #ifdef BACKLIGHT_BREATHING +#ifdef BACKLIGHT_BREATHING void breathing_enable(void); void breathing_pulse(void); void breathing_disable(void); @@ -257,7 +257,7 @@ void breathing_period_default(void); void breathing_period_set(uint8_t value); void breathing_period_inc(void); void breathing_period_dec(void); - #endif +#endif #endif void send_dword(uint32_t number); From 798a4265fcd35812233f5eea08202ad54c19ed49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Fri, 29 Mar 2019 01:09:25 +0100 Subject: [PATCH 08/10] =?UTF-8?q?Revert=20#if=20defined(=5F=5FAVR=5F=5F)?= =?UTF-8?q?=20=E2=86=92=C2=A0#ifdef=20=5F=5FAVR=5F=5F=20change?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quantum/quantum.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quantum/quantum.h b/quantum/quantum.h index f589370a676d..ba09ae68fb4b 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -16,12 +16,12 @@ #ifndef QUANTUM_H #define QUANTUM_H -#ifdef __AVR__ +#if defined(__AVR__) #include #include #include #endif -#ifdef PROTOCOL_CHIBIOS +#if defined(PROTOCOL_CHIBIOS) #include "hal.h" #endif From 6e9d3573777e1402508644f96388185a5a3cdbb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Fri, 3 May 2019 18:56:50 +0200 Subject: [PATCH 09/10] Change 2 space indent to 4 spaces on a couple of lines --- quantum/quantum.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/quantum/quantum.h b/quantum/quantum.h index f2454896f273..e09d29a11653 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -131,7 +131,7 @@ extern uint32_t default_layer_state; #endif #ifdef SPACE_CADET_ENABLE - #include "process_space_cadet.h" + #include "process_space_cadet.h" #endif #ifdef HD44780_ENABLE @@ -234,10 +234,10 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record); bool process_record_user(uint16_t keycode, keyrecord_t *record); #ifndef BOOTMAGIC_LITE_COLUMN - #define BOOTMAGIC_LITE_COLUMN 0 + #define BOOTMAGIC_LITE_COLUMN 0 #endif #ifndef BOOTMAGIC_LITE_ROW - #define BOOTMAGIC_LITE_ROW 0 + #define BOOTMAGIC_LITE_ROW 0 #endif void bootmagic_lite(void); From ffb7b6292748764a8901250426156da5b1936f80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20=C4=90or=C4=91evi=C4=87?= Date: Tue, 9 Jul 2019 07:10:59 +0200 Subject: [PATCH 10/10] Replace include guard with #pragma once --- quantum/quantum.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/quantum/quantum.h b/quantum/quantum.h index 1e5ef713c213..f089c6ef645c 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -13,8 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#ifndef QUANTUM_H -#define QUANTUM_H +#pragma once #if defined(__AVR__) #include @@ -285,5 +284,3 @@ void led_set_user(uint8_t usb_led); void led_set_kb(uint8_t usb_led); void api_send_unicode(uint32_t unicode); - -#endif