<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qmk_firmware/quantum/backlight, branch master</title>
<subtitle>QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/'/>
<entry>
<title>[CI] Format code according to conventions (#25827)</title>
<updated>2025-11-30T19:25:13+00:00</updated>
<author>
<name>QMK Bot</name>
<email>hello@qmk.fm</email>
</author>
<published>2025-11-30T19:25:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=6ed61c65dd66cdbb450a4920a69bae193ec73f15'/>
<id>6ed61c65dd66cdbb450a4920a69bae193ec73f15</id>
<content type='text'>
Format code according to conventions</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Format code according to conventions</pre>
</div>
</content>
</entry>
<entry>
<title>Add `compiler_support.h` (#25274)</title>
<updated>2025-05-22T13:31:15+00:00</updated>
<author>
<name>Pablo Martínez</name>
<email>58857054+elpekenin@users.noreply.github.com</email>
</author>
<published>2025-05-22T13:31:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=955809bd5aee8b1444595b450eeeef1f42799995'/>
<id>955809bd5aee8b1444595b450eeeef1f42799995</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Non-volatile memory data repository pattern (#24356)</title>
<updated>2025-03-21T12:38:34+00:00</updated>
<author>
<name>Nick Brassel</name>
<email>nick@tzarc.org</email>
</author>
<published>2025-03-21T12:38:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=2b00b846dce1d1267dfdb2a3c2972a367cc0dd44'/>
<id>2b00b846dce1d1267dfdb2a3c2972a367cc0dd44</id>
<content type='text'>
* First batch of eeconfig conversions.

* Offset and length for datablocks.

* `via`, `dynamic_keymap`.

* Fix filename.

* Commentary.

* wilba leds

* satisfaction75

* satisfaction75

* more keyboard whack-a-mole

* satisfaction75

* omnikeyish

* more whack-a-mole

* `generic_features.mk` to automatically pick up nvm repositories

* thievery

* deferred variable resolve

* whitespace

* convert api to structs/unions

* convert api to structs/unions

* convert api to structs/unions

* fixups

* code-side docs

* code size fix

* rollback

* nvm_xxxxx_erase

* Updated location of eeconfig magic numbers so non-EEPROM nvm drivers can use them too.

* Fixup build.

* Fixup compilation error with encoders.

* Build fixes.

* Add `via_ci` keymap to onekey to exercise VIA bindings (and thus dynamic keymap et.al.), fixup compilation errors based on preprocessor+sizeof.

* Build failure rectification.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* First batch of eeconfig conversions.

* Offset and length for datablocks.

* `via`, `dynamic_keymap`.

* Fix filename.

* Commentary.

* wilba leds

* satisfaction75

* satisfaction75

* more keyboard whack-a-mole

* satisfaction75

* omnikeyish

* more whack-a-mole

* `generic_features.mk` to automatically pick up nvm repositories

* thievery

* deferred variable resolve

* whitespace

* convert api to structs/unions

* convert api to structs/unions

* convert api to structs/unions

* fixups

* code-side docs

* code size fix

* rollback

* nvm_xxxxx_erase

* Updated location of eeconfig magic numbers so non-EEPROM nvm drivers can use them too.

* Fixup build.

* Fixup compilation error with encoders.

* Build fixes.

* Add `via_ci` keymap to onekey to exercise VIA bindings (and thus dynamic keymap et.al.), fixup compilation errors based on preprocessor+sizeof.

* Build failure rectification.</pre>
</div>
</content>
</entry>
<entry>
<title>Update GPIO macro usages in core (#23093)</title>
<updated>2024-02-18T06:08:27+00:00</updated>
<author>
<name>Ryan</name>
<email>fauxpark@gmail.com</email>
</author>
<published>2024-02-18T06:08:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=2d1aed78a67b3d2b002cc739ef087963b05b76b8'/>
<id>2d1aed78a67b3d2b002cc739ef087963b05b76b8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove redundant backlight eeconfig init (#22675)</title>
<updated>2023-12-16T21:15:55+00:00</updated>
<author>
<name>Joel Challis</name>
<email>git@zvecr.com</email>
</author>
<published>2023-12-16T21:15:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=11be3e7c649185f9339158c47f161d48d32f0908'/>
<id>11be3e7c649185f9339158c47f161d48d32f0908</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add _DEFAULT_ON lighting configuration options (#21865)</title>
<updated>2023-09-29T17:31:21+00:00</updated>
<author>
<name>Joel Challis</name>
<email>git@zvecr.com</email>
</author>
<published>2023-09-29T17:31:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=6910ed2de5c8935712b646e1c2143c4e7e5f9bea'/>
<id>6910ed2de5c8935712b646e1c2143c4e7e5f9bea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Relocate backlight drivers (#21444)</title>
<updated>2023-07-08T13:13:10+00:00</updated>
<author>
<name>Ryan</name>
<email>fauxpark@gmail.com</email>
</author>
<published>2023-07-08T13:13:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=cb2331713c84bb2b7f140f67b41037721f4958a1'/>
<id>cb2331713c84bb2b7f140f67b41037721f4958a1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug] Realign and size check EECONFIG structures (#20541)</title>
<updated>2023-05-08T17:56:03+00:00</updated>
<author>
<name>Drashna Jaelre</name>
<email>drashna@drashna.net</email>
</author>
<published>2023-05-08T17:56:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=5c4b53a1437adde49871752d8015bfc042b97c20'/>
<id>5c4b53a1437adde49871752d8015bfc042b97c20</id>
<content type='text'>
Co-authored-by: Nick Brassel &lt;nick@tzarc.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Nick Brassel &lt;nick@tzarc.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[Core] PWM Backlight for RP2040 (#17706)</title>
<updated>2022-10-04T21:10:24+00:00</updated>
<author>
<name>Stefan Kerkmann</name>
<email>karlk90@pm.me</email>
</author>
<published>2022-10-04T21:10:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=996a9006d3f101dc5c48b58339e2e7323040fd59'/>
<id>996a9006d3f101dc5c48b58339e2e7323040fd59</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use a macro to compute the size of arrays at compile time (#18044)</title>
<updated>2022-08-30T08:20:04+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2022-08-30T08:20:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=9632360caa5e6511b0ec13cb4c55eb64408232b5'/>
<id>9632360caa5e6511b0ec13cb4c55eb64408232b5</id>
<content type='text'>
* 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 &lt;karlk90@pm.me&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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 &lt;karlk90@pm.me&gt;</pre>
</div>
</content>
</entry>
</feed>
