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) | |
download | qmk_firmware-b5bcd5b0a18079df1252a718588255c62d24a054.tar.gz qmk_firmware-b5bcd5b0a18079df1252a718588255c62d24a054.zip |
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 74980b292..8bb045449 100644 --- a/quantum/audio/luts.h +++ b/quantum/audio/luts.h | |||
@@ -16,14 +16,8 @@ | |||
16 | 16 | ||
17 | #pragma once | 17 | #pragma once |
18 | 18 | ||
19 | #if defined(__AVR__) | 19 | #include <float.h> |
20 | # include <avr/io.h> | 20 | #include <stdint.h> |
21 | # include <avr/interrupt.h> | ||
22 | # include <avr/pgmspace.h> | ||
23 | #else | ||
24 | # include <ch.h> | ||
25 | # include <hal.h> | ||
26 | #endif | ||
27 | 21 | ||
28 | #define VIBRATO_LUT_LENGTH 20 | 22 | #define VIBRATO_LUT_LENGTH 20 |
29 | 23 | ||
diff --git a/quantum/audio/voices.h b/quantum/audio/voices.h index 578350d33..1f402e7e1 100644 --- a/quantum/audio/voices.h +++ b/quantum/audio/voices.h | |||
@@ -18,9 +18,6 @@ | |||
18 | 18 | ||
19 | #include <stdint.h> | 19 | #include <stdint.h> |
20 | #include <stdbool.h> | 20 | #include <stdbool.h> |
21 | #if defined(__AVR__) | ||
22 | # include <avr/io.h> | ||
23 | #endif | ||
24 | #include "wait.h" | 21 | #include "wait.h" |
25 | #include "luts.h" | 22 | #include "luts.h" |
26 | 23 | ||
diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 570d4798d..e0fd6d479 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/>. | |||
19 | #include "report.h" | 19 | #include "report.h" |
20 | #include "keycode.h" | 20 | #include "keycode.h" |
21 | #include "action_layer.h" | 21 | #include "action_layer.h" |
22 | #if defined(__AVR__) | ||
23 | # include <util/delay.h> | ||
24 | # include <stdio.h> | ||
25 | #endif | ||
26 | #include "action.h" | 22 | #include "action.h" |
27 | #include "action_macro.h" | 23 | #include "action_macro.h" |
28 | #include "debug.h" | 24 | #include "debug.h" |
diff --git a/quantum/quantum.h b/quantum/quantum.h index 46fc0eb1e..55f6dbb7d 100644 --- a/quantum/quantum.h +++ b/quantum/quantum.h | |||
@@ -15,16 +15,7 @@ | |||
15 | */ | 15 | */ |
16 | #pragma once | 16 | #pragma once |
17 | 17 | ||
18 | #if defined(__AVR__) | 18 | #include "platform.h" |
19 | # include <avr/pgmspace.h> | ||
20 | # include <avr/io.h> | ||
21 | # include <avr/interrupt.h> | ||
22 | #endif | ||
23 | #if defined(PROTOCOL_CHIBIOS) | ||
24 | # include <hal.h> | ||
25 | # include "chibios_config.h" | ||
26 | #endif | ||
27 | |||
28 | #include "wait.h" | 19 | #include "wait.h" |
29 | #include "matrix.h" | 20 | #include "matrix.h" |
30 | #include "keymap.h" | 21 | #include "keymap.h" |
diff --git a/quantum/rgblight.c b/quantum/rgblight.c index baa10ec41..04bbb1283 100644 --- a/quantum/rgblight.c +++ b/quantum/rgblight.c | |||
@@ -16,17 +16,6 @@ | |||
16 | #include <math.h> | 16 | #include <math.h> |
17 | #include <string.h> | 17 | #include <string.h> |
18 | #include <stdlib.h> | 18 | #include <stdlib.h> |
19 | #ifdef __AVR__ | ||
20 | # include <avr/eeprom.h> | ||
21 | # include <avr/interrupt.h> | ||
22 | #endif | ||
23 | #ifdef EEPROM_ENABLE | ||
24 | # include "eeprom.h" | ||
25 | #endif | ||
26 | #ifdef STM32_EEPROM_ENABLE | ||
27 | # include <hal.h> | ||
28 | # include "eeprom_stm32.h" | ||
29 | #endif | ||
30 | #include "wait.h" | 19 | #include "wait.h" |
31 | #include "progmem.h" | 20 | #include "progmem.h" |
32 | #include "sync_timer.h" | 21 | #include "sync_timer.h" |
@@ -35,6 +24,9 @@ | |||
35 | #include "debug.h" | 24 | #include "debug.h" |
36 | #include "led_tables.h" | 25 | #include "led_tables.h" |
37 | #include <lib/lib8tion/lib8tion.h> | 26 | #include <lib/lib8tion/lib8tion.h> |
27 | #ifdef EEPROM_ENABLE | ||
28 | # include "eeprom.h" | ||
29 | #endif | ||
38 | #ifdef VELOCIKEY_ENABLE | 30 | #ifdef VELOCIKEY_ENABLE |
39 | # include "velocikey.h" | 31 | # include "velocikey.h" |
40 | #endif | 32 | #endif |
diff --git a/quantum/rgblight.h b/quantum/rgblight.h index 58250a088..c05870f49 100644 --- a/quantum/rgblight.h +++ b/quantum/rgblight.h | |||
@@ -170,15 +170,12 @@ enum RGBLIGHT_EFFECT_MODE { | |||
170 | 170 | ||
171 | #include <stdint.h> | 171 | #include <stdint.h> |
172 | #include <stdbool.h> | 172 | #include <stdbool.h> |
173 | #include "progmem.h" | ||
173 | #include "eeconfig.h" | 174 | #include "eeconfig.h" |
174 | #include "ws2812.h" | 175 | #include "ws2812.h" |
175 | #include "color.h" | 176 | #include "color.h" |
176 | #include "rgblight_list.h" | 177 | #include "rgblight_list.h" |
177 | 178 | ||
178 | #if defined(__AVR__) | ||
179 | # include <avr/pgmspace.h> | ||
180 | #endif | ||
181 | |||
182 | #ifdef RGBLIGHT_LAYERS | 179 | #ifdef RGBLIGHT_LAYERS |
183 | typedef struct { | 180 | typedef struct { |
184 | uint8_t index; // The first LED to light | 181 | 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 000000000..f296d1d53 --- /dev/null +++ b/tmk_core/common/arm_atsam/platform.h | |||
@@ -0,0 +1,18 @@ | |||
1 | /* Copyright 2021 QMK | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 3 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | #pragma once | ||
17 | |||
18 | // 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 000000000..45d9dcebf --- /dev/null +++ b/tmk_core/common/avr/platform.h | |||
@@ -0,0 +1,20 @@ | |||
1 | /* Copyright 2021 QMK | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 3 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | #pragma once | ||
17 | |||
18 | #include <avr/pgmspace.h> | ||
19 | #include <avr/io.h> | ||
20 | #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 000000000..8243dcec5 --- /dev/null +++ b/tmk_core/common/chibios/platform.h | |||
@@ -0,0 +1,19 @@ | |||
1 | /* Copyright 2021 QMK | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 3 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | #pragma once | ||
17 | |||
18 | #include <hal.h> | ||
19 | #include "chibios_config.h" | ||
diff --git a/tmk_core/common/print.h b/tmk_core/common/print.h index 48f91e634..8c055f549 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); | |||
47 | # define uprintln(s) printf(s "\r\n") | 47 | # define uprintln(s) printf(s "\r\n") |
48 | # define uprintf printf | 48 | # define uprintf printf |
49 | 49 | ||
50 | # endif /* __AVR__ / PROTOCOL_CHIBIOS / PROTOCOL_ARM_ATSAM */ | 50 | # endif /* __has_include_next("_print.h") */ |
51 | #else /* NO_PRINT */ | 51 | #else /* NO_PRINT */ |
52 | # undef xprintf | 52 | # undef xprintf |
53 | // Remove print defines | 53 | // Remove print defines |
diff --git a/tmk_core/common/timer.h b/tmk_core/common/timer.h index 58f637dd9..abddcea85 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/>. | |||
18 | #pragma once | 18 | #pragma once |
19 | 19 | ||
20 | #include <stdint.h> | 20 | #include <stdint.h> |
21 | #include <stdbool.h> | ||
22 | |||
23 | #if defined(__AVR__) | ||
24 | # include "avr/timer_avr.h" | ||
25 | #endif | ||
26 | 21 | ||
27 | #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))))) | 22 | #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))))) |
28 | #define TIMER_DIFF_8(a, b) TIMER_DIFF(a, b, UINT8_MAX) | 23 | #define TIMER_DIFF_8(a, b) TIMER_DIFF(a, b, UINT8_MAX) |