Commit Graph

1295 Commits

Author SHA1 Message Date
zvecr
52adf283ed Merge remote-tracking branch 'origin/develop' into xap 2024-02-29 02:07:27 +00:00
Stefan Kerkmann
0e02b0c41e
[Core] Refactor ChibiOS USB endpoints to be fully async (#21656) 2024-02-28 22:00:27 +11:00
QMK Bot
28115878db Merge remote-tracking branch 'origin/develop' into xap 2024-02-18 06:08:56 +00:00
Ryan
2d1aed78a6
Update GPIO macro usages in core (#23093) 2024-02-18 17:08:27 +11:00
QMK Bot
2e4372d8c8 Merge remote-tracking branch 'origin/develop' into xap 2024-02-16 14:19:32 +00:00
Andre Brait
80f3da36e5
[Core] Add OS detection callbacks (#21777) 2024-02-17 01:19:02 +11:00
Drashna Jael're
5a9481b831
Merge remote-tracking branch 'origin/develop' into xap 2024-02-03 01:06:39 -08:00
Joel Challis
79020519b4
Align VUSB suspend protocol logic (#22688) 2024-02-01 15:33:57 +00:00
QMK Bot
08cbdfb93d Merge remote-tracking branch 'origin/develop' into xap 2024-01-22 13:19:34 +00:00
QMK Bot
61ed48edc3 Merge remote-tracking branch 'origin/master' into develop 2024-01-22 13:18:51 +00:00
Ryan
3495cbc638
Fix missing joystick.h include (#22946) 2024-01-22 13:18:20 +00:00
zvecr
2ae5b27fad Merge remote-tracking branch 'origin/develop' into xap 2024-01-09 14:25:05 +00:00
Joel Challis
b6b3efc14b
Remove console out endpoint (#22304) 2024-01-09 14:01:34 +00:00
zvecr
993e9c29e7 Merge remote-tracking branch 'origin/develop' into xap 2023-11-26 20:56:29 +00:00
Ryan
4601f339e4
V-USB: implement NKRO (#22398) 2023-11-26 22:50:53 +11:00
Ryan
cbf538aaaa
V-USB: Add generic send_report() function (#22323) 2023-11-26 22:50:21 +11:00
QMK Bot
97acb483dc Merge remote-tracking branch 'origin/develop' into xap 2023-11-12 07:25:53 +00:00
Ryan
87d69aebbb
Slight refactor of joystick axis type into typedef (#22445) 2023-11-12 18:25:18 +11:00
zvecr
60cf8ba553 Merge remote-tracking branch 'origin/develop' into xap 2023-11-01 01:19:30 +00:00
Ryan
6979794bac
Add "AC Next Keyboard Layout Select" consumer usage entry (macOS Globe key) (#22256) 2023-10-31 02:19:53 +00:00
Stefan Kerkmann
5856d5e13b
[Maintenance] USB HID control packet as struct (#21688)
* ChibiOS: USB HID control request as dedicated struct

Instead of accessing the raw USB setup packet and documenting the values
as the corresponding USB HID control request fields we introduce a
struct that allows direct access to the fields. This is safer and self
documenting.

* Rename usb_request.h to usb_types.h

In the future all shared USB data types can live in this file.
2023-10-27 18:44:58 +02:00
Ryan
db4e3bb232
V-USB: Fix GET_IDLE/SET_IDLE (#22332)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2023-10-27 12:21:13 +11:00
QMK Bot
b4e6f454b6 Merge remote-tracking branch 'origin/develop' into xap 2023-10-24 23:55:19 +00:00
Ryan
b7e62af755
V-USB: Implement GET_PROTOCOL and SET_PROTOCOL handling (#22324) 2023-10-25 00:54:43 +01:00
QMK Bot
8f95479846 Merge remote-tracking branch 'origin/develop' into xap 2023-10-23 04:44:20 +00:00
Ryan
0c160e1fba
Separate 6KRO and NKRO report structs (#22267) 2023-10-23 15:43:46 +11:00
QMK Bot
69b75ccbd2 Merge remote-tracking branch 'origin/develop' into xap 2023-10-14 11:21:54 +00:00
Ryan
1bff37781b
Prep work for NKRO report separation (#22268)
* Clean up some keyboard/userspace code

* Rename `KEYBOARD_REPORT_BITS` -> `NKRO_REPORT_BITS`

* Add some missing includes

* Use `PACKED` define for report types

* Fix incorrect function signatures for FlexRAM EEPROM driver
2023-10-14 13:21:20 +02:00
QMK Bot
7ef34a1f80 Merge remote-tracking branch 'origin/develop' into xap 2023-09-25 02:28:29 +00:00
Stefan Kerkmann
fb18ac2b10
[Core] Bump mouse endpoint packet size to 16 bytes (#21711) 2023-09-25 12:27:34 +10:00
Drashna Jael're
e69909cc53
Merge remote-tracking branch 'origin/develop' into xap 2023-09-05 00:56:56 -07:00
Ryan
a74647c1fa
Remove old IS_LED_ON/OFF() macros (#21878) 2023-09-03 03:24:52 +01:00
QMK Bot
e06d31ff4a Merge remote-tracking branch 'origin/develop' into xap 2023-08-27 02:52:55 +00:00
Drashna Jaelre
25331be316
Revert changes to ChibiOS Suspend Code (#21830)
* Partially revert #19780

* Finish

* Get teensy 3.5/3.6 board files too

* fix lint issue

* Revert "[Bug] Restore usb suspend wakeup delay (#21676)"

This reverts commit e8e989fd7a.

* Apply suggestions from code review

Co-authored-by: Joel Challis <git@zvecr.com>

---------

Co-authored-by: Joel Challis <git@zvecr.com>
2023-08-27 03:52:12 +01:00
QMK Bot
ad7e73d67a Merge remote-tracking branch 'origin/develop' into xap 2023-08-02 22:43:41 +00:00
Stefan Kerkmann
e8e989fd7a
[Bug] Restore usb suspend wakeup delay (#21676)
* Respect USB_SUSPEND_WAKEUP_DELAY on wakeup

This delay wasn't honored after removing `restart_usb_driver` from the
suspend and wakeup handling. It is now re-introduced in the appropriate
spot, namely after issuing a remote wakeup to a sleeping host.

* Remove old, unused and commented testing code
2023-08-02 23:42:57 +01:00
QMK Bot
558b563758 Merge remote-tracking branch 'origin/develop' into xap 2023-08-02 11:47:58 +00:00
Stefan Kerkmann
b2d068d1aa
Fix mouse-key spamming empty reports (#21663)
Problem:

`mousekey_task` spams empty hid reports with when a mouse key is
pressed, causing resource exhaustion in the USB mouse endpoint.

Cause:

The check whether or not to send a new mouse report would always
evaluate to true if a mouse key is pressed:

1. `mouse_report` has non-zero fields and `tmpmr` is a copy of this
   fields.
2. `mouse_report` is set to zero, `tmpmr` has now non-zero fields.
3. `has_mouse_report_changed` compares the two and evaluates to true
4. a mouse report is sent.

Fix:

The check condition of `has_mouse_report_changed` will evaluate any
empty record as unchanged, as mouse report data is relative and doesn't
need to return to zero. An empty report will still be send by
`register_mouse` on release of all mouse buttons.
2023-08-02 13:47:25 +02:00
QMK Bot
56b952686d Merge remote-tracking branch 'origin/develop' into xap 2023-07-28 00:05:36 +00:00
Stefan Kerkmann
32174abcfa
Update keyboard report descriptor for USB compliance (#21626)
Running the "HID Tests" suite of the USB 3 Command Verifier (USB3CV)
tool resulted in the following error:

(HID: 3.2.61) The report descriptor returned in response to a
GetDescriptor(Report) must be compliant with the HID specification.

Byte Number:   37h (  55d)
Data Field: 91 02
Mnemonic:  Output
Value: (Variable)
Errors: Error:   LOGICAL MAX MUST be bounded by Report Size

The error stems from the fact that logical minimum and maximum are
global items, which means that the next item in a report descriptor
inherits the value from the previously set value. In this case the
status leds item inherited the logical minimum (=0) and maximum (=255)
from the keycodes item. As the status leds set a report size of 1 bit,
wich can only hold a boolean, it becomes clear that this range would
never fit.

The fix is straightforward, we just define a appropriate logical maximum
(=1), the mismatch is solved and our keyboard now passes the compliance
tests. Defining the logical minimum is redundant in this case but is
kept to form a logical block.
2023-07-28 01:05:01 +01:00
QMK Bot
328f325dd1 Merge remote-tracking branch 'origin/develop' into xap 2023-07-16 13:43:35 +00:00
Ryan
da2d2f947d
quantum: remove direct quantum.h includes (#21507) 2023-07-16 23:42:56 +10:00
QMK Bot
676e226edb Merge remote-tracking branch 'origin/develop' into xap 2023-07-15 07:28:04 +00:00
Ryan
b9e5895184
Eliminate TMK_COMMON_* in makefiles (#21517) 2023-07-15 17:27:32 +10:00
QMK Bot
62522a1684 Merge remote-tracking branch 'origin/develop' into xap 2023-07-07 11:24:42 +00:00
Ryan
30de598650
tmk_core: remove direct quantum.h includes (#21465) 2023-07-07 21:24:07 +10:00
QMK Bot
2b075dc24e Merge remote-tracking branch 'origin/develop' into xap 2023-06-26 23:16:05 +00:00
Ryan
5542f5ede1
Get rid of USB_LED_KANA and USB_LED_COMPOSE (#21366) 2023-06-27 09:15:33 +10:00
QMK Bot
91d129ca45 Merge remote-tracking branch 'origin/develop' into xap 2023-06-26 21:56:42 +00:00
Stefan Kerkmann
a87c74ebe1
[Bug] Fix non-functional S3 wakeup / resume from suspense (#19780)
* Update ChibiOS-Contrib for USB suspend fixes

* Remove S3 wakup workaround

ChibiOS OTGv1 driver has a remote wakeup bug that prevents the device to
resume it's operation. 02516cbc24 
introduced a hotfix that forcefully restarted the usb driver as a workaround. 
This workaround broke multiple boards which do not use this driver / 
peripheral. With the update of ChibiOS this hotfix is now obsolete.

* Remove restart_usb_driver overrides

they are no longer necessary as the workaround is not needed anymore
for stm32f4

* Remove unused RP_USB_USE_SOF_INTR defines

The SOF interrupt is enabled dynamically by the RP2040 usb driver
2023-06-26 23:55:52 +02:00