Commit Graph

20 Commits

Author SHA1 Message Date
Jeff Epler 9632360caa
Use a macro to compute the size of arrays at compile time (#18044)
* Add ARRAY_SIZE and CEILING utility macros

* Apply a coccinelle patch to use ARRAY_SIZE

* fix up some straggling items

* Fix 'make test:secure'

* Enhance ARRAY_SIZE macro to reject acting on pointers

The previous definition would not produce a diagnostic for
```
int *p;
size_t num_elem = ARRAY_SIZE(p)
```
but the new one will.

* explicitly get definition of ARRAY_SIZE

* Convert to ARRAY_SIZE when const is involved

The following spatch finds additional instances where the array is
const and the division is by the size of the type, not the size of
the first element:
```
@ rule5a using "empty.iso" @
type T;
const T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)

@ rule6a using "empty.iso" @
type T;
const T[] E;
@@

- sizeof(E)/sizeof(T)
+ ARRAY_SIZE(E)
```

* New instances of ARRAY_SIZE added since initial spatch run

* Use `ARRAY_SIZE` in docs (found by grep)

* Manually use ARRAY_SIZE

hs_set is expected to be the same size as uint16_t, though it's made
of two 8-bit integers

* Just like char, sizeof(uint8_t) is guaranteed to be 1

This is at least true on any plausible system where qmk is actually used.

Per my understanding it's universally true, assuming that uint8_t exists:
https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1

* Run qmk-format on core C files touched in this branch

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-08-30 10:20:04 +02:00
Drashna Jael're 8f6b019dcc
Merge remote-tracking branch 'origin/master' into develop 2022-08-20 10:22:48 -07:00
Joel Challis d2accb48e7
RESET -> QK_BOOT keyboard readme (#18110) 2022-08-20 11:34:17 +01:00
Stefan Kerkmann f27b617f36
[Core] Process all changed keys in one scan loop, deprecate `QMK_KEYS_PER_SCAN` (#15292) 2022-08-06 20:51:13 +10:00
Ryan 920f983767
Move keyboard USB IDs and strings to data driven: H (#17821) 2022-07-28 14:12:40 +01:00
HorrorTroll c2045558d9
[Keyboard] Add Lemon40 keyboard (#17357) 2022-06-12 11:30:08 -07:00
Ryan Skidmore 9a587275cf
keyboards: fix malformed info.json files (#17292) 2022-06-02 17:50:08 +01:00
Joel Challis 85289e34ae
Various fixes for g_led_config lint warnings (#17104) 2022-05-16 09:40:56 +10:00
Joel Challis b7771ec25b
RESET -> QK_BOOT default keymaps (#17037) 2022-05-15 20:26:27 +01:00
QMK Bot ec7801e2cb Merge remote-tracking branch 'origin/master' into develop 2022-05-12 05:52:09 +00:00
HorrorTroll 8a4ef2b3c4
[Keyboard] Move M63 RGB into maker folder (#17061) 2022-05-11 22:51:37 -07:00
QMK Bot a284b99876 Merge remote-tracking branch 'origin/master' into develop 2022-05-12 04:48:35 +00:00
HorrorTroll ffa1b37634
[Keyboard] Add Black E6.5 keyboard (#16807) 2022-05-11 21:47:41 -07:00
Nick Brassel 77180a6649
Fixup builds. (#16596) 2022-03-09 17:09:38 +00:00
Joel Challis 83a32b2574
Remove 1k USB_POLLING_INTERVAL_MS config from keyboards and default-ish keymaps (#16448)
* Remove 1k USB_POLLING_INTERVAL_MS config from keyboard level

* Remove 1k USB_POLLING_INTERVAL_MS config from default|via keymaps
2022-02-26 03:20:57 +00:00
HorrorTroll ee67cdfeec
[Keyboard] Add Paws 60 keyboard (#16204) 2022-02-05 09:01:58 -08:00
HorrorTroll 812836e22f
[Keyboard] Fixed RGB number for Devil68 Pro (#16003) 2022-01-23 12:37:17 -08:00
HorrorTroll 25cffa2617
[Keyboard] Add M63 RGB keyboard (#15887) 2022-01-21 22:16:16 -08:00
HorrorTroll 814821727e
[Keyboard] Move Handwired K552 into my folder name (#15973) 2022-01-21 21:31:27 -08:00
HorrorTroll b2ea12aaa5
[Keyboard] Add Devil68 Pro (#15820) 2022-01-14 23:26:26 -08:00