diff options
author | Joel Challis <git@zvecr.com> | 2021-07-24 19:56:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-24 19:56:45 +0100 |
commit | b5bcd5b0a18079df1252a718588255c62d24a054 (patch) | |
tree | 886b84473e94718fed4de18a6d6c5b5b9e46eb89 | |
parent | 145d89ab9192d08b7e22a14105d27988944b7b0c (diff) |
Refactor some platform dependent logic (#13675)
-rw-r--r-- | quantum/audio/luts.h | 10 | ||||
-rw-r--r-- | quantum/audio/voices.h | 3 | ||||
-rw-r--r-- | quantum/keymap_common.c | 4 | ||||
-rw-r--r-- | quantum/quantum.h | 11 | ||||
-rw-r--r-- | quantum/rgblight.c | 14 | ||||
-rw-r--r-- | quantum/rgblight.h | 5 | ||||
-rw-r--r-- | tmk_core/common/arm_atsam/platform.h | 18 | ||||
-rw-r--r-- | tmk_core/common/avr/platform.h | 20 | ||||
-rw-r--r-- | tmk_core/common/chibios/platform.h | 19 | ||||
-rw-r--r-- | tmk_core/common/print.h | 2 | ||||
-rw-r--r-- | tmk_core/common/timer.h | 5 |
11 files changed, 65 insertions, 46 deletions
diff --git a/quantum/audio/luts.h b/quantum/audio/luts.h index 74980b292e..8bb0454493 100644 --- a/quantum/audio/luts.h +++ b/quantum/audio/luts.h @@ -16,14 +16,8 @@ #pragma once -#if defined(__AVR__) -# include <avr/io.h> -# include <avr/interrupt.h> -# include <avr/pgmspace.h> -#else -# include <ch.h> -# include <hal.h> -#endif +#include <float.h> +#include <stdint.h> #define VIBRATO_LUT_LENGTH 20 diff --git a/quantum/audio/voices.h b/quantum/audio/voices.h index 578350d337..1f402e7e12 100644 --- a/quantum/audio/voices.h +++ b/quantum/audio/voices.h @@ -18,9 +18,6 @@ #include <stdint.h> #include <stdbool.h> -#if defined(__AVR__) -# include <avr/io.h> -#endif #include "wait.h" #include "luts.h" diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 570d4798de..e0fd6d4793 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -19,10 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "report.h" #include "keycode.h" #include "action_layer.h" -#if defined(__AVR__) -# include <util/delay.h> -# include <stdio.h> -#endif #include "action.h" #include "action_macro.h" #include "debug.h" diff --git a/quantum/quantum.h b/quantum/quantum.h index 46fc0eb1e4..55f6dbb7da 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h @@ -15,16 +15,7 @@ */ #pragma once -#if defined(__AVR__) -# include <avr/pgmspace.h> -# include <avr/io.h> -# include <avr/interrupt.h> -#endif -#if defined(PROTOCOL_CHIBIOS) -# include <hal.h> -# include "chibios_config.h" -#endif - +#include "platform.h" #include "wait.h" #include "matrix.h" #include "keymap.h" diff --git a/quantum/rgblight.c b/quantum/rgblight.c index baa10ec416..04bbb1283b 100644 --- a/quantum/rgblight.c +++ b/quantum/rgblight.c @@ -16,17 +16,6 @@ #include <math.h> #include <string.h> #include <stdlib.h> -#ifdef __AVR__ -# include <avr/eeprom.h> -# include <avr/interrupt.h> -#endif -#ifdef EEPROM_ENABLE -# include "eeprom.h" -#endif -#ifdef STM32_EEPROM_ENABLE -# include <hal.h> -# include "eeprom_stm32.h" -#endif #include "wait.h" #include "progmem.h" #include "sync_timer.h" @@ -35,6 +24,9 @@ #include "debug.h" #include "led_tables.h" #include <lib/lib8tion/lib8tion.h> +#ifdef EEPROM_ENABLE +# include "eeprom.h" +#endif #ifdef VELOCIKEY_ENABLE # include "velocikey.h" #endif diff --git a/quantum/rgblight.h b/quantum/rgblight.h index 58250a0888..c05870f498 100644 --- a/quantum/rgblight.h +++ b/quantum/rgblight.h @@ -170,15 +170,12 @@ enum RGBLIGHT_EFFECT_MODE { #include <stdint.h> #include <stdbool.h> +#include "progmem.h" #include "eeconfig.h" #include "ws2812.h" #include "color.h" #include "rgblight_list.h" -#if defined(__AVR__) -# include <avr/pgmspace.h> -#endif - #ifdef RGBLIGHT_LAYERS typedef struct { uint8_t index; // The first LED to light diff --git a/tmk_core/common/arm_atsam/platform.h b/tmk_core/common/arm_atsam/platform.h new file mode 100644 index 0000000000..f296d1d535 --- /dev/null +++ b/tmk_core/common/arm_atsam/platform.h @@ -0,0 +1,18 @@ +/* Copyright 2021 QMK + * + * 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 3 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 + +// here just to please the build diff --git a/tmk_core/common/avr/platform.h b/tmk_core/common/avr/platform.h new file mode 100644 index 0000000000..45d9dcebfa --- /dev/null +++ b/tmk_core/common/avr/platform.h @@ -0,0 +1,20 @@ +/* Copyright 2021 QMK + * + * 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 3 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 + +#include <avr/pgmspace.h> +#include <avr/io.h> +#include <avr/interrupt.h> diff --git a/tmk_core/common/chibios/platform.h b/tmk_core/common/chibios/platform.h new file mode 100644 index 0000000000..8243dcec53 --- /dev/null +++ b/tmk_core/common/chibios/platform.h @@ -0,0 +1,19 @@ +/* Copyright 2021 QMK + * + * 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 3 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 + +#include <hal.h> +#include "chibios_config.h" diff --git a/tmk_core/common/print.h b/tmk_core/common/print.h index 48f91e6342..8c055f549e 100644 --- a/tmk_core/common/print.h +++ b/tmk_core/common/print.h @@ -47,7 +47,7 @@ void print_set_sendchar(sendchar_func_t func); # define uprintln(s) printf(s "\r\n") # define uprintf printf -# endif /* __AVR__ / PROTOCOL_CHIBIOS / PROTOCOL_ARM_ATSAM */ +# endif /* __has_include_next("_print.h") */ #else /* NO_PRINT */ # undef xprintf // Remove print defines diff --git a/tmk_core/common/timer.h b/tmk_core/common/timer.h index 58f637dd93..abddcea857 100644 --- a/tmk_core/common/timer.h +++ b/tmk_core/common/timer.h @@ -18,11 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once #include <stdint.h> -#include <stdbool.h> - -#if defined(__AVR__) -# include "avr/timer_avr.h" -#endif #define TIMER_DIFF(a, b, max) ((max == UINT8_MAX) ? ((uint8_t)((a) - (b))) : ((max == UINT16_MAX) ? ((uint16_t)((a) - (b))) : ((max == UINT32_MAX) ? ((uint32_t)((a) - (b))) : ((a) >= (b) ? (a) - (b) : (max) + 1 - (b) + (a))))) #define TIMER_DIFF_8(a, b) TIMER_DIFF(a, b, UINT8_MAX) |