151#include "tusb_config.h"
152#include "pico/unique_id.h"
155#define USB_VID 0x1209
156#define USB_PID 0xB1C0
157#define USB_MANUFACTURER "tinyVision.ai Inc."
158#define USB_PRODUCT "pico-ice"
159#define USB_LANG_EN (const char[]){ 0x09, 0x04 }
160#define USB_VENDOR "tinyVision.ai"
164#define CONFIG_TOTAL_LEN (TUD_CONFIG_DESC_LEN \
165 + CFG_TUD_CDC * TUD_CDC_DESC_LEN \
166 + CFG_TUD_MSC * TUD_MSC_DESC_LEN \
167 + CFG_TUD_HID * TUD_HID_DESC_LEN \
168 + CFG_TUD_MIDI * TUD_MIDI_DESC_LEN \
169 + CFG_TUD_VENDOR * TUD_VENDOR_DESC_LEN \
170 + CFG_TUD_DFU * TUD_DFU_DESC_LEN(CFG_TUD_DFU_ALT))
173#define ICE_UF2_FAMILY_ID 0x792e7263
192extern char const *tud_string_desc[STRID_NUM_TOTAL];
193extern char usb_serial_number[PICO_UNIQUE_BOARD_ID_SIZE_BYTES * 2 + 1];
194extern uint8_t
const tud_desc_configuration[CONFIG_TOTAL_LEN];
195extern const tusb_desc_device_t tud_desc_device;
196extern void (*tud_cdc_rx_cb_table[CFG_TUD_CDC])(uint8_t);
198void ice_usb_init(
void);
199void ice_usb_sleep_ms(uint32_t ms);