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

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

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

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

Referenced by usb_serial_start().

◆ usbcfg

const USBConfig usbcfg
extern

Definition at line 470 of file usbcfg.cpp.

470 {
471 usb_event,
475};
static void usb_event(USBDriver *usbp, usbevent_t event)
Definition usbcfg.cpp:389
static bool hybridRequestHook(USBDriver *usbp)
Definition usbcfg.cpp:455
static const USBDescriptor * get_descriptor(USBDriver *usbp, uint8_t dtype, uint8_t dindex, uint16_t lang)
Definition usbcfg.cpp:305
static void sof_handler(USBDriver *usbp)
Definition usbcfg.cpp:445

Referenced by usb_serial_start().

Go to the source code of this file.