Commit Graph
165 Commits
Author SHA1 Message Date
awalolandGitHub bbf50b09eb Merge pull request #68 from Summeli/master
Support for Rasberry Pi Pico W
2026-05-13 18:18:19 +08:00
awalolandGitHub b528fb49b2 Merge branch 'master' into master 2026-05-13 18:17:25 +08:00
Antti Pohjola 5e7da1779e feat: add DISABLE_SPEAKER_PROC build flag 2026-05-13 13:15:09 +03:00
Thierry Perrautandawalol e969aa6e2d feat: override disable_pico_led for low-battery blink
The low-battery indicator is critical info — keep blinking even when
the user has the LED disabled (Speaker mute toggle). Steady-state
LED still respects the flag: when battery recovers or charging
starts, the LED returns to off if the flag is set, otherwise to the
existing connected = solid-on state.

(cherry picked from commit 775346cd29d9a3c566309ec7d29db80f0b6979f1)
2026-05-13 18:09:32 +08:00
Thierry Perrautandawalol 63c62081eb feat: low-battery LED indicator (ENABLE_BATT_LED, default ON)
Blink the Pico onboard LED at 1 Hz when the connected DualSense
reports PowerPercent <= 1 (i.e. <= 10%) and PowerState == Discharging.
Source data is byte 52 of the BT 0x31 input report, already copied
into interrupt_in_data; no new BT parsing required.

The new module owns the LED only while it is actively blinking; it
detects controller disconnection via stale-report timeout and steps
out, so bt.cpp's existing connect/disconnect LED handling stays in
charge in all other states. Honors disable_pico_led.

Gated by -DENABLE_BATT_LED=ON (default). With the option off, the
source file is not compiled and behavior is identical to upstream.
CI gains a compile-only check for the OFF flavor.

(cherry picked from commit 2f8ea73c9fb695e24e7cc3329db7cb925e82e1c9)
2026-05-13 18:09:31 +08:00
awalol d3311a35d9 adjust l2cap mtu 2026-05-13 16:45:48 +08:00
462ddcb4c7 typo
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-13 16:19:09 +08:00
awalol 3a31bd75af refactor: add SetStateData and audio send priority 2026-05-13 16:19:08 +08:00
awalol 897beedeac fix: new pair
(cherry picked from commit 30e11f0f76fff6035fd36908662c87ba55abdef7)
2026-05-13 16:19:07 +08:00
awalol 9c668a73e4 fix: hid input stutter
(cherry picked from commit 3a179c74b325b9a8a9a54d6b4061c33a5be1b734)
2026-05-13 16:19:03 +08:00
julen 8960987156 fix: integer overflow when inactive_time exceeds 35
When the inactive_time configuration value exceeds 35, the expression
`get_config().inactive_time * 60 * 1000 * 1000`
overflows the maximum int value due to implicit integer conversion.
2026-05-10 12:59:33 +08:00
awalol 036a4a442b fix: ci build 2026-05-09 21:19:58 +08:00
awalol 43776c068d fix: SetStateData update 2026-05-09 21:16:24 +08:00
awalol 8f78259fa0 update ci enable log verbose 2026-05-09 14:32:40 +08:00
awalol ec2b1dbc12 clarify SetStateData func 2026-05-09 14:29:35 +08:00
awalol bb1c8f4a97 add Log Verbose option 2026-05-09 14:22:46 +08:00
awalol c45ceea535 optimize high frequency 0x02 SetStateData 2026-05-09 14:21:21 +08:00
awalol c323c14f19 rename haptics buf_len to audio buf_len 2026-05-09 13:20:46 +08:00
awalol 5d32bb6de9 haptics gain before resample 2026-05-08 23:57:11 +08:00
awalolandGitHub 1119d2f17a Merge pull request #44 from Demogorgon314/perf-bt-crc-hotpath
Replace runtime CRC32 table setup with a constexpr lookup table for faster output and feature report checksums
2026-05-08 20:30:16 +08:00
Kai 9ee59604f9 Optimize crc32 2026-05-08 19:58:34 +08:00
awalol 1014a13ed0 fix: controller auto mode 2026-05-08 19:31:24 +08:00
awalol f8f86a29ef fix: ENABLE_SERIAL conditional compilation 2026-05-08 17:37:53 +08:00
awalol ef0a261654 disable watchdog in debug firmware 2026-05-08 14:10:52 +08:00
awalol 2a6e0d0fd5 fix: ci build 2026-05-08 14:02:00 +08:00
awalol bc18d31613 fix: ci build 2026-05-08 13:57:39 +08:00
awalol be01dc439e add usb serial for debug firmware
Code by gpt5.5-xhigh
2026-05-08 13:54:07 +08:00
awalol b2b92959ca add cache for ci 2026-05-08 13:50:47 +08:00
awalol 6ded3361f9 auto switch ds mode 2026-05-07 23:00:19 +08:00
awalol 8bb0c816df 使用ds5原始的音量调节范围 2026-05-07 22:28:29 +08:00
awalol 33c44907b6 increase bt interrupt mtu 2026-05-07 20:28:08 +08:00
awalol e79c76276f remove usb serialnumber #32 2026-05-07 19:13:23 +08:00
awalol b736cc91d7 fix: usbaudio set_cur cmd set volume 2026-05-07 19:11:42 +08:00
awalol 8155ebdfec adjust buf_len and inactive_time range 2026-05-07 18:52:53 +08:00
awalol 767e7437f7 refactor: remove opus queue 2026-05-06 17:58:06 +08:00
awalol 3ef74c8542 refactor(bt): replace std::queue with queue_t 2026-05-06 17:30:53 +08:00
awalolandGitHub aba0739f59 Update README 2026-05-06 13:58:07 +08:00
awalolandGitHub eb6b2d0559 Update README 2026-05-06 13:57:32 +08:00
awalol 7358a81d11 fix: DSE Profile Save. Thanks @fuhuasxflwb 2026-05-05 21:14:29 +08:00
awalol 826c3eef9c typo 2026-05-05 19:05:19 +08:00
awalol 5c815299ad feat: disable pico led real time 2026-05-05 18:53:24 +08:00
awalol a887c6fb39 使用 absolute_time_t 替代 time_us_32 作为计时器 2026-05-05 18:47:39 +08:00
awalolandGitHub c665eab4d5 Merge pull request #27 from dereckhall/fix/get-feature-overread
fix buffer overread in get_feature_data
2026-05-05 15:45:36 +08:00
awalol 351d71dfe1 cmd: controller mode switch 2026-05-05 15:19:22 +08:00
awalol 0d32db4d9f cmd: poll rate switch 2026-05-05 13:00:28 +08:00
Dereck b54bd2452e fix buffer overread in get_feature_data
l2cap_send was passed the caller's `len` (expected response size) instead of
the actual array size. The get_feature array is only 2 bytes (transaction
header + report ID), so this read up to 62 bytes of uninitialized stack.

Use sizeof(get_feature) to send only the 2-byte GET_REPORT request.
2026-05-05 00:07:35 -04:00
awalol a89618f463 cmd: set haptics buffer length 2026-05-05 11:45:23 +08:00
awalol 25a46bf278 fix: tud reconnect timeout 2026-05-05 11:43:51 +08:00
awalol fb8624b61b feat: config manager 2026-05-05 01:17:15 +08:00
awalol 572d017ec5 switch README language 2026-05-02 18:07:06 +08:00