Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
722a9b489b
|
|||
|
e3620971b1
|
+2
-2
@@ -1,2 +1,2 @@
|
|||||||
/build/**/*
|
/*/**/*
|
||||||
/external/**/*
|
!/html/**/*
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ You will need the following hardware to make the device:
|
|||||||
- light dependent resistor such as GL5528 (specific part number may vary)
|
- light dependent resistor such as GL5528 (specific part number may vary)
|
||||||
- 10k ohm resistor (resistance value may vary)
|
- 10k ohm resistor (resistance value may vary)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
You will need to cut the USB extension in half and connect the wires from the
|
You will need to cut the USB extension in half and connect the wires from the
|
||||||
female end to the Raspberry Pi Pico (2). The default configuration is to attach
|
female end to the Raspberry Pi Pico (2). The default configuration is to attach
|
||||||
the USB's green wire to pin 1/GP0 and USB's white wire to pin 2/GP1. You will
|
the USB's green wire to pin 1/GP0 and USB's white wire to pin 2/GP1. You will
|
||||||
|
|||||||
@@ -376,6 +376,8 @@ void startADC() {
|
|||||||
|
|
||||||
// forward HID report after processing
|
// forward HID report after processing
|
||||||
bool forward_report(uint8_t instance, uint8_t const* report, uint16_t len) {
|
bool forward_report(uint8_t instance, uint8_t const* report, uint16_t len) {
|
||||||
|
// forward only if device is connected
|
||||||
|
if (device_state == DEVICE_ACTIVE) {
|
||||||
// toggle mute button color if mute button is pressed
|
// toggle mute button color if mute button is pressed
|
||||||
if ( instance == 0x02 && report[0] == 0x02 && (report[2] & 0x01) ) {
|
if ( instance == 0x02 && report[0] == 0x02 && (report[2] & 0x01) ) {
|
||||||
mute = !mute;
|
mute = !mute;
|
||||||
@@ -384,6 +386,9 @@ bool forward_report(uint8_t instance, uint8_t const* report, uint16_t len) {
|
|||||||
return tud_hid_n_report(instance, 0, report, len);
|
return tud_hid_n_report(instance, 0, report, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// save RGB configuration to flash
|
// save RGB configuration to flash
|
||||||
void save_rgb_config(void) {
|
void save_rgb_config(void) {
|
||||||
// set save signature and number of bytes to be written into config
|
// set save signature and number of bytes to be written into config
|
||||||
|
|||||||
+14802
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 268 KiB |
+10
-7
@@ -79,19 +79,17 @@ void usb_device_main(void) {
|
|||||||
while (true) {
|
while (true) {
|
||||||
switch ( device_state ) {
|
switch ( device_state ) {
|
||||||
case DEVICE_ACTIVE:
|
case DEVICE_ACTIVE:
|
||||||
|
if (!tud_mounted()) {
|
||||||
|
device_state = DEVICE_INACTIVE;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case DEVICE_INACTIVE:
|
case DEVICE_INACTIVE:
|
||||||
break;
|
break;
|
||||||
case DEVICE_RESTART:
|
case DEVICE_RESTART:
|
||||||
if (tud_disconnect()) {
|
if (tud_disconnect()) {
|
||||||
sleep_ms(10);
|
|
||||||
if (tud_connect()) {
|
|
||||||
if ( host_state == HOST_INACTIVE ) {
|
|
||||||
device_state = DEVICE_INACTIVE;
|
device_state = DEVICE_INACTIVE;
|
||||||
} else {
|
sleep_ms(10);
|
||||||
device_state = DEVICE_ACTIVE;
|
tud_connect();
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -243,6 +241,11 @@ uint16_t tud_hid_get_report_cb(uint8_t instance, uint8_t report_id, hid_report_t
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Invoked when device is mounted
|
||||||
|
void tud_mount_cb(void) {
|
||||||
|
device_state = DEVICE_ACTIVE;
|
||||||
|
}
|
||||||
|
|
||||||
// print message to CDC in raw hex
|
// print message to CDC in raw hex
|
||||||
void cdc_print_hex(uint8_t const* msg, uint16_t msg_len) {
|
void cdc_print_hex(uint8_t const* msg, uint16_t msg_len) {
|
||||||
(void) msg;
|
(void) msg;
|
||||||
|
|||||||
Reference in New Issue
Block a user