diff options
Diffstat (limited to 'bootloaders')
| -rw-r--r-- | bootloaders/diskloader/src/DiskLoader.cpp | 60 | ||||
| -rw-r--r-- | bootloaders/diskloader/src/Platform.h | 11 | ||||
| -rw-r--r-- | bootloaders/diskloader/src/USBCore.cpp | 118 | ||||
| -rw-r--r-- | bootloaders/diskloader/src/USBCore.h | 126 | ||||
| -rw-r--r-- | bootloaders/diskloader/src/USBDesc.cpp | 8 | ||||
| -rw-r--r-- | bootloaders/diskloader/src/USBDesc.h | 8 | 
6 files changed, 163 insertions, 168 deletions
diff --git a/bootloaders/diskloader/src/DiskLoader.cpp b/bootloaders/diskloader/src/DiskLoader.cpp index f5df8a4..d14c7fb 100644 --- a/bootloaders/diskloader/src/DiskLoader.cpp +++ b/bootloaders/diskloader/src/DiskLoader.cpp @@ -26,15 +26,15 @@ void entrypoint(void)  		::);  } -u8 _flashbuf[128]; -u8 _inSync; -u8 _ok; -extern volatile u8 _ejected; -extern volatile u16 _timeout; +uint8_t _flashbuf[128]; +uint8_t _inSync; +uint8_t _ok; +extern volatile uint8_t _ejected; +extern volatile uint16_t _timeout; -void Program(u8 ep, u16 page, u8 count) +void Program(uint8_t ep, uint16_t page, uint8_t count)  { -	u8 write = page < 30*1024;		// Don't write over firmware please +	uint8_t write = page < 30*1024;		// Don't write over firmware please  	if (write)  		boot_page_erase(page); @@ -46,9 +46,9 @@ void Program(u8 ep, u16 page, u8 count)  	boot_spm_busy_wait();			// Wait until the memory is erased.  	count >>= 1; -	u16* p = (u16*)page; -	u16* b = (u16*)_flashbuf; -	for (u8 i = 0; i < count; i++) +	uint16_t* p = (uint16_t*)page; +	uint16_t* b = (uint16_t*)_flashbuf; +	for (uint8_t i = 0; i < count; i++)  		boot_page_fill(p++, b[i]);      boot_page_write(page); @@ -78,8 +78,8 @@ int USBGetChar();  #define STK_READ_PAGE       0x74  // 't'  #define STK_READ_SIGN       0x75  // 'u' -extern const u8 _readSize[] PROGMEM; -const u8 _readSize[] =  +extern const uint8_t _readSize[] PROGMEM; +const uint8_t _readSize[] =   {  	STK_GET_PARAMETER,	1,  	STK_SET_DEVICE,		20, @@ -91,8 +91,8 @@ const u8 _readSize[] =  	0,0  }; -extern const u8 _consts[] PROGMEM; -const u8 _consts[] =  +extern const uint8_t _consts[] PROGMEM; +const uint8_t _consts[] =   {  	SIGNATURE_0,  	SIGNATURE_1, @@ -131,18 +131,18 @@ int main()  	for(;;)  	{ -		u8* packet = _flashbuf; -		u16 address = 0; +		uint8_t* packet = _flashbuf; +		uint16_t address = 0;  		for (;;)  		{ -			u8 cmd = getch(); +			uint8_t cmd = getch();  			//	Read packet contents -			u8 len; -			const u8* rs = _readSize; +			uint8_t len; +			const uint8_t* rs = _readSize;  			for(;;)  			{ -				u8 c = pgm_read_byte(rs++); +				uint8_t c = pgm_read_byte(rs++);  				len = pgm_read_byte(rs++);  				if (c == cmd || c == 0)  					break; @@ -152,11 +152,11 @@ int main()  			Recv(CDC_RX,packet,len);  			//	Send a response -			u8 send = 0; -			const u8* pgm = _consts+7;			// 0 +			uint8_t send = 0; +			const uint8_t* pgm = _consts+7;			// 0  			if (STK_GET_PARAMETER == cmd)  			{ -				u8 i = packet[0] - 0x80; +				uint8_t i = packet[0] - 0x80;  				if (i > 2)  					i = (i == 0x18) ? 3 : 4;	// 0x80:HW_VER,0x81:SW_MAJOR,0x82:SW_MINOR,0x18:3 or 0  				pgm = _consts + i + 3; @@ -179,7 +179,7 @@ int main()  			else if (STK_LOAD_ADDRESS == cmd)  			{ -				address = *((u16*)packet);		// word addresses +				address = *((uint16_t*)packet);		// word addresses  				address += address;  			} @@ -191,7 +191,7 @@ int main()  			else if (STK_READ_PAGE == cmd)  			{  				send = packet[1]; -				pgm = (const u8*)address; +				pgm = (const uint8_t*)address;  				address += send; // not sure of this is required  			} @@ -216,15 +216,15 @@ int main()  }  //	Nice breathing LED indicates we are in the firmware -u16 _pulse; +uint16_t _pulse;  void LEDPulse()  {  	_pulse += 4; -	u8 p = _pulse >> 9; +	uint8_t p = _pulse >> 9;  	if (p > 63)  		p = 127-p;  	p += p; -	if (((u8)_pulse) > p) +	if (((uint8_t)_pulse) > p)  		L_LED_OFF();  	else  		L_LED_ON(); @@ -234,7 +234,7 @@ void StartSketch()  {  	TX_LED_OFF();	// switch off the RX and TX LEDs before starting the user sketch  	RX_LED_OFF(); -	UDCON = 1;		// Detatch USB +	UDCON = 1;		// Detach USB  	UDIEN = 0;  	asm volatile (	// Reset vector to run firmware  		"clr r30\n" @@ -245,7 +245,7 @@ void StartSketch()  void Reset()   { -	wdt_enable(WDTO_15MS); +	wdt_enable(WDTO_15MS);	// reset the microcontroller to reinitialize all IO and other registers  	for (;;)   		;  } diff --git a/bootloaders/diskloader/src/Platform.h b/bootloaders/diskloader/src/Platform.h index 2e90334..57dc7d5 100644 --- a/bootloaders/diskloader/src/Platform.h +++ b/bootloaders/diskloader/src/Platform.h @@ -11,11 +11,6 @@  #include <stdlib.h>  #include <string.h> -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned long u32; - -  #define CPU_PRESCALE(n)	(CLKPR = 0x80, CLKPR = (n))  #define DISABLE_JTAG()  MCUCR = (1 << JTD) | (1 << IVCE) | (0 << PUD); MCUCR = (1 << JTD) | (0 << IVSEL) | (0 << IVCE) | (0 << PUD); @@ -39,9 +34,9 @@ typedef unsigned long u32;  #define TRANSFER_RELEASE	0x40  #define TRANSFER_ZERO		0x20 -void Transfer(u8 ep, const u8* data, int len); -void Recv(u8 ep, u8* dst, u8 len); -void Program(u8 ep, u16 page, u8 count); +void Transfer(uint8_t ep, const uint8_t* data, int len); +void Recv(uint8_t ep, uint8_t* dst, uint8_t len); +void Program(uint8_t ep, uint16_t page, uint8_t count);  /* HID is not fully-supported in the bootloader - can be enabled     for testing, but note the descriptor report and other parts are  diff --git a/bootloaders/diskloader/src/USBCore.cpp b/bootloaders/diskloader/src/USBCore.cpp index 160e6cf..ac5d081 100644 --- a/bootloaders/diskloader/src/USBCore.cpp +++ b/bootloaders/diskloader/src/USBCore.cpp @@ -31,8 +31,8 @@  /** Pulse generation counters to keep track of the number of milliseconds remaining for each pulse type */  #define TX_RX_LED_PULSE_MS 100 -u8 TxLEDPulse; /**< Milliseconds remaining for data Tx LED pulse */ -u8 RxLEDPulse; /**< Milliseconds remaining for data Rx LED pulse */ +uint8_t TxLEDPulse; /**< Milliseconds remaining for data Tx LED pulse */ +uint8_t RxLEDPulse; /**< Milliseconds remaining for data Rx LED pulse */  void Reset(); @@ -41,11 +41,11 @@ void Reset();  typedef struct  { -	u32	dwDTERate; -	u8	bCharFormat; -	u8 	bParityType; -	u8 	bDataBits; -	u8	lineState; +	uint32_t	dwDTERate; +	uint8_t	bCharFormat; +	uint8_t 	bParityType; +	uint8_t 	bDataBits; +	uint8_t	lineState;  } LineInfo;  static volatile LineInfo _usbLineInfo = { 57600, 0x00, 0x00, 0x00, 0x00 }; @@ -54,9 +54,9 @@ static volatile LineInfo _usbLineInfo = { 57600, 0x00, 0x00, 0x00, 0x00 };  //==================================================================  //	4 bytes of RAM -volatile u8 _usbConfiguration; -volatile u8 _ejected; -volatile u16 _timeout; +volatile uint8_t _usbConfiguration; +volatile uint8_t _ejected; +volatile uint16_t _timeout;  static inline void WaitIN(void)  { @@ -74,7 +74,7 @@ static inline void WaitOUT(void)  		;  } -static inline u8 WaitForINOrOUT() +static inline uint8_t WaitForINOrOUT()  {  	while (!(UEINTX & ((1<<TXINI)|(1<<RXOUTI))))  		; @@ -87,7 +87,7 @@ static inline void ClearOUT(void)  }  static -void Send(volatile const u8* data, u8 count) +void Send(volatile const uint8_t* data, uint8_t count)  {  	TX_LED_ON();					// light the TX LED  	TxLEDPulse = TX_RX_LED_PULSE_MS; @@ -95,7 +95,7 @@ void Send(volatile const u8* data, u8 count)  		UEDATX = *data++;  } -void Recv(volatile u8* data, u8 count) +void Recv(volatile uint8_t* data, uint8_t count)  {  	RX_LED_ON();					// light the RX LED  	RxLEDPulse = TX_RX_LED_PULSE_MS; @@ -103,31 +103,31 @@ void Recv(volatile u8* data, u8 count)  		*data++ = UEDATX;  } -static inline u8 Recv8() +static inline uint8_t Recv8()  {  	RX_LED_ON();					// light the RX LED  	RxLEDPulse = TX_RX_LED_PULSE_MS;  	return UEDATX;  } -static inline void Send8(u8 d) +static inline void Send8(uint8_t d)  {  	TX_LED_ON();					// light the TX LED  	TxLEDPulse = TX_RX_LED_PULSE_MS;  	UEDATX = d;  } -static inline void SetEP(u8 ep) +static inline void SetEP(uint8_t ep)  {  	UENUM = ep;  } -static inline u8 FifoByteCount() +static inline uint8_t FifoByteCount()  {  	return UEBCLX;  } -static inline u8 ReceivedSetupInt() +static inline uint8_t ReceivedSetupInt()  {  	return UEINTX & (1<<RXSTPI);  } @@ -142,17 +142,17 @@ static inline void Stall()  	UECONX = (1<<STALLRQ) | (1<<EPEN);  } -static inline u8 ReadWriteAllowed() +static inline uint8_t ReadWriteAllowed()  {  	return UEINTX & (1<<RWAL);  } -static inline u8 Stalled() +static inline uint8_t Stalled()  {  	return UEINTX & (1<<STALLEDI);  } -static inline u8 FifoFree() +static inline uint8_t FifoFree()  {  	return UEINTX & (1<<FIFOCON);  } @@ -167,7 +167,7 @@ static inline void ReleaseTX()  	UEINTX = 0x3A;	// FIFOCON=0 NAKINI=0 RWAL=1 NAKOUTI=1 RXSTPI=1 RXOUTI=0 STALLEDI=1 TXINI=0  } -static inline u8 FrameNumber() +static inline uint8_t FrameNumber()  {  	return UDFNUML;  } @@ -178,7 +178,7 @@ static inline u8 FrameNumber()  #define EP_SINGLE_64 0x32	// EP0  #define EP_DOUBLE_64 0x36	// Other endpoints -static void InitEP(u8 index, u8 type, u8 size) +static void InitEP(uint8_t index, uint8_t type, uint8_t size)  {  	UENUM = index;  	UECONX = 1; @@ -202,19 +202,19 @@ void USBInit(void)  	UDCON = 0;							// enable attach resistor  } -u8 USBGetConfiguration(void) +uint8_t USBGetConfiguration(void)  {  	return _usbConfiguration;  } -u8 HasData(u8 ep) +uint8_t HasData(uint8_t ep)  {  	SetEP(ep);  	return ReadWriteAllowed();	// count in fifo  }  int USBGetChar(); -void Recv(u8 ep, u8* dst, u8 len) +void Recv(uint8_t ep, uint8_t* dst, uint8_t len)  {  	SetEP(ep);  	while (len--) @@ -228,16 +228,16 @@ void Recv(u8 ep, u8* dst, u8 len)  }  //	Transmit a packet to endpoint -void Transfer(u8 ep, const u8* data, int len) +void Transfer(uint8_t ep, const uint8_t* data, int len)  { -	u8 zero = ep & TRANSFER_ZERO; +	uint8_t zero = ep & TRANSFER_ZERO;  	SetEP(ep & 7);  	while (len--)  	{  		while (!ReadWriteAllowed())  			;	// TODO Check for STALL etc -		u8 d = (ep & TRANSFER_PGM) ? pgm_read_byte(data) : data[0]; +		uint8_t d = (ep & TRANSFER_PGM) ? pgm_read_byte(data) : data[0];  		data++;  		if (zero)  			d = 0; @@ -250,8 +250,8 @@ void Transfer(u8 ep, const u8* data, int len)  		ReleaseTX();  } -extern const u8 _initEndpoints[] PROGMEM; -const u8 _initEndpoints[] =  +extern const uint8_t _initEndpoints[] PROGMEM; +const uint8_t _initEndpoints[] =   {  	0, @@ -266,7 +266,7 @@ const u8 _initEndpoints[] =  static void InitEndpoints()  { -	for (u8 i = 1; i < sizeof(_initEndpoints); i++) +	for (uint8_t i = 1; i < sizeof(_initEndpoints); i++)  	{  		UENUM = i;  		UECONX = 1; @@ -279,12 +279,12 @@ static void InitEndpoints()  typedef struct  { -	u8 bmRequestType; -	u8 bRequest; -	u8 wValueL; -	u8 wValueH; -	u16 wIndex; -	u16 wLength; +	uint8_t bmRequestType; +	uint8_t bRequest; +	uint8_t wValueL; +	uint8_t wValueH; +	uint16_t wIndex; +	uint16_t wLength;  } Setup;  Setup _setup; @@ -292,18 +292,18 @@ Setup _setup;  bool USBHook()  {  	Setup& setup = _setup; -	u8 r = setup.bRequest; +	uint8_t r = setup.bRequest;  	//	CDC Requests  	if (CDC_GET_LINE_CODING == r)  	{ -		Send((const volatile u8*)&_usbLineInfo,7); +		Send((const volatile uint8_t*)&_usbLineInfo,7);  	}  	else if (CDC_SET_LINE_CODING ==  r)  	{  		WaitOUT(); -		Recv((volatile u8*)&_usbLineInfo,7); +		Recv((volatile uint8_t*)&_usbLineInfo,7);  		ClearOUT();  	} @@ -315,7 +315,7 @@ bool USBHook()  	return true;  } -extern const u8 _rawHID[] PROGMEM; +extern const uint8_t _rawHID[] PROGMEM;  #define LSB(_x) ((_x) & 0xFF)  #define MSB(_x) ((_x) >> 8) @@ -324,7 +324,7 @@ extern const u8 _rawHID[] PROGMEM;  #define RAWHID_TX_SIZE 64  #define RAWHID_RX_SIZE 64 -const u8 _rawHID[] = +const uint8_t _rawHID[] =  {  	//	RAW HID  	0x06, LSB(RAWHID_USAGE_PAGE), MSB(RAWHID_USAGE_PAGE),	// 30 @@ -346,15 +346,15 @@ const u8 _rawHID[] =  	0xC0					// end collection  }; -u8 _cdcComposite = 0; +uint8_t _cdcComposite = 0;  bool SendDescriptor()  {  	Setup& setup = _setup; -	u16 desc_length = 0; -	const u8* desc_addr = 0; +	uint16_t desc_length = 0; +	const uint8_t* desc_addr = 0; -	u8 t = setup.wValueH; +	uint8_t t = setup.wValueH;  	if (0x22 == t)  	{  #ifdef HID_ENABLED		 @@ -363,23 +363,23 @@ bool SendDescriptor()  #endif  	} else if (USB_DEVICE_DESCRIPTOR_TYPE == t)  	{ -		desc_addr = (const u8*)&USB_DeviceDescriptor; +		desc_addr = (const uint8_t*)&USB_DeviceDescriptor;  	}  	else if (USB_CONFIGURATION_DESCRIPTOR_TYPE == t)  	{ -		desc_addr = (const u8*)&USB_ConfigDescriptor; +		desc_addr = (const uint8_t*)&USB_ConfigDescriptor;  		desc_length = sizeof(USB_ConfigDescriptor);  	}  	else if (USB_STRING_DESCRIPTOR_TYPE == t)  	{  		if (setup.wValueL == 0) -			desc_addr = (const u8*)&STRING_LANGUAGE; +			desc_addr = (const uint8_t*)&STRING_LANGUAGE;  		else if (setup.wValueL == IPRODUCT)  -			desc_addr = (const u8*)&STRING_IPRODUCT; +			desc_addr = (const uint8_t*)&STRING_IPRODUCT;  		else if (setup.wValueL == ISERIAL) -			desc_addr = (const u8*)&STRING_SERIAL; +			desc_addr = (const uint8_t*)&STRING_SERIAL;  		else if (setup.wValueL == IMANUFACTURER) -			desc_addr = (const u8*)&STRING_IMANUFACTURER; +			desc_addr = (const uint8_t*)&STRING_IMANUFACTURER;  		else  			return false;  	} else  @@ -393,13 +393,13 @@ bool SendDescriptor()  	//	Send descriptor  	//	EP0 is 64 bytes long  	//	RWAL and FIFOCON don't work on EP0 -	u16 n = 0; +	uint16_t n = 0;  	do  	{  		if (!WaitForINOrOUT())  			return false;  		Send8(pgm_read_byte(&desc_addr[n++])); -		u8 clr = n & 0x3F; +		uint8_t clr = n & 0x3F;  		if (!clr)  			ClearIN();	// Fifo is full, release this packet  	} while (n < desc_length); @@ -413,7 +413,7 @@ void USBSetupInterrupt()  		return;  	Setup& setup = _setup;	// global saves ~30 bytes -	Recv((u8*)&setup,8); +	Recv((uint8_t*)&setup,8);  	ClearSetupInt();  	if (setup.bmRequestType & DEVICETOHOST) @@ -422,7 +422,7 @@ void USBSetupInterrupt()  		ClearIN();      bool ok = true; -	u8 r = setup.bRequest; +	uint8_t r = setup.bRequest;  	if (SET_ADDRESS == r)  	{  		WaitIN(); @@ -458,7 +458,7 @@ void USBSetupInterrupt()  void USBGeneralInterrupt()  { -	u8 udint = UDINT; +	uint8_t udint = UDINT;  	UDINT = 0;  	//	End of Reset @@ -493,7 +493,7 @@ int USBGetChar()  		//	Read a char  		if (HasData(CDC_RX))  		{ -			u8 c = Recv8(); +			uint8_t c = Recv8();  			if (!ReadWriteAllowed())  				ReleaseRX();  			return c; diff --git a/bootloaders/diskloader/src/USBCore.h b/bootloaders/diskloader/src/USBCore.h index 537c0ec..313ae3b 100644 --- a/bootloaders/diskloader/src/USBCore.h +++ b/bootloaders/diskloader/src/USBCore.h @@ -97,32 +97,32 @@  //	Device  typedef struct { -	u8 len;				// 18 -	u8 dtype;			// 1 USB_DEVICE_DESCRIPTOR_TYPE -	u16 usbVersion;		// 0x200 -	u8	deviceClass; -	u8	deviceSubClass; -	u8	deviceProtocol; -	u8	packetSize0;	// Packet 0 -	u16	idVendor; -	u16	idProduct; -	u16	deviceVersion;	// 0x100 -	u8	iManufacturer; -	u8	iProduct; -	u8	iSerialNumber; -	u8	bNumConfigurations; +	uint8_t len;				// 18 +	uint8_t dtype;			// 1 USB_DEVICE_DESCRIPTOR_TYPE +	uint16_t usbVersion;		// 0x200 +	uint8_t	deviceClass; +	uint8_t	deviceSubClass; +	uint8_t	deviceProtocol; +	uint8_t	packetSize0;	// Packet 0 +	uint16_t	idVendor; +	uint16_t	idProduct; +	uint16_t	deviceVersion;	// 0x100 +	uint8_t	iManufacturer; +	uint8_t	iProduct; +	uint8_t	iSerialNumber; +	uint8_t	bNumConfigurations;  } DeviceDescriptor;  //	Config  typedef struct { -	u8	len;			// 9 -	u8	dtype;			// 2 -	u16 clen;			// total length -	u8	numInterfaces; -	u8	config; -	u8	iconfig; -	u8	attributes; -	u8	maxPower; +	uint8_t	len;			// 9 +	uint8_t	dtype;			// 2 +	uint16_t clen;			// total length +	uint8_t	numInterfaces; +	uint8_t	config; +	uint8_t	iconfig; +	uint8_t	attributes; +	uint8_t	maxPower;  } ConfigDescriptor;  //	String @@ -130,58 +130,58 @@ typedef struct {  //	Interface  typedef struct  { -	u8 len;		// 9 -	u8 dtype;	// 4 -	u8 number; -	u8 alternate; -	u8 numEndpoints; -	u8 interfaceClass; -	u8 interfaceSubClass; -	u8 protocol; -	u8 iInterface; +	uint8_t len;		// 9 +	uint8_t dtype;	// 4 +	uint8_t number; +	uint8_t alternate; +	uint8_t numEndpoints; +	uint8_t interfaceClass; +	uint8_t interfaceSubClass; +	uint8_t protocol; +	uint8_t iInterface;  } InterfaceDescriptor;  //	Endpoint  typedef struct  { -	u8 len;		// 7 -	u8 dtype;	// 5 -	u8 addr; -	u8 attr; -	u16 packetSize; -	u8 interval; +	uint8_t len;		// 7 +	uint8_t dtype;	// 5 +	uint8_t addr; +	uint8_t attr; +	uint16_t packetSize; +	uint8_t interval;  } EndpointDescriptor;  // Interface Association Descriptor  // Used to bind 2 interfaces together in CDC compostite device  typedef struct  { -	u8 len;				// 8 -	u8 dtype;			// 11 -	u8 firstInterface; -	u8 interfaceCount; -	u8 functionClass; -	u8 funtionSubClass; -	u8 functionProtocol; -	u8 iInterface; +	uint8_t len;				// 8 +	uint8_t dtype;			// 11 +	uint8_t firstInterface; +	uint8_t interfaceCount; +	uint8_t functionClass; +	uint8_t funtionSubClass; +	uint8_t functionProtocol; +	uint8_t iInterface;  } IADDescriptor;  //	CDC CS interface descriptor  typedef struct  { -	u8 len;		// 5 -	u8 dtype;	// 0x24 -	u8 subtype; -	u8 d0; -	u8 d1; +	uint8_t len;		// 5 +	uint8_t dtype;	// 0x24 +	uint8_t subtype; +	uint8_t d0; +	uint8_t d1;  } CDCCSInterfaceDescriptor;  typedef struct  { -	u8 len;		// 4 -	u8 dtype;	// 0x24 -	u8 subtype; -	u8 d0; +	uint8_t len;		// 4 +	uint8_t dtype;	// 0x24 +	uint8_t subtype; +	uint8_t d0;  } CDCCSInterfaceDescriptor4;  typedef struct  @@ -204,15 +204,15 @@ typedef struct  typedef struct  { -	u8 len;			// 9 -	u8 dtype;		// 0x21 -	u8 addr; -	u8	versionL;	// 0x101 -	u8	versionH;	// 0x101 -	u8	country; -	u8	desctype;	// 0x22 report -	u8	descLenL; -	u8	descLenH; +	uint8_t len;			// 9 +	uint8_t dtype;		// 0x21 +	uint8_t addr; +	uint8_t	versionL;	// 0x101 +	uint8_t	versionH;	// 0x101 +	uint8_t	country; +	uint8_t	desctype;	// 0x22 report +	uint8_t	descLenL; +	uint8_t	descLenH;  } HIDDescDescriptor;  typedef struct  diff --git a/bootloaders/diskloader/src/USBDesc.cpp b/bootloaders/diskloader/src/USBDesc.cpp index b143687..7160868 100644 --- a/bootloaders/diskloader/src/USBDesc.cpp +++ b/bootloaders/diskloader/src/USBDesc.cpp @@ -22,17 +22,17 @@  //====================================================================================================  //	Actual device descriptors -const u16 STRING_LANGUAGE[2] = { +const uint16_t STRING_LANGUAGE[2] = {  	(3<<8) | (2+2),  	0x0409	// English  }; -const u16 STRING_SERIAL[13] = { +const uint16_t STRING_SERIAL[13] = {  	(3<<8) | (2+2*12),  	USB_SERIAL_STRING  }; -const u16 STRING_IPRODUCT[28] = { +const uint16_t STRING_IPRODUCT[28] = {  	(3<<8) | (2+2*27),  #if USB_PID == USB_PID_LEONARDO	  	'A','r','d','u','i','n','o',' ','L','e','o','n','a','r','d','o',' ','b','o','o','t','l','o','a','d','e','r' @@ -41,7 +41,7 @@ const u16 STRING_IPRODUCT[28] = {  #endif  }; -const u16 STRING_IMANUFACTURER[12] = { +const uint16_t STRING_IMANUFACTURER[12] = {  	(3<<8) | (2+2*11),  	'A','r','d','u','i','n','o',' ','L','L','C'  }; diff --git a/bootloaders/diskloader/src/USBDesc.h b/bootloaders/diskloader/src/USBDesc.h index 3a7fc55..fa962e9 100644 --- a/bootloaders/diskloader/src/USBDesc.h +++ b/bootloaders/diskloader/src/USBDesc.h @@ -47,10 +47,10 @@ extern Config USB_ConfigDescriptor PROGMEM;  extern DeviceDescriptor USB_DeviceDescriptor PROGMEM;  extern DeviceDescriptor USB_DeviceDescriptorA PROGMEM; -extern const u16 STRING_LANGUAGE[2] PROGMEM; -extern const u16 STRING_IPRODUCT[28] PROGMEM; -extern const u16 STRING_IMANUFACTURER[12] PROGMEM; -extern const u16 STRING_SERIAL[13] PROGMEM; +extern const uint16_t STRING_LANGUAGE[2] PROGMEM; +extern const uint16_t STRING_IPRODUCT[28] PROGMEM; +extern const uint16_t STRING_IMANUFACTURER[12] PROGMEM; +extern const uint16_t STRING_SERIAL[13] PROGMEM;  #define IMANUFACTURER	1  #define IPRODUCT		2  | 
