Fix when setting options and taking VIDPID values.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
parent
f8480291fe
commit
246ed5cf19
3 changed files with 14 additions and 6 deletions
|
|
@ -76,6 +76,11 @@
|
|||
#define PHY_OPTS 0x6
|
||||
|
||||
#define PHY_OPT_WCID 0x1
|
||||
#define PHY_OPT_VPID 0x2
|
||||
#define PHY_OPT_GPIO 0x4
|
||||
#define PHY_OPT_LED 0x8
|
||||
|
||||
#define PHY_OPT_MASK 0x1
|
||||
|
||||
#define PHY_MAX_SIZE 8
|
||||
|
||||
|
|
|
|||
|
|
@ -432,7 +432,9 @@ int main(void) {
|
|||
#ifdef ESP_PLATFORM
|
||||
uint8_t gpio = GPIO_NUM_48;
|
||||
if (file_has_data(ef_phy)) {
|
||||
gpio = file_get_data(ef_phy)[PHY_LED_GPIO];
|
||||
if (file_read_uint8_offset(ef_phy, PHY_OPTS + 1) & PHY_OPT_GPIO) {
|
||||
gpio = file_get_data(ef_phy)[PHY_LED_GPIO];
|
||||
}
|
||||
}
|
||||
neopixel = neopixel_Init(1, gpio);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -169,16 +169,17 @@ void usb_init() {
|
|||
uint16_t usb_vid = USB_VID, usb_pid = USB_PID;
|
||||
if (file_has_data(ef_phy)) {
|
||||
uint8_t *data = file_get_data(ef_phy);
|
||||
if (file_get_size(ef_phy) >= 4) {
|
||||
usb_vid = (data[PHY_VID] << 8) | data[PHY_VID+1];
|
||||
usb_pid = (data[PHY_PID] << 8) | data[PHY_PID+1];
|
||||
}
|
||||
uint16_t opts = 0;
|
||||
if (file_get_size(ef_phy) >= 8) {
|
||||
uint16_t opts = (data[PHY_OPTS] << 8) | data[PHY_OPTS+1];
|
||||
opts = (data[PHY_OPTS] << 8) | data[PHY_OPTS+1];
|
||||
if (opts & PHY_OPT_WCID) {
|
||||
enable_wcid = true;
|
||||
}
|
||||
}
|
||||
if (file_get_size(ef_phy) >= 4 && opts & PHY_OPT_VPID) {
|
||||
usb_vid = (data[PHY_VID] << 8) | data[PHY_VID+1];
|
||||
usb_pid = (data[PHY_PID] << 8) | data[PHY_PID+1];
|
||||
}
|
||||
}
|
||||
desc_device.idVendor = usb_vid;
|
||||
desc_device.idProduct = usb_pid;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue