common: Make USB_VcomInit() take VID/PID and pass them on.
authorTilman Sauerbeck <tilman@code-monkey.de>
Sun, 7 Jul 2019 10:15:14 +0000 (12:15 +0200)
committerTilman Sauerbeck <tilman@code-monkey.de>
Sun, 5 Jan 2020 19:38:11 +0000 (20:38 +0100)
src/common/usb_serial.rs
src/common/virtual_com.c
src/common/virtual_com.h

index 6f28e52652baf245fa902ce42d97fe65f41db471..6a7cd173b0fc09e51e04021e7a32604170914bbe 100644 (file)
@@ -25,11 +25,11 @@ use nvic;
 use clock;
 
 extern {
-    fn USB_VcomInit();
+    fn USB_VcomInit(vid: u16, pid: u16);
 }
 
 pub unsafe fn init(vid: u16, pid: u16) {
-    USB_VcomInit();
+    USB_VcomInit(vid, pid);
 }
 
 #[no_mangle]
index 804c91a95de332de0963865746ef18f236d79f19..370767898a4c275b16c8ad9f57fd701a37e3f39f 100644 (file)
@@ -624,7 +624,8 @@ flush_tx_buffer (void *user_data, void *vbuf, size_t bufsiz, size_t count)
 }
 
 /* See virtual_com.h for documentation of this function. */
-usb_device_handle USB_VcomInit(void)
+usb_device_handle
+USB_VcomInit (uint16_t vid, uint16_t pid)
 {
     usb_device_handle deviceHandle = NULL;
 
@@ -638,6 +639,9 @@ usb_device_handle USB_VcomInit(void)
     s_cdcVcom.attach = 0;
     s_cdcVcom.deviceHandle = NULL;
 
+       USB_DeviceSetVendorId(vid);
+       USB_DeviceSetProductId(pid);
+
     if (kStatus_USB_Success != USB_DeviceInit(CONTROLLER_ID, USB_DeviceCallback, &s_cdcVcom.deviceHandle))
     {
         deviceHandle = NULL;
index 895b4c38b572e89c94caf405cd2c4fa3eb778910..c8e5f020391bb1eb192606c014e9e65dcd1a3739 100644 (file)
@@ -125,7 +125,7 @@ typedef struct _usb_cdc_acm_info
  *
  * @return pointer to USB device handle.
  */
-usb_device_handle USB_VcomInit(void);
+usb_device_handle USB_VcomInit (uint16_t vid, uint16_t pid);
 
 /*!
  * @brief Application initialization function.