diff --git a/Firmware/Board/v3/0001-display-correct-ODrive-version-in-USB-descriptor.patch b/Firmware/Board/v3/0001-display-correct-ODrive-version-in-USB-descriptor.patch new file mode 100644 index 00000000..f57298b0 --- /dev/null +++ b/Firmware/Board/v3/0001-display-correct-ODrive-version-in-USB-descriptor.patch @@ -0,0 +1,41 @@ +From b7ea3f500fbfc187a0a7112282ae6b1eee4555d0 Mon Sep 17 00:00:00 2001 +From: Samuel Sadok +Date: Tue, 13 Mar 2018 20:05:07 -0700 +Subject: [PATCH] display correct ODrive version in USB descriptor + +--- + Firmware/Board/v3/Src/usbd_desc.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/Firmware/Board/v3/Src/usbd_desc.c b/Firmware/Board/v3/Src/usbd_desc.c +index 94dc49b..37b4302 100644 +--- a/Firmware/Board/v3/Src/usbd_desc.c ++++ b/Firmware/Board/v3/Src/usbd_desc.c +@@ -96,7 +96,9 @@ + #define USBD_LANGID_STRING 1033 + #define USBD_MANUFACTURER_STRING "ODrive Robotics" + #define USBD_PID_FS 0x0D33 +-#define USBD_PRODUCT_STRING_FS "ODrive v3.3" ++#define USBD_PRODUCT_XSTR(s) USBD_PRODUCT_STR(s) ++#define USBD_PRODUCT_STR(s) #s ++#define USBD_PRODUCT_STRING_FS ODrive version HW_VERSION_MAJOR.HW_VERSION_MINOR + #define USBD_SERIALNUMBER_STRING_FS "000000000001" + #define USBD_CONFIGURATION_STRING_FS "CDC Config" + #define USBD_INTERFACE_STRING_FS "CDC Interface" +@@ -299,11 +301,11 @@ uint8_t * USBD_FS_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length + { + if(speed == 0) + { +- USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length); ++ USBD_GetString((uint8_t *)USBD_PRODUCT_XSTR(USBD_PRODUCT_STRING_FS), USBD_StrDesc, length); + } + else + { +- USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length); ++ USBD_GetString((uint8_t *)USBD_PRODUCT_XSTR(USBD_PRODUCT_STRING_FS), USBD_StrDesc, length); + } + return USBD_StrDesc; + } +-- +2.16.2 + diff --git a/Firmware/Board/v3/Src/main.c b/Firmware/Board/v3/Src/main.c index 55088a70..32546a48 100644 --- a/Firmware/Board/v3/Src/main.c +++ b/Firmware/Board/v3/Src/main.c @@ -57,11 +57,10 @@ #include "usart.h" #include "usb_device.h" #include "gpio.h" -#include "utils.h" -#include "commands.h" /* USER CODE BEGIN Includes */ - +#include "utils.h" +#include "commands.h" /* USER CODE END Includes */ /* Private variables ---------------------------------------------------------*/ diff --git a/Firmware/Board/v3/Src/usbd_desc.c b/Firmware/Board/v3/Src/usbd_desc.c index 94dc49b9..37b43026 100644 --- a/Firmware/Board/v3/Src/usbd_desc.c +++ b/Firmware/Board/v3/Src/usbd_desc.c @@ -96,7 +96,9 @@ #define USBD_LANGID_STRING 1033 #define USBD_MANUFACTURER_STRING "ODrive Robotics" #define USBD_PID_FS 0x0D33 -#define USBD_PRODUCT_STRING_FS "ODrive v3.3" +#define USBD_PRODUCT_XSTR(s) USBD_PRODUCT_STR(s) +#define USBD_PRODUCT_STR(s) #s +#define USBD_PRODUCT_STRING_FS ODrive version HW_VERSION_MAJOR.HW_VERSION_MINOR #define USBD_SERIALNUMBER_STRING_FS "000000000001" #define USBD_CONFIGURATION_STRING_FS "CDC Config" #define USBD_INTERFACE_STRING_FS "CDC Interface" @@ -299,11 +301,11 @@ uint8_t * USBD_FS_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length { if(speed == 0) { - USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length); + USBD_GetString((uint8_t *)USBD_PRODUCT_XSTR(USBD_PRODUCT_STRING_FS), USBD_StrDesc, length); } else { - USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length); + USBD_GetString((uint8_t *)USBD_PRODUCT_XSTR(USBD_PRODUCT_STRING_FS), USBD_StrDesc, length); } return USBD_StrDesc; }