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 279 of file usbcfg.cpp.

279 {
280 if (bytes > 12) {
281 bytes = 12;
282 }
283
284 // Skip the first two bytes (metadata)
285 uint8_t* dst = &vcom_string3[2];
286
287 for (size_t i = 0; i < bytes; i++) {
288 uint8_t byte = serialNumber[i];
289
290 uint8_t lowNibble = byte & 0xF;
291 uint8_t highNibble = byte >> 4;
292
293 // Descriptor strings are UCS16, so write every other byte
294 dst[4 * i] = nib2char(highNibble);
295 dst[4 * i + 2] = nib2char(lowNibble);
296 }
297}
static const uint8_t vcom_string3[]
Definition usbcfg.cpp:238
static char nib2char(uint8_t nibble)
Definition usbcfg.cpp:271

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 479 of file usbcfg.cpp.

479 {
480#if STM32_USB_USE_OTG1
481 .usbp = &USBD1,
482#elif STM32_USB_USE_OTG2
483 .usbp = &USBD2,
484#else
485 #error Serial over USB needs OTG1 or OTG2 to be enabled
486#endif
487 .bulk_in = USBD1_DATA_REQUEST_EP,
488 .bulk_out = USBD1_DATA_AVAILABLE_EP,
489 .int_in = USBD1_INTERRUPT_REQUEST_EP
490};

Referenced by usb_serial_flush(), and usb_serial_start().

◆ usbcfg

const USBConfig usbcfg
extern

Definition at line 469 of file usbcfg.cpp.

469 {
470 usb_event,
474};
static void usb_event(USBDriver *usbp, usbevent_t event)
Definition usbcfg.cpp:388
static bool hybridRequestHook(USBDriver *usbp)
Definition usbcfg.cpp:454
static const USBDescriptor * get_descriptor(USBDriver *usbp, uint8_t dtype, uint8_t dindex, uint16_t lang)
Definition usbcfg.cpp:304
static void sof_handler(USBDriver *usbp)
Definition usbcfg.cpp:444

Referenced by usb_serial_start().

Go to the source code of this file.