mirror of
git://projects.qi-hardware.com/ben-wpan.git
synced 2025-04-21 12:27:27 +03:00
atusb/fw: use the unique serial number of the ATmega8/16/32U2 for iSerialNumber
- usb/usb.h (USB_LANGID_ENGLISH_US): added USB LANGID for US-English - board.h (board_sernum), board.c (board_sernum, hex, get_sernum, board_init): provide the board's serial number in "board_sernum" (UTF-encoded) - sernum.h (sernum_get_descr), sernum.c (sernum_get_descr): return string descriptors for the serial number - descr.c (device_descriptor), usb/dfu.c (device_descriptor): set iSerialNumber if serial number is available - atusb.c (main), usb/dfu.c (my_descr): call sernum_get_descr for unknown descriptors - Makefile (OBJS, BOOT_OBJS): added sernum.o
This commit is contained in:
@@ -31,6 +31,7 @@
|
||||
#include "dfu.h"
|
||||
|
||||
#include "../board.h"
|
||||
#include "../sernum.h"
|
||||
|
||||
|
||||
#ifndef NULL
|
||||
@@ -54,7 +55,11 @@ const uint8_t device_descriptor[] = {
|
||||
LE(0x0001), /* bcdDevice */
|
||||
0, /* iManufacturer */
|
||||
0, /* iProduct */
|
||||
#ifdef HAS_BOARD_SERNUM
|
||||
1, /* iSerialNumber */
|
||||
#else
|
||||
0, /* iSerialNumber */
|
||||
#endif
|
||||
1 /* bNumConfigurations */
|
||||
};
|
||||
|
||||
@@ -262,7 +267,7 @@ static int my_descr(uint8_t type, uint8_t index, const uint8_t **reply,
|
||||
uint8_t *size)
|
||||
{
|
||||
if (type != DFU_DT_FUNCTIONAL)
|
||||
return 0;
|
||||
return sernum_get_descr(type, index, reply, size);
|
||||
*reply = functional_descriptor;
|
||||
*size = sizeof(functional_descriptor);
|
||||
return 1;
|
||||
|
||||
Reference in New Issue
Block a user