rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Functions | Variables
usbcfg.h File Reference

Functions

void usbPopulateSerialNumber (const uint8_t *serialNumber, size_t bytes)
 

Variables

const USBConfig usbcfg
 
const SerialUSBConfig serusbcfg
 
SerialUSBDriver SDU1
 

Function Documentation

◆ usbPopulateSerialNumber()

void usbPopulateSerialNumber ( const uint8_t *  serialNumber,
size_t  bytes 
)

Definition at line 263 of file usbcfg.cpp.

263 {
264 if (bytes > 12) {
265 bytes = 12;
266 }
267
268 // Skip the first two bytes (metadata)
269 uint8_t* dst = &vcom_string3[2];
270
271 for (size_t i = 0; i < bytes; i++) {
272 uint8_t byte = serialNumber[i];
273
274 uint8_t lowNibble = byte & 0xF;
275 uint8_t highNibble = byte >> 4;
276
277 // Descriptor strings are UCS16, so write every other byte
278 dst[4 * i] = nib2char(highNibble);
279 dst[4 * i + 2] = nib2char(lowNibble);
280 }
281}
static uint8_t vcom_string3[]
Definition usbcfg.cpp:236
static char nib2char(uint8_t nibble)
Definition usbcfg.cpp:255

Referenced by usb_serial_start().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ SDU1

SerialUSBDriver SDU1
extern

◆ serusbcfg

const SerialUSBConfig serusbcfg
extern

Definition at line 462 of file usbcfg.cpp.

462 {
463#if STM32_USB_USE_OTG1
464 .usbp = &USBD1,
465#elif STM32_USB_USE_OTG2
466 .usbp = &USBD2,
467#else
468 #error Serial over USB needs OTG1 or OTG2 to be enabled
469#endif
470 .bulk_in = USBD1_DATA_REQUEST_EP,
471 .bulk_out = USBD1_DATA_AVAILABLE_EP,
472 .int_in = USBD1_INTERRUPT_REQUEST_EP
473};

Referenced by usb_serial_start().

◆ usbcfg

const USBConfig usbcfg
extern

Definition at line 452 of file usbcfg.cpp.

452 {
453 usb_event,
457};
static void usb_event(USBDriver *usbp, usbevent_t event)
Definition usbcfg.cpp:371
static bool hybridRequestHook(USBDriver *usbp)
Definition usbcfg.cpp:437
static const USBDescriptor * get_descriptor(USBDriver *usbp, uint8_t dtype, uint8_t dindex, uint16_t lang)
Definition usbcfg.cpp:287
static void sof_handler(USBDriver *usbp)
Definition usbcfg.cpp:427

Referenced by usb_serial_start().

Go to the source code of this file.