mirror of https://github.com/Desuuuu/klipper.git
76 lines
2.2 KiB
Diff
76 lines
2.2 KiB
Diff
--- usb_serial.c 2011-04-19 05:54:12.000000000 -0400
|
|
+++ usb_serial.c 2016-06-04 23:48:52.590001697 -0400
|
|
@@ -30,6 +30,7 @@
|
|
// Version 1.6: fix zero length packet bug
|
|
// Version 1.7: fix usb_serial_set_control
|
|
|
|
+#include <string.h>
|
|
#define USB_SERIAL_PRIVATE_INCLUDE
|
|
#include "usb_serial.h"
|
|
|
|
@@ -146,7 +147,7 @@
|
|
// in here should only be done by those who've read chapter 9 of the USB
|
|
// spec and relevant portions of any USB class specifications!
|
|
|
|
-static uint8_t PROGMEM device_descriptor[] = {
|
|
+static const uint8_t PROGMEM device_descriptor[] = {
|
|
18, // bLength
|
|
1, // bDescriptorType
|
|
0x00, 0x02, // bcdUSB
|
|
@@ -164,7 +165,7 @@
|
|
};
|
|
|
|
#define CONFIG1_DESC_SIZE (9+9+5+5+4+5+7+9+7+7)
|
|
-static uint8_t PROGMEM config1_descriptor[CONFIG1_DESC_SIZE] = {
|
|
+static const uint8_t PROGMEM config1_descriptor[CONFIG1_DESC_SIZE] = {
|
|
// configuration descriptor, USB spec 9.6.3, page 264-266, Table 9-10
|
|
9, // bLength;
|
|
2, // bDescriptorType;
|
|
@@ -248,22 +249,22 @@
|
|
uint8_t bDescriptorType;
|
|
int16_t wString[];
|
|
};
|
|
-static struct usb_string_descriptor_struct PROGMEM string0 = {
|
|
+static const struct usb_string_descriptor_struct PROGMEM string0 = {
|
|
4,
|
|
3,
|
|
{0x0409}
|
|
};
|
|
-static struct usb_string_descriptor_struct PROGMEM string1 = {
|
|
+static const struct usb_string_descriptor_struct PROGMEM string1 = {
|
|
sizeof(STR_MANUFACTURER),
|
|
3,
|
|
STR_MANUFACTURER
|
|
};
|
|
-static struct usb_string_descriptor_struct PROGMEM string2 = {
|
|
+static const struct usb_string_descriptor_struct PROGMEM string2 = {
|
|
sizeof(STR_PRODUCT),
|
|
3,
|
|
STR_PRODUCT
|
|
};
|
|
-static struct usb_string_descriptor_struct PROGMEM string3 = {
|
|
+static const struct usb_string_descriptor_struct PROGMEM string3 = {
|
|
sizeof(STR_SERIAL_NUMBER),
|
|
3,
|
|
STR_SERIAL_NUMBER
|
|
@@ -271,7 +272,7 @@
|
|
|
|
// This table defines which descriptor data is sent for each specific
|
|
// request from the host (in wValue and wIndex).
|
|
-static struct descriptor_list_struct {
|
|
+static const struct descriptor_list_struct {
|
|
uint16_t wValue;
|
|
uint16_t wIndex;
|
|
const uint8_t *addr;
|
|
@@ -646,7 +647,9 @@
|
|
// communication
|
|
uint32_t usb_serial_get_baud(void)
|
|
{
|
|
- return *(uint32_t *)cdc_line_coding;
|
|
+ uint32_t res;
|
|
+ memcpy(&res, cdc_line_coding, sizeof(res));
|
|
+ return res;
|
|
}
|
|
uint8_t usb_serial_get_stopbits(void)
|
|
{
|