<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qmk_sweep_skeletyl/drivers/haptic, branch master</title>
<subtitle>my qmk configs</subtitle>
<id>http://archive.git.mgrote.net/qmk_sweep_skeletyl/atom?h=master</id>
<link rel='self' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/'/>
<updated>2025-11-30T19:25:13+00:00</updated>
<entry>
<title>[CI] Format code according to conventions (#25827)</title>
<updated>2025-11-30T19:25:13+00:00</updated>
<author>
<name>QMK Bot</name>
</author>
<published>2025-11-30T19:25:13+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=6ed61c65dd66cdbb450a4920a69bae193ec73f15'/>
<id>urn:sha1:6ed61c65dd66cdbb450a4920a69bae193ec73f15</id>
<content type='text'>
Format code according to conventions</content>
</entry>
<entry>
<title>[Core] `usb_device_state`: consolidate usb state handling across implementations (#24258)</title>
<updated>2024-10-18T07:57:08+00:00</updated>
<author>
<name>Stefan Kerkmann</name>
</author>
<published>2024-10-18T07:57:08+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=3f9d4644126483bbd937f2be75a8878a1c986630'/>
<id>urn:sha1:3f9d4644126483bbd937f2be75a8878a1c986630</id>
<content type='text'>
* usb_device_state: add idle_rate, led and protocol

Previously all usb drivers and platform implementations (expect for our
oddball atsam) tracked the same two global variables:

- keyboard_protocol: to indicate if we are in report or boot protocol
- keyboard_idle: for the idle_rate of the keyboard endpoint

And a local variable that was exposed trough some indirection:

- keyboard_led_state: for the currently set indicator leds (caps lock etc.)

These have all been moved into the usb_device_state struct wich is
accessible by getters and setters.

This reduces code duplication and centralizes the state management
across platforms and drivers.

Signed-off-by: Stefan Kerkmann &lt;karlk90@pm.me&gt;

* usb_device_state: reset protocol on reset

The usb hid specification section 7.2.6 states:

When initialized, all devices default to report protocol. However the
host should not make any assumptions about the device’s state and should
set the desired protocol whenever initializing a device.

Thus on reset we should always do exactly that.

Signed-off-by: Stefan Kerkmann &lt;karlk90@pm.me&gt;

* keyboards: fix oversize warnings

Signed-off-by: Stefan Kerkmann &lt;karlk90@pm.me&gt;

---------

Signed-off-by: Stefan Kerkmann &lt;karlk90@pm.me&gt;</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>
</author>
<published>2024-02-18T06:08:27+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=2d1aed78a67b3d2b002cc739ef087963b05b76b8'/>
<id>urn:sha1:2d1aed78a67b3d2b002cc739ef087963b05b76b8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>i2c: rename read/write register functions (#22905)</title>
<updated>2024-01-16T02:26:40+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2024-01-16T02:26:40+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=a522b1f15627c69f94cbc814968be5a63519b8e3'/>
<id>urn:sha1:a522b1f15627c69f94cbc814968be5a63519b8e3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add full solenoid support on split keyboards (#21583)</title>
<updated>2023-09-25T02:23:31+00:00</updated>
<author>
<name>jacob-w-gable</name>
</author>
<published>2023-09-25T02:23:31+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=99290b4c7e891e69ca161d79c74a0e32014645bb'/>
<id>urn:sha1:99290b4c7e891e69ca161d79c74a0e32014645bb</id>
<content type='text'>
Co-authored-by: Jacob Gable &lt;jacob.gable@statheros.tech&gt;
</content>
</entry>
<entry>
<title>haptic: further naming cleanups (#21682)</title>
<updated>2023-08-04T00:16:16+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2023-08-04T00:16:16+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=0b802defd4ad81f38bdd3ae0192e2a834f7d99be'/>
<id>urn:sha1:0b802defd4ad81f38bdd3ae0192e2a834f7d99be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>haptic: naming cleanups (#21551)</title>
<updated>2023-07-20T23:17:39+00:00</updated>
<author>
<name>Ryan</name>
</author>
<published>2023-07-20T23:17:39+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=b090354143612d2c0f5c8629510542de5bd4e29e'/>
<id>urn:sha1:b090354143612d2c0f5c8629510542de5bd4e29e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix typo in solenoid.h (#18635)</title>
<updated>2022-10-07T21:16:31+00:00</updated>
<author>
<name>Giuseppe Rota</name>
</author>
<published>2022-10-07T21:16:31+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=9e1ff0e6b95820d6cbe21f9bf3cc2a4f8633114a'/>
<id>urn:sha1:9e1ff0e6b95820d6cbe21f9bf3cc2a4f8633114a</id>
<content type='text'>
</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>
</author>
<published>2022-08-30T08:20:04+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=9632360caa5e6511b0ec13cb4c55eb64408232b5'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>[Feature] Add support for multiple switchs/solenoids to Haptic Feedback engine (#15657)</title>
<updated>2022-05-15T11:24:35+00:00</updated>
<author>
<name>Drashna Jaelre</name>
</author>
<published>2022-05-15T11:24:35+00:00</published>
<link rel='alternate' type='text/html' href='http://archive.git.mgrote.net/qmk_sweep_skeletyl/commit/?id=f090881aebbd7af74294b53fabdf55a35004f190'/>
<id>urn:sha1:f090881aebbd7af74294b53fabdf55a35004f190</id>
<content type='text'>
</content>
</entry>
</feed>
