projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add LOAD ADDRESS command parsing to the V2 Protocol hander in the AVRISP project.
[pub/USBasp.git]
/
LUFA
/
Drivers
/
USB
/
LowLevel
/
DevChapter9.c
diff --git
a/LUFA/Drivers/USB/LowLevel/DevChapter9.c
b/LUFA/Drivers/USB/LowLevel/DevChapter9.c
index
8de4bd6
..
fa35a1b
100644
(file)
--- a/
LUFA/Drivers/USB/LowLevel/DevChapter9.c
+++ b/
LUFA/Drivers/USB/LowLevel/DevChapter9.c
@@
-39,7
+39,7
@@
uint8_t USB_ConfigurationNumber;
bool USB_RemoteWakeupEnabled;
\r
bool USB_CurrentlySelfPowered;
\r
\r
bool USB_RemoteWakeupEnabled;
\r
bool USB_CurrentlySelfPowered;
\r
\r
-void USB_Device_ProcessControl
Packe
t(void)
\r
+void USB_Device_ProcessControl
Reques
t(void)
\r
{
\r
bool RequestHandled = false;
\r
uint8_t* RequestHeader = (uint8_t*)&USB_ControlRequest;
\r
{
\r
bool RequestHandled = false;
\r
uint8_t* RequestHeader = (uint8_t*)&USB_ControlRequest;
\r
@@
-106,7
+106,7
@@
void USB_Device_ProcessControlPacket(void)
}
\r
\r
if (!(RequestHandled))
\r
}
\r
\r
if (!(RequestHandled))
\r
- EVENT_USB_
UnhandledControlPacke
t();
\r
+ EVENT_USB_
Device_UnhandledControlReques
t();
\r
\r
if (Endpoint_IsSETUPReceived())
\r
{
\r
\r
if (Endpoint_IsSETUPReceived())
\r
{
\r
@@
-139,10
+139,8
@@
static void USB_Device_SetAddress(void)
\r
static void USB_Device_SetConfiguration(void)
\r
{
\r
\r
static void USB_Device_SetConfiguration(void)
\r
{
\r
- bool AlreadyConfigured = (USB_ConfigurationNumber != 0);
\r
-
\r
-#if defined(TOTAL_NUM_CONFIGURATIONS)
\r
- if ((uint8_t)USB_ControlRequest.wValue > TOTAL_NUM_CONFIGURATIONS)
\r
+#if defined(FIXED_NUM_CONFIGURATIONS)
\r
+ if ((uint8_t)USB_ControlRequest.wValue > FIXED_NUM_CONFIGURATIONS)
\r
return;
\r
#else
\r
#if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)
\r
return;
\r
#else
\r
#if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)
\r
@@
-195,18
+193,11
@@
static void USB_Device_SetConfiguration(void)
Endpoint_ClearIN();
\r
\r
if (USB_ConfigurationNumber)
\r
Endpoint_ClearIN();
\r
\r
if (USB_ConfigurationNumber)
\r
- {
\r
- USB_DeviceState = DEVICE_STATE_Configured;
\r
-
\r
- if (!(AlreadyConfigured))
\r
- EVENT_USB_DeviceEnumerationComplete();
\r
- }
\r
+ USB_DeviceState = DEVICE_STATE_Configured;
\r
else
\r
else
\r
- {
\r
- USB_DeviceState = DEVICE_STATE_Addressed;
\r
- }
\r
+ USB_DeviceState = DEVICE_STATE_Addressed;
\r
\r
\r
- EVENT_USB_ConfigurationChanged();
\r
+ EVENT_USB_
Device_
ConfigurationChanged();
\r
}
\r
\r
void USB_Device_GetConfiguration(void)
\r
}
\r
\r
void USB_Device_GetConfiguration(void)
\r
@@
-227,16
+218,19
@@
void USB_Device_GetConfiguration(void)
}
\r
\r
#if !defined(NO_INTERNAL_SERIAL) && (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
\r
}
\r
\r
#if !defined(NO_INTERNAL_SERIAL) && (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))
\r
+static char USB_Device_NibbleToASCII(uint8_t Nibble)
\r
+{
\r
+ Nibble = ((Nibble & 0x0F) + '0');
\r
+ return (Nibble > '9') ? (Nibble + ('A' - '9' - 1)) : Nibble;
\r
+}
\r
+
\r
static void USB_Device_GetInternalSerialDescriptor(void)
\r
{
\r
struct
\r
{
\r
USB_Descriptor_Header_t Header;
\r
static void USB_Device_GetInternalSerialDescriptor(void)
\r
{
\r
struct
\r
{
\r
USB_Descriptor_Header_t Header;
\r
- int16_t UnicodeString[
12
];
\r
+ int16_t UnicodeString[
20
];
\r
} SignatureDescriptor;
\r
} SignatureDescriptor;
\r
-
\r
- uint8_t SigReadAddress = 0x0E;
\r
- bool OddNibbleRead = false;
\r
\r
#if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES)
\r
SignatureDescriptor.Header.Size = sizeof(SignatureDescriptor);
\r
\r
#if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES)
\r
SignatureDescriptor.Header.Size = sizeof(SignatureDescriptor);
\r
@@
-246,28
+240,19
@@
static void USB_Device_GetInternalSerialDescriptor(void)
SignatureDescriptor.Header.bDescriptorType = DTYPE_String;
\r
#endif
\r
\r
SignatureDescriptor.Header.bDescriptorType = DTYPE_String;
\r
#endif
\r
\r
- for (uint8_t SerialCharNum = 0; SerialCharNum < 12; SerialCharNum++)
\r
+ uint8_t SigReadAddress = 0x0E;
\r
+
\r
+ for (uint8_t SerialCharNum = 0; SerialCharNum < 20; SerialCharNum++)
\r
{
\r
uint8_t SerialByte = boot_signature_byte_get(SigReadAddress);
\r
\r
{
\r
uint8_t SerialByte = boot_signature_byte_get(SigReadAddress);
\r
\r
- if (
OddNibbleRead
)
\r
+ if (
SerialCharNum & 0x01
)
\r
{
\r
SerialByte >>= 4;
\r
SigReadAddress++;
\r
}
\r
{
\r
SerialByte >>= 4;
\r
SigReadAddress++;
\r
}
\r
- else
\r
- {
\r
- SerialByte &= 0x0F;
\r
- }
\r
\r
\r
- OddNibbleRead = !(OddNibbleRead);
\r
-
\r
- if (SerialByte < 0x0A)
\r
- SerialByte += '0';
\r
- else
\r
- SerialByte += ('A' - 0x0A);
\r
-
\r
- SignatureDescriptor.UnicodeString[SerialCharNum] = SerialByte;
\r
+ SignatureDescriptor.UnicodeString[SerialCharNum] = USB_Device_NibbleToASCII(SerialByte);
\r
}
\r
\r
Endpoint_ClearSETUP();
\r
}
\r
\r
Endpoint_ClearSETUP();
\r
@@
-347,6
+332,8
@@
static void USB_Device_GetStatus(void)
\r
break;
\r
#endif
\r
\r
break;
\r
#endif
\r
+ default:
\r
+ return;
\r
}
\r
\r
Endpoint_ClearSETUP();
\r
}
\r
\r
Endpoint_ClearSETUP();
\r