aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c (renamed from keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c)16
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/readme.md (renamed from keyboards/clueboard/66_hotswap/keymaps/66_ansi/readme.md)0
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/keymaps/default/keymap.c (renamed from keyboards/clueboard/66_hotswap/keymaps/default/keymap.c)16
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/keymaps/default/readme.md (renamed from keyboards/clueboard/66_hotswap/keymaps/default/readme.md)0
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json (renamed from keyboards/clueboard/66_hotswap/keymaps/json/keymap.json)0
-rw-r--r--keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c52
-rw-r--r--keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/readme.md11
-rw-r--r--keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c139
-rw-r--r--keyboards/clueboard/66_hotswap/prototype/keymaps/default/readme.md8
-rw-r--r--quantum/audio/luts.h10
-rw-r--r--quantum/audio/voices.h3
-rw-r--r--quantum/keymap_common.c4
-rw-r--r--quantum/quantum.h11
-rw-r--r--quantum/rgblight/rgblight.c14
-rw-r--r--quantum/rgblight/rgblight.h5
-rw-r--r--tmk_core/common/arm_atsam/platform.h18
-rw-r--r--tmk_core/common/avr/platform.h20
-rw-r--r--tmk_core/common/chibios/platform.h19
-rw-r--r--tmk_core/common/print.h2
-rw-r--r--tmk_core/common/timer.h1
20 files changed, 307 insertions, 42 deletions
diff --git a/keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c b/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c
index 224362fe5..9c4bd4079 100644
--- a/keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c
+++ b/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/keymap.c
@@ -1,3 +1,19 @@
1/* Copyright 2017 Zach White <skullydazed@gmail.com>
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 2 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
1#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
2 18
3// Each layer gets a name for readability, which is then used in the keymap matrix below. 19// Each layer gets a name for readability, which is then used in the keymap matrix below.
diff --git a/keyboards/clueboard/66_hotswap/keymaps/66_ansi/readme.md b/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/readme.md
index 25b5d7eb1..25b5d7eb1 100644
--- a/keyboards/clueboard/66_hotswap/keymaps/66_ansi/readme.md
+++ b/keyboards/clueboard/66_hotswap/gen1/keymaps/66_ansi/readme.md
diff --git a/keyboards/clueboard/66_hotswap/keymaps/default/keymap.c b/keyboards/clueboard/66_hotswap/gen1/keymaps/default/keymap.c
index 6451cf037..3d640d89b 100644
--- a/keyboards/clueboard/66_hotswap/keymaps/default/keymap.c
+++ b/keyboards/clueboard/66_hotswap/gen1/keymaps/default/keymap.c
@@ -1,3 +1,19 @@
1/* Copyright 2017 Zach White <skullydazed@gmail.com>
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 2 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
1#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
2 18
3// Each layer gets a name for readability, which is then used in the keymap matrix below. 19// Each layer gets a name for readability, which is then used in the keymap matrix below.
diff --git a/keyboards/clueboard/66_hotswap/keymaps/default/readme.md b/keyboards/clueboard/66_hotswap/gen1/keymaps/default/readme.md
index 66e523088..66e523088 100644
--- a/keyboards/clueboard/66_hotswap/keymaps/default/readme.md
+++ b/keyboards/clueboard/66_hotswap/gen1/keymaps/default/readme.md
diff --git a/keyboards/clueboard/66_hotswap/keymaps/json/keymap.json b/keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json
index 20aa9f0f6..20aa9f0f6 100644
--- a/keyboards/clueboard/66_hotswap/keymaps/json/keymap.json
+++ b/keyboards/clueboard/66_hotswap/gen1/keymaps/json/keymap.json
diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c
new file mode 100644
index 000000000..9c4bd4079
--- /dev/null
+++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c
@@ -0,0 +1,52 @@
1/* Copyright 2017 Zach White <skullydazed@gmail.com>
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 2 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
17#include QMK_KEYBOARD_H
18
19// Each layer gets a name for readability, which is then used in the keymap matrix below.
20// The underscores don't mean anything - you can have a layer called STUFF or any other name.
21#define _BL 0
22#define _FL 1
23#define _CL 2
24
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 /* Keymap _BL: Base Layer (Default Layer)
27 */
28[_BL] = LAYOUT_66_ansi(
29 KC_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_PGUP, \
30 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, KC_PGDN, \
31 KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, \
32 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
33 KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
34
35 /* Keymap _FL: Function Layer
36 */
37[_FL] = LAYOUT_66_ansi(
38 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_VOLU, \
39 _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \
40 _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
41 _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP, \
42 _______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
43
44 /* Keymap _CL: Control layer
45 */
46[_CL] = LAYOUT_66_ansi(
47 BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI, \
48 _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, \
49 _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
50 _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI, \
51 _______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
52};
diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/readme.md b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/readme.md
new file mode 100644
index 000000000..25b5d7eb1
--- /dev/null
+++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/readme.md
@@ -0,0 +1,11 @@
1![Clueboard Layout Image](http://i.imgur.com/7Capi8W.png)
2
3# Basic Clueboard 66% Hotswap Layout
4
5This is the default layout that comes flashed on every Clueboard. For the most
6part it's a straightforward and easy to follow layout. The only unusual key is
7the key in the upper left, which sends Escape normally, but Grave when any of
8the Ctrl, Alt, or GUI modifiers are held down.
9
10This uses `LAYOUT_66_ansi`, which is compatable with the `66_ansi` community
11layout.
diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c
new file mode 100644
index 000000000..3b8ff6600
--- /dev/null
+++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c
@@ -0,0 +1,139 @@
1/* Copyright 2017 Zach White <skullydazed@gmail.com>
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 2 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
17#include QMK_KEYBOARD_H
18
19// Each layer gets a name for readability, which is then used in the keymap matrix below.
20// The underscores don't mean anything - you can have a layer called STUFF or any other name.
21#define _BL 0
22#define _FL 1
23#define _CL 2
24
25enum custom_keycodes {
26 S_BSKTC = SAFE_RANGE,
27 S_ODEJY,
28 S_RCKBY,
29 S_DOEDR,
30 S_SCALE,
31 S_ONEUP,
32 S_COIN,
33 S_SONIC,
34 S_ZELDA
35};
36
37#ifdef AUDIO_ENABLE
38 float song_basketcase[][2] = SONG(BASKET_CASE);
39 float song_ode_to_joy[][2] = SONG(ODE_TO_JOY);
40 float song_rock_a_bye_baby[][2] = SONG(ROCK_A_BYE_BABY);
41 float song_doe_a_deer[][2] = SONG(DOE_A_DEER);
42 float song_scale[][2] = SONG(MUSIC_SCALE_SOUND);
43 float song_coin[][2] = SONG(COIN_SOUND);
44 float song_one_up[][2] = SONG(ONE_UP_SOUND);
45 float song_sonic_ring[][2] = SONG(SONIC_RING);
46 float song_zelda_puzzle[][2] = SONG(ZELDA_PUZZLE);
47#endif
48
49const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
50 /* Keymap _BL: Base Layer (Default Layer)
51 */
52[_BL] = LAYOUT(
53 KC_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_PGUP, \
54 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, KC_PGDN, \
55 KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, \
56 KC_LSFT, KC_NUHS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_NUBS,KC_RSFT, KC_UP, \
57 KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_SPC, KC_RGUI,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
58
59 /* Keymap _FL: Function Layer
60 */
61[_FL] = LAYOUT(
62 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_VOLU, \
63 _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \
64 _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
65 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, KC_PGUP, \
66 _______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
67
68 /* Keymap _CL: Control layer
69 */
70[_CL] = LAYOUT(
71 BL_STEP,S_ONEUP,S_SCALE,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, BL_TOGG, BL_INC, \
72 _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DEC, \
73 _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
74 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, \
75 _______,_______,_______, BL_BRTG,BL_BRTG, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
76};
77
78
79bool process_record_user(uint16_t keycode, keyrecord_t *record) {
80 switch (keycode) {
81 #ifdef AUDIO_ENABLE
82 case S_BSKTC:
83 if (record->event.pressed) {
84 stop_all_notes();
85 PLAY_SONG(song_basketcase);
86 }
87 return false;
88 case S_ODEJY:
89 if (record->event.pressed) {
90 stop_all_notes();
91 PLAY_SONG(song_ode_to_joy);
92 }
93 return false;
94 case S_RCKBY:
95 if (record->event.pressed) {
96 stop_all_notes();
97 PLAY_SONG(song_rock_a_bye_baby);
98 }
99 return false;
100 case S_DOEDR:
101 if (record->event.pressed) {
102 stop_all_notes();
103 PLAY_SONG(song_doe_a_deer);
104 }
105 return false;
106 case S_SCALE:
107 if (record->event.pressed) {
108 stop_all_notes();
109 PLAY_SONG(song_scale);
110 }
111 return false;
112 case S_ONEUP:
113 if (record->event.pressed) {
114 stop_all_notes();
115 PLAY_SONG(song_one_up);
116 }
117 return false;
118 case S_COIN:
119 if (record->event.pressed) {
120 stop_all_notes();
121 PLAY_SONG(song_coin);
122 }
123 return false;
124 case S_SONIC:
125 if (record->event.pressed) {
126 stop_all_notes();
127 PLAY_SONG(song_sonic_ring);
128 }
129 return false;
130 case S_ZELDA:
131 if (record->event.pressed) {
132 stop_all_notes();
133 PLAY_SONG(song_zelda_puzzle);
134 }
135 return false;
136 #endif
137 }
138 return true;
139}
diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/default/readme.md b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/readme.md
new file mode 100644
index 000000000..66e523088
--- /dev/null
+++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/readme.md
@@ -0,0 +1,8 @@
1![Clueboard Layout Image](http://i.imgur.com/7Capi8W.png)
2
3# Default Clueboard 66% Hotswap Layout
4
5This is the default layout that comes flashed on every Clueboard. For the most
6part it's a straightforward and easy to follow layout. The only unusual key is
7the key in the upper left, which sends Escape normally, but Grave when any of
8the Ctrl, Alt, or GUI modifiers are held down.
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 b8c120ea2..756a5603c 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/rgblight.c b/quantum/rgblight/rgblight.c
index 373dc08d3..148dae78f 100644
--- a/quantum/rgblight/rgblight.c
+++ b/quantum/rgblight/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/rgblight.h b/quantum/rgblight/rgblight.h
index 49f82bdfc..5b90b8f49 100644
--- a/quantum/rgblight/rgblight.h
+++ b/quantum/rgblight/rgblight.h
@@ -169,15 +169,12 @@ enum RGBLIGHT_EFFECT_MODE {
169 169
170#include <stdint.h> 170#include <stdint.h>
171#include <stdbool.h> 171#include <stdbool.h>
172#include "progmem.h"
172#include "eeconfig.h" 173#include "eeconfig.h"
173#include "ws2812.h" 174#include "ws2812.h"
174#include "color.h" 175#include "color.h"
175#include "rgblight_list.h" 176#include "rgblight_list.h"
176 177
177#if defined(__AVR__)
178# include <avr/pgmspace.h>
179#endif
180
181#ifdef RGBLIGHT_LAYERS 178#ifdef RGBLIGHT_LAYERS
182typedef struct { 179typedef struct {
183 uint8_t index; // The first LED to light 180 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 928811a2b..02e39e79e 100644
--- a/tmk_core/common/timer.h
+++ b/tmk_core/common/timer.h
@@ -23,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
23#endif 23#endif
24 24
25#include <stdint.h> 25#include <stdint.h>
26#include <stdbool.h>
27 26
28#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))))) 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)))))
29#define TIMER_DIFF_8(a, b) TIMER_DIFF(a, b, UINT8_MAX) 28#define TIMER_DIFF_8(a, b) TIMER_DIFF(a, b, UINT8_MAX)