Compare commits
5 Commits
daimiaopen
...
nightly-de
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb20a75ef4 | ||
|
|
8d709cf745 | ||
|
|
bbbbcadf4c | ||
|
|
fbbf1feb49 | ||
|
|
22de41bfe0 |
@@ -75,13 +75,6 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(USB_ITF_HID 1)
|
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)
|
include(pico-keys-sdk/pico_keys_sdk_import.cmake)
|
||||||
|
|
||||||
if(NOT ESP_PLATFORM)
|
if(NOT ESP_PLATFORM)
|
||||||
|
|||||||
13
README.md
13
README.md
@@ -75,7 +75,6 @@ PICO_SDK_PATH=/path/to/pico-sdk cmake .. -DPICO_BOARD=board_type -DUSB_VID=0x123
|
|||||||
make
|
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.
|
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:
|
Additionally, you can pass the `VIDPID=value` parameter to build the firmware with a known VID/PID. The supported values are:
|
||||||
|
|
||||||
@@ -119,18 +118,6 @@ While processing, the Pico FIDO is busy and cannot receive additional commands u
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 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
|
## 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.
|
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.
|
||||||
|
|||||||
Submodule pico-keys-sdk updated: 8075611f15...7abedc5b0e
@@ -36,19 +36,6 @@ extern uint8_t session_pin[32];
|
|||||||
uint8_t mkek_mask[MKEK_KEY_SIZE];
|
uint8_t mkek_mask[MKEK_KEY_SIZE];
|
||||||
bool has_mkek_mask = false;
|
bool has_mkek_mask = false;
|
||||||
|
|
||||||
#define POLY 0xedb88320
|
|
||||||
|
|
||||||
uint32_t crc32c(const uint8_t *buf, size_t len) {
|
|
||||||
uint32_t crc = 0xffffffff;
|
|
||||||
while (len--) {
|
|
||||||
crc ^= *buf++;
|
|
||||||
for (int k = 0; k < 8; k++) {
|
|
||||||
crc = (crc >> 1) ^ (POLY & (0 - (crc & 1)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ~crc;
|
|
||||||
}
|
|
||||||
|
|
||||||
void mkek_masked(uint8_t *mkek, const uint8_t *mask) {
|
void mkek_masked(uint8_t *mkek, const uint8_t *mask) {
|
||||||
if (mask) {
|
if (mask) {
|
||||||
for (int i = 0; i < MKEK_KEY_SIZE; i++) {
|
for (int i = 0; i < MKEK_KEY_SIZE; i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user