Add support for RP2350-One LED driver.

This commit is contained in:
daimiaopeng
2026-01-02 01:05:13 +08:00
parent 70dec5596a
commit c5d12bead4
2 changed files with 20 additions and 0 deletions

View File

@@ -72,6 +72,13 @@ else()
endif()
set(USB_ITF_HID 1)
option(WAVESHARE_RP2350_ONE "Enable Waveshare RP2350-One LED support" OFF)
if(WAVESHARE_RP2350_ONE)
add_definitions(-DWAVESHARE_RP2350_ONE=1)
message(STATUS "Waveshare RP2350-One: \t enabled")
endif()
include(pico-keys-sdk/pico_keys_sdk_import.cmake)
if(NOT ESP_PLATFORM)

View File

@@ -74,6 +74,7 @@ PICO_SDK_PATH=/path/to/pico-sdk cmake .. -DPICO_BOARD=board_type -DUSB_VID=0x123
make
```
Note that `PICO_BOARD`, `USB_VID` and `USB_PID` are optional. If not provided, `pico` board and VID/PID `FEFF:FCFD` will be used.
For Waveshare RP2350-One board, add `-DWAVESHARE_RP2350_ONE=ON` to enable RGB LED support on GPIO 16.
Additionally, you can pass the `VIDPID=value` parameter to build the firmware with a known VID/PID. The supported values are:
@@ -117,6 +118,18 @@ While processing, the Pico FIDO is busy and cannot receive additional commands u
![Processing](https://user-images.githubusercontent.com/55573252/162009007-df45111e-2473-4a92-97c5-15c3cd19babd.gif)
### Waveshare RP2350-One RGB LED
The Waveshare RP2350-One uses a WS2812 RGB LED on GPIO 16. Different colors indicate different states:
| State | Color | Pattern |
| ---------------- | --------- | ------------------------------- |
| Not mounted | 🔴 Red | 500ms on / 500ms off |
| Mounted (active) | 🟢 Green | 500ms on / 500ms off |
| Suspended (idle) | 🔵 Blue | 1000ms on / 2000ms off |
| Processing | 🟢 Green | 50ms on / 50ms off (fast blink) |
| Press to confirm | 🟡 Yellow | 1000ms on / 100ms off |
## Driver
Pico FIDO uses the `HID` driver, which is present in all operating systems. It should be detected by all OS and browser/applications just like normal USB FIDO keys.