From 9e34144c9b7454ab69215c17d75a8ba2dcdcb929 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Wed, 28 Apr 2010 14:33:10 +0000 Subject: [PATCH] Use puts_P() and printf_P() instead of the normal variants where possible in the Host mode Class Driver demos. --- Bootloaders/makefile | 18 ++++----- Demos/Device/makefile | 4 +- .../JoystickHostWithParser.c | 10 ++--- .../ClassDriver/KeyboardHost/KeyboardHost.c | 10 ++--- .../KeyboardHostWithParser.c | 10 ++--- Demos/Host/ClassDriver/MIDIHost/MIDIHost.c | 8 ++-- .../MassStorageHost/MassStorageHost.c | 40 +++++++++---------- Demos/Host/ClassDriver/MouseHost/MouseHost.c | 10 ++--- .../MouseHostWithParser/MouseHostWithParser.c | 10 ++--- .../ClassDriver/PrinterHost/PrinterHost.c | 18 ++++----- .../RNDISEthernetHost/RNDISEthernetHost.c | 22 +++++----- .../StillImageHost/StillImageHost.c | 22 +++++----- .../VirtualSerialHost/VirtualSerialHost.c | 8 ++-- Demos/Host/makefile | 4 +- Demos/makefile | 6 +-- LUFA/Common/Common.h | 16 ++++---- LUFA/Drivers/USB/Class/Host/MassStorage.c | 14 ++----- LUFA/ManPages/ChangeLog.txt | 1 + makefile | 8 ++-- 19 files changed, 117 insertions(+), 122 deletions(-) diff --git a/Bootloaders/makefile b/Bootloaders/makefile index 80017d6c60..586634249b 100644 --- a/Bootloaders/makefile +++ b/Bootloaders/makefile @@ -14,16 +14,16 @@ # code. all: - make -C 'DFU/' clean - make -C 'DFU/' all + make -C DFU clean + make -C DFU all - make -C 'CDC/' clean - make -C 'CDC/' all + make -C CDC clean + make -C CDC all - make -C 'TeensyHID/' clean - make -C 'TeensyHID/' all + make -C TeensyHID clean + make -C TeensyHID all %: - make -C 'DFU/' $@ - make -C 'CDC/' $@ - make -C 'TeensyHID/' $@ + make -C DFU $@ + make -C CDC $@ + make -C TeensyHID $@ diff --git a/Demos/Device/makefile b/Demos/Device/makefile index 6a0c0ef8ee..7d2b91d868 100644 --- a/Demos/Device/makefile +++ b/Demos/Device/makefile @@ -14,5 +14,5 @@ # code. %: - make -C ClassDriver/ $@ - make -C LowLevel/ $@ + make -C ClassDriver $@ + make -C LowLevel $@ diff --git a/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c b/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c index 32c9b698f8..7be38dd855 100644 --- a/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c +++ b/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c @@ -85,7 +85,7 @@ int main(void) if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData, sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful) { - printf("Error Retrieving Configuration Descriptor.\r\n"); + puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -94,7 +94,7 @@ int main(void) if (HID_Host_ConfigurePipes(&Joystick_HID_Interface, ConfigDescriptorSize, ConfigDescriptorData) != HID_ENUMERROR_NoError) { - printf("Attached Device Not a Valid Joystick.\r\n"); + puts_P(PSTR("Attached Device Not a Valid Joystick.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -102,7 +102,7 @@ int main(void) if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Configuration.\r\n"); + puts_P(PSTR("Error Setting Device Configuration.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -110,13 +110,13 @@ int main(void) if (HID_Host_SetReportProtocol(&Joystick_HID_Interface) != 0) { - printf("Error Setting Report Protocol Mode or Not a Valid Joystick.\r\n"); + puts_P(PSTR("Error Setting Report Protocol Mode or Not a Valid Joystick.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Joystick Enumerated.\r\n"); + puts_P(PSTR("Joystick Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); USB_HostState = HOST_STATE_Configured; break; diff --git a/Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.c b/Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.c index 61292a4d02..c79c1005e7 100644 --- a/Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.c +++ b/Demos/Host/ClassDriver/KeyboardHost/KeyboardHost.c @@ -80,7 +80,7 @@ int main(void) if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData, sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful) { - printf("Error Retrieving Configuration Descriptor.\r\n"); + puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -89,7 +89,7 @@ int main(void) if (HID_Host_ConfigurePipes(&Keyboard_HID_Interface, ConfigDescriptorSize, ConfigDescriptorData) != HID_ENUMERROR_NoError) { - printf("Attached Device Not a Valid Keyboard.\r\n"); + puts_P(PSTR("Attached Device Not a Valid Keyboard.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -97,7 +97,7 @@ int main(void) if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Configuration.\r\n"); + puts_P(PSTR("Error Setting Device Configuration.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -105,13 +105,13 @@ int main(void) if (HID_Host_SetBootProtocol(&Keyboard_HID_Interface) != 0) { - printf("Could not Set Boot Protocol Mode.\r\n"); + puts_P(PSTR("Could not Set Boot Protocol Mode.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Keyboard Enumerated.\r\n"); + puts_P(PSTR("Keyboard Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); USB_HostState = HOST_STATE_Configured; break; diff --git a/Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.c b/Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.c index 531757a4ae..91ca844779 100644 --- a/Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.c +++ b/Demos/Host/ClassDriver/KeyboardHostWithParser/KeyboardHostWithParser.c @@ -85,7 +85,7 @@ int main(void) if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData, sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful) { - printf("Error Retrieving Configuration Descriptor.\r\n"); + puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -94,7 +94,7 @@ int main(void) if (HID_Host_ConfigurePipes(&Keyboard_HID_Interface, ConfigDescriptorSize, ConfigDescriptorData) != HID_ENUMERROR_NoError) { - printf("Attached Device Not a Valid Keyboard.\r\n"); + puts_P(PSTR("Attached Device Not a Valid Keyboard.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -102,7 +102,7 @@ int main(void) if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Configuration.\r\n"); + puts_P(PSTR("Error Setting Device Configuration.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -110,13 +110,13 @@ int main(void) if (HID_Host_SetReportProtocol(&Keyboard_HID_Interface) != 0) { - printf("Error Setting Report Protocol Mode or Not a Valid Keyboard.\r\n"); + puts_P(PSTR("Error Setting Report Protocol Mode or Not a Valid Keyboard.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Keyboard Enumerated.\r\n"); + puts_P(PSTR("Keyboard Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); USB_HostState = HOST_STATE_Configured; break; diff --git a/Demos/Host/ClassDriver/MIDIHost/MIDIHost.c b/Demos/Host/ClassDriver/MIDIHost/MIDIHost.c index 8fbf31b86d..6f30fa3c55 100644 --- a/Demos/Host/ClassDriver/MIDIHost/MIDIHost.c +++ b/Demos/Host/ClassDriver/MIDIHost/MIDIHost.c @@ -78,7 +78,7 @@ int main(void) if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData, sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful) { - printf("Error Retrieving Configuration Descriptor.\r\n"); + puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -87,7 +87,7 @@ int main(void) if (MIDI_Host_ConfigurePipes(&Keyboard_MIDI_Interface, ConfigDescriptorSize, ConfigDescriptorData) != MIDI_ENUMERROR_NoError) { - printf("Attached Device Not a Valid MIDI Class Device.\r\n"); + puts_P(PSTR("Attached Device Not a Valid MIDI Class Device.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -95,13 +95,13 @@ int main(void) if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Configuration.\r\n"); + puts_P(PSTR("Error Setting Device Configuration.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("MIDI Device Enumerated.\r\n"); + puts_P(PSTR("MIDI Device Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); USB_HostState = HOST_STATE_Configured; break; diff --git a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c index a442c1b47c..8b012b4dc1 100644 --- a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c +++ b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c @@ -78,7 +78,7 @@ int main(void) if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData, sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful) { - printf("Error Retrieving Configuration Descriptor.\r\n"); + puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -87,7 +87,7 @@ int main(void) if (MS_Host_ConfigurePipes(&FlashDisk_MS_Interface, ConfigDescriptorSize, ConfigDescriptorData) != MS_ENUMERROR_NoError) { - printf("Attached Device Not a Valid Mass Storage Device.\r\n"); + puts_P(PSTR("Attached Device Not a Valid Mass Storage Device.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -95,13 +95,13 @@ int main(void) if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Configuration.\r\n"); + puts_P(PSTR("Error Setting Device Configuration.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Mass Storage Device Enumerated.\r\n"); + puts_P(PSTR("Mass Storage Device Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); USB_HostState = HOST_STATE_Configured; break; @@ -111,17 +111,17 @@ int main(void) uint8_t MaxLUNIndex; if (MS_Host_GetMaxLUN(&FlashDisk_MS_Interface, &MaxLUNIndex)) { - printf("Error retrieving max LUN index.\r\n"); + puts_P(PSTR("Error retrieving max LUN index.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Total LUNs: %d - Using first LUN in device.\r\n", (MaxLUNIndex + 1)); + printf_P(PSTR("Total LUNs: %d - Using first LUN in device.\r\n"), (MaxLUNIndex + 1)); if (MS_Host_ResetMSInterface(&FlashDisk_MS_Interface)) { - printf("Error resetting Mass Storage interface.\r\n"); + puts_P(PSTR("Error resetting Mass Storage interface.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -130,7 +130,7 @@ int main(void) SCSI_Request_Sense_Response_t SenseData; if (MS_Host_RequestSense(&FlashDisk_MS_Interface, 0, &SenseData) != 0) { - printf("Error retrieving device sense.\r\n"); + puts_P(PSTR("Error retrieving device sense.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -138,7 +138,7 @@ int main(void) if (MS_Host_PreventAllowMediumRemoval(&FlashDisk_MS_Interface, 0, true)) { - printf("Error setting Prevent Device Removal bit.\r\n"); + puts_P(PSTR("Error setting Prevent Device Removal bit.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -147,15 +147,15 @@ int main(void) SCSI_Inquiry_Response_t InquiryData; if (MS_Host_GetInquiryData(&FlashDisk_MS_Interface, 0, &InquiryData)) { - printf("Error retrieving device Inquiry data.\r\n"); + puts_P(PSTR("Error retrieving device Inquiry data.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Vendor \"%.8s\", Product \"%.16s\"\r\n", InquiryData.VendorID, InquiryData.ProductID); + printf_P(PSTR("Vendor \"%.8s\", Product \"%.16s\"\r\n"), InquiryData.VendorID, InquiryData.ProductID); - printf("Waiting until ready...\r\n"); + puts_P(PSTR("Waiting until ready...\r\n")); for (;;) { @@ -167,37 +167,37 @@ int main(void) /* Check if an error other than a logical command error (device busy) received */ if (ErrorCode != MS_ERROR_LOGICAL_CMD_FAILED) { - printf("Error waiting for device to be ready.\r\n"); + puts_P(PSTR("Error waiting for device to be ready.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } } - printf("Retrieving Capacity... "); + puts_P(PSTR("Retrieving Capacity...\r\n")); SCSI_Capacity_t DiskCapacity; if (MS_Host_ReadDeviceCapacity(&FlashDisk_MS_Interface, 0, &DiskCapacity)) { - printf("Error retrieving device capacity.\r\n"); + puts_P(PSTR("Error retrieving device capacity.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("%lu blocks of %lu bytes.\r\n", DiskCapacity.Blocks, DiskCapacity.BlockSize); + printf_P(PSTR("%lu blocks of %lu bytes.\r\n"), DiskCapacity.Blocks, DiskCapacity.BlockSize); uint8_t BlockBuffer[DiskCapacity.BlockSize]; if (MS_Host_ReadDeviceBlocks(&FlashDisk_MS_Interface, 0, 0x00000000, 1, DiskCapacity.BlockSize, BlockBuffer)) { - printf("Error reading device block.\r\n"); + puts_P(PSTR("Error reading device block.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("\r\nContents of first block:\r\n"); + puts_P(PSTR("\r\nContents of first block:")); for (uint16_t Chunk = 0; Chunk < (DiskCapacity.BlockSize >> 4); Chunk++) { @@ -210,7 +210,7 @@ int main(void) printf_P(PSTR("%.2X "), CurrByte); } - printf(" "); + printf_P(PSTR(" ")); /* Print out the 16 bytes of the chunk in ASCII format */ for (uint8_t ByteOffset = 0; ByteOffset < (1 << 4); ByteOffset++) @@ -219,7 +219,7 @@ int main(void) putchar(isprint(CurrByte) ? CurrByte : '.'); } - printf("\r\n"); + printf_P(PSTR("\r\n")); } LEDs_SetAllLEDs(LEDMASK_USB_READY); diff --git a/Demos/Host/ClassDriver/MouseHost/MouseHost.c b/Demos/Host/ClassDriver/MouseHost/MouseHost.c index af75d4ba54..2c42e64056 100644 --- a/Demos/Host/ClassDriver/MouseHost/MouseHost.c +++ b/Demos/Host/ClassDriver/MouseHost/MouseHost.c @@ -80,7 +80,7 @@ int main(void) if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData, sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful) { - printf("Error Retrieving Configuration Descriptor.\r\n"); + puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -89,7 +89,7 @@ int main(void) if (HID_Host_ConfigurePipes(&Mouse_HID_Interface, ConfigDescriptorSize, ConfigDescriptorData) != HID_ENUMERROR_NoError) { - printf("Attached Device Not a Valid Mouse.\r\n"); + puts_P(PSTR("Attached Device Not a Valid Mouse.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -97,7 +97,7 @@ int main(void) if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Configuration.\r\n"); + puts_P(PSTR("Error Setting Device Configuration.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -105,13 +105,13 @@ int main(void) if (HID_Host_SetBootProtocol(&Mouse_HID_Interface) != 0) { - printf("Could not Set Boot Protocol Mode.\r\n"); + puts_P(PSTR("Could not Set Boot Protocol Mode.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Mouse Enumerated.\r\n"); + puts_P(PSTR("Mouse Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); USB_HostState = HOST_STATE_Configured; break; diff --git a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c index 296f86bfb5..40a74f511e 100644 --- a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c +++ b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c @@ -85,7 +85,7 @@ int main(void) if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData, sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful) { - printf("Error Retrieving Configuration Descriptor.\r\n"); + puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -94,7 +94,7 @@ int main(void) if (HID_Host_ConfigurePipes(&Mouse_HID_Interface, ConfigDescriptorSize, ConfigDescriptorData) != HID_ENUMERROR_NoError) { - printf("Attached Device Not a Valid Mouse.\r\n"); + puts_P(PSTR("Attached Device Not a Valid Mouse.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -102,7 +102,7 @@ int main(void) if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Configuration.\r\n"); + puts_P(PSTR("Error Setting Device Configuration.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -110,13 +110,13 @@ int main(void) if (HID_Host_SetReportProtocol(&Mouse_HID_Interface) != 0) { - printf("Error Setting Report Protocol Mode or Not a Valid Mouse.\r\n"); + puts_P(PSTR("Error Setting Report Protocol Mode or Not a Valid Mouse.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Mouse Enumerated.\r\n"); + puts_P(PSTR("Mouse Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); USB_HostState = HOST_STATE_Configured; break; diff --git a/Demos/Host/ClassDriver/PrinterHost/PrinterHost.c b/Demos/Host/ClassDriver/PrinterHost/PrinterHost.c index d2baad6200..df71f4cb2b 100644 --- a/Demos/Host/ClassDriver/PrinterHost/PrinterHost.c +++ b/Demos/Host/ClassDriver/PrinterHost/PrinterHost.c @@ -77,7 +77,7 @@ int main(void) if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData, sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful) { - printf("Error Retrieving Configuration Descriptor.\r\n"); + puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -86,7 +86,7 @@ int main(void) if (PRNT_Host_ConfigurePipes(&Printer_PRNT_Interface, ConfigDescriptorSize, ConfigDescriptorData) != PRNT_ENUMERROR_NoError) { - printf("Attached Device Not a Valid Printer Class Device.\r\n"); + puts_P(PSTR("Attached Device Not a Valid Printer Class Device.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -94,7 +94,7 @@ int main(void) if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Configuration.\r\n"); + puts_P(PSTR("Error Setting Device Configuration.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -102,32 +102,32 @@ int main(void) if (PRNT_Host_SetBidirectionalMode(&Printer_PRNT_Interface) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Bidirectional Mode.\r\n"); + puts_P(PSTR("Error Setting Bidirectional Mode.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Printer Device Enumerated.\r\n"); + puts_P(PSTR("Printer Device Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); USB_HostState = HOST_STATE_Configured; break; case HOST_STATE_Configured: LEDs_SetAllLEDs(LEDMASK_USB_BUSY); - printf("Retrieving Device ID...\r\n"); + puts_P(PSTR("Retrieving Device ID...\r\n")); char DeviceIDString[300]; if (PRNT_Host_GetDeviceID(&Printer_PRNT_Interface, DeviceIDString, sizeof(DeviceIDString)) != HOST_SENDCONTROL_Successful) { - printf("Error Getting Device ID.\r\n"); + puts_P(PSTR("Error Getting Device ID.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Device ID: %s.\r\n", DeviceIDString); + printf_P(PSTR("Device ID: %s.\r\n"), DeviceIDString); char TestPageData[] = "\033%-12345X\033E" "LUFA PCL Test Page" "\033E\033%-12345X"; uint16_t TestPageLength = strlen(TestPageData); @@ -136,7 +136,7 @@ int main(void) if (PRNT_Host_SendData(&Printer_PRNT_Interface, &TestPageData, TestPageLength) != PIPE_RWSTREAM_NoError) { - printf("Error Sending Page Data.\r\n"); + puts_P(PSTR("Error Sending Page Data.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; diff --git a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.c b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.c index f5c3e4256f..c4f2d0e21b 100644 --- a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.c +++ b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.c @@ -85,7 +85,7 @@ int main(void) if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData, sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful) { - printf("Error Retrieving Configuration Descriptor.\r\n"); + puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -94,7 +94,7 @@ int main(void) if (RNDIS_Host_ConfigurePipes(&Ethernet_RNDIS_Interface, ConfigDescriptorSize, ConfigDescriptorData) != RNDIS_ENUMERROR_NoError) { - printf("Attached Device Not a Valid RNDIS Class Device.\r\n"); + puts_P(PSTR("Attached Device Not a Valid RNDIS Class Device.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -102,7 +102,7 @@ int main(void) if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Configuration.\r\n"); + puts_P(PSTR("Error Setting Device Configuration.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -110,20 +110,20 @@ int main(void) if (RNDIS_Host_InitializeDevice(&Ethernet_RNDIS_Interface) != HOST_SENDCONTROL_Successful) { - printf("Error Initializing Device.\r\n"); + puts_P(PSTR("Error Initializing Device.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Device Max Transfer Size: %lu bytes.\r\n", Ethernet_RNDIS_Interface.State.DeviceMaxPacketSize); + printf_P(PSTR("Device Max Transfer Size: %lu bytes.\r\n"), Ethernet_RNDIS_Interface.State.DeviceMaxPacketSize); uint32_t PacketFilter = (REMOTE_NDIS_PACKET_DIRECTED | REMOTE_NDIS_PACKET_BROADCAST | REMOTE_NDIS_PACKET_ALL_MULTICAST); if (RNDIS_Host_SetRNDISProperty(&Ethernet_RNDIS_Interface, OID_GEN_CURRENT_PACKET_FILTER, &PacketFilter, sizeof(PacketFilter)) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Packet Filter.\r\n"); + puts_P(PSTR("Error Setting Device Packet Filter.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; @@ -134,16 +134,16 @@ int main(void) if (RNDIS_Host_QueryRNDISProperty(&Ethernet_RNDIS_Interface, OID_GEN_VENDOR_ID, &VendorID, sizeof(VendorID)) != HOST_SENDCONTROL_Successful) { - printf("Error Getting Vendor ID.\r\n"); + puts_P(PSTR("Error Getting Vendor ID.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Device Vendor ID: 0x%08lX\r\n", VendorID); + printf_P(PSTR("Device Vendor ID: 0x%08lX\r\n"), VendorID); - printf("RNDIS Device Enumerated.\r\n"); + puts_P(PSTR("RNDIS Device Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); USB_HostState = HOST_STATE_Configured; break; @@ -168,12 +168,12 @@ void PrintIncomingPackets(void) uint16_t PacketLength; RNDIS_Host_ReadPacket(&Ethernet_RNDIS_Interface, &PacketBuffer, &PacketLength); - printf("***PACKET (Size %d)***\r\n", PacketLength); + printf_P(PSTR("***PACKET (Size %d)***\r\n"), PacketLength); for (uint16_t i = 0; i < PacketLength; i++) printf("%02x ", PacketBuffer[i]); - printf("\r\n\r\n"); + printf_P(PSTR("\r\n\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); } diff --git a/Demos/Host/ClassDriver/StillImageHost/StillImageHost.c b/Demos/Host/ClassDriver/StillImageHost/StillImageHost.c index 81bfbe4212..944b7fe17f 100644 --- a/Demos/Host/ClassDriver/StillImageHost/StillImageHost.c +++ b/Demos/Host/ClassDriver/StillImageHost/StillImageHost.c @@ -80,7 +80,7 @@ int main(void) if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData, sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful) { - printf("Error Retrieving Configuration Descriptor.\r\n"); + puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -89,7 +89,7 @@ int main(void) if (SImage_Host_ConfigurePipes(&DigitalCamera_SI_Interface, ConfigDescriptorSize, ConfigDescriptorData) != SI_ENUMERROR_NoError) { - printf("Attached Device Not a Valid Still Image Class Device.\r\n"); + puts_P(PSTR("Attached Device Not a Valid Still Image Class Device.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -97,43 +97,43 @@ int main(void) if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Configuration.\r\n"); + puts_P(PSTR("Error Setting Device Configuration.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Still Image Device Enumerated.\r\n"); + puts_P(PSTR("Still Image Device Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); USB_HostState = HOST_STATE_Configured; break; case HOST_STATE_Configured: - printf("Opening Session...\r\n"); + puts_P(PSTR("Opening Session...\r\n")); if (SImage_Host_OpenSession(&DigitalCamera_SI_Interface) != PIPE_RWSTREAM_NoError) { - printf("Could not open PIMA session.\r\n"); + puts_P(PSTR("Could not open PIMA session.\r\n")); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Turning off Device...\r\n"); + puts_P(PSTR("Turning off Device...\r\n")); SImage_Host_SendCommand(&DigitalCamera_SI_Interface, 0x1013, 0, NULL); if (SImage_Host_ReceiveResponse(&DigitalCamera_SI_Interface)) { - printf("Could not turn off device.\r\n"); + puts_P(PSTR("Could not turn off device.\r\n")); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("Device Off.\r\n"); + puts_P(PSTR("Device Off.\r\n")); - printf("Closing Session...\r\n"); + puts_P(PSTR("Closing Session...\r\n")); if (SImage_Host_CloseSession(&DigitalCamera_SI_Interface) != PIPE_RWSTREAM_NoError) { - printf("Could not close PIMA session.\r\n"); + puts_P(PSTR("Could not close PIMA session.\r\n")); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } diff --git a/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.c b/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.c index df6ad9796e..041a534ff2 100644 --- a/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.c +++ b/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.c @@ -80,7 +80,7 @@ int main(void) if (USB_Host_GetDeviceConfigDescriptor(1, &ConfigDescriptorSize, ConfigDescriptorData, sizeof(ConfigDescriptorData)) != HOST_GETCONFIG_Successful) { - printf("Error Retrieving Configuration Descriptor.\r\n"); + puts_P(PSTR("Error Retrieving Configuration Descriptor.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -89,7 +89,7 @@ int main(void) if (CDC_Host_ConfigurePipes(&VirtualSerial_CDC_Interface, ConfigDescriptorSize, ConfigDescriptorData) != CDC_ENUMERROR_NoError) { - printf("Attached Device Not a Valid CDC Class Device.\r\n"); + puts_P(PSTR("Attached Device Not a Valid CDC Class Device.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; @@ -97,13 +97,13 @@ int main(void) if (USB_Host_SetDeviceConfiguration(1) != HOST_SENDCONTROL_Successful) { - printf("Error Setting Device Configuration.\r\n"); + puts_P(PSTR("Error Setting Device Configuration.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_ERROR); USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } - printf("CDC Device Enumerated.\r\n"); + puts_P(PSTR("CDC Device Enumerated.\r\n")); LEDs_SetAllLEDs(LEDMASK_USB_READY); USB_HostState = HOST_STATE_Configured; break; diff --git a/Demos/Host/makefile b/Demos/Host/makefile index 6a0c0ef8ee..7d2b91d868 100644 --- a/Demos/Host/makefile +++ b/Demos/Host/makefile @@ -14,5 +14,5 @@ # code. %: - make -C ClassDriver/ $@ - make -C LowLevel/ $@ + make -C ClassDriver $@ + make -C LowLevel $@ diff --git a/Demos/makefile b/Demos/makefile index 38c9775068..af8932b973 100644 --- a/Demos/makefile +++ b/Demos/makefile @@ -14,6 +14,6 @@ # code. %: - make -C Device/ $@ - make -C Host/ $@ - make -C DualRole/ $@ + make -C Device $@ + make -C Host $@ + make -C DualRole $@ diff --git a/LUFA/Common/Common.h b/LUFA/Common/Common.h index 5f1b2eae52..a59a213a8c 100644 --- a/LUFA/Common/Common.h +++ b/LUFA/Common/Common.h @@ -164,18 +164,18 @@ * \param[in,out] Data Pointer to a number containing an even number of bytes to be reversed * \param[in] Bytes Length of the data in bytes */ - static inline void SwapEndian_n(uint8_t* Data, uint8_t Bytes); - static inline void SwapEndian_n(uint8_t* Data, uint8_t Bytes) + static inline void SwapEndian_n(void* Data, uint8_t Bytes); + static inline void SwapEndian_n(void* Data, uint8_t Bytes) { - uint8_t Temp; - + uint8_t* CurrDataPos = Data; + while (Bytes) { - Temp = *Data; - *Data = *(Data + Bytes - 1); - *(Data + Bytes - 1) = Temp; + uint8_t Temp = *CurrDataPos; + *CurrDataPos = *(CurrDataPos + Bytes - 1); + *(CurrDataPos + Bytes - 1) = Temp; - Data++; + CurrDataPos++; Bytes -= 2; } } diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.c b/LUFA/Drivers/USB/Class/Host/MassStorage.c index 4ec0b244f5..f148f4ecc7 100644 --- a/LUFA/Drivers/USB/Class/Host/MassStorage.c +++ b/LUFA/Drivers/USB/Class/Host/MassStorage.c @@ -134,7 +134,8 @@ static uint8_t MS_Host_SendCommand(USB_ClassInfo_MS_Host_t* const MSInterfaceInf { uint8_t ErrorCode = PIPE_RWSTREAM_NoError; - SCSICommandBlock->Tag = ++MSInterfaceInfo->State.TransactionTag; + SCSICommandBlock->Signature = CBW_SIGNATURE; + SCSICommandBlock->Tag = ++MSInterfaceInfo->State.TransactionTag; if (MSInterfaceInfo->State.TransactionTag == 0xFFFFFFFF) MSInterfaceInfo->State.TransactionTag = 1; @@ -334,7 +335,6 @@ uint8_t MS_Host_GetInquiryData(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo, c MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { - .Signature = CBW_SIGNATURE, .DataTransferLength = sizeof(SCSI_Inquiry_Response_t), .Flags = COMMAND_DIRECTION_DATA_IN, .LUN = LUNIndex, @@ -370,7 +370,6 @@ uint8_t MS_Host_TestUnitReady(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo, co MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { - .Signature = CBW_SIGNATURE, .DataTransferLength = 0, .Flags = COMMAND_DIRECTION_DATA_IN, .LUN = LUNIndex, @@ -407,7 +406,6 @@ uint8_t MS_Host_ReadDeviceCapacity(USB_ClassInfo_MS_Host_t* const MSInterfaceInf MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { - .Signature = CBW_SIGNATURE, .DataTransferLength = sizeof(SCSI_Capacity_t), .Flags = COMMAND_DIRECTION_DATA_IN, .LUN = LUNIndex, @@ -432,8 +430,8 @@ uint8_t MS_Host_ReadDeviceCapacity(USB_ClassInfo_MS_Host_t* const MSInterfaceInf if ((ErrorCode = MS_Host_SendCommand(MSInterfaceInfo, &SCSICommandBlock, DeviceCapacity)) != PIPE_RWSTREAM_NoError) return ErrorCode; - DeviceCapacity->Blocks = SwapEndian_32(DeviceCapacity->Blocks); - DeviceCapacity->BlockSize = SwapEndian_32(DeviceCapacity->BlockSize); + SwapEndian_n(&DeviceCapacity->Blocks, sizeof(DeviceCapacity->Blocks)); + SwapEndian_n(&DeviceCapacity->BlockSize, sizeof(DeviceCapacity->BlockSize)); if ((ErrorCode = MS_Host_GetReturnedStatus(MSInterfaceInfo, &SCSICommandStatus)) != PIPE_RWSTREAM_NoError) return ErrorCode; @@ -451,7 +449,6 @@ uint8_t MS_Host_RequestSense(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo, con MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { - .Signature = CBW_SIGNATURE, .DataTransferLength = sizeof(SCSI_Request_Sense_Response_t), .Flags = COMMAND_DIRECTION_DATA_IN, .LUN = LUNIndex, @@ -488,7 +485,6 @@ uint8_t MS_Host_PreventAllowMediumRemoval(USB_ClassInfo_MS_Host_t* const MSInter MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { - .Signature = CBW_SIGNATURE, .DataTransferLength = 0, .Flags = COMMAND_DIRECTION_DATA_OUT, .LUN = LUNIndex, @@ -525,7 +521,6 @@ uint8_t MS_Host_ReadDeviceBlocks(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo, MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { - .Signature = CBW_SIGNATURE, .DataTransferLength = ((uint32_t)Blocks * BlockSize), .Flags = COMMAND_DIRECTION_DATA_IN, .LUN = LUNIndex, @@ -566,7 +561,6 @@ uint8_t MS_Host_WriteDeviceBlocks(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t) { - .Signature = CBW_SIGNATURE, .DataTransferLength = ((uint32_t)Blocks * BlockSize), .Flags = COMMAND_DIRECTION_DATA_OUT, .LUN = LUNIndex, diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index 2a772b8809..04aa9a497a 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -29,6 +29,7 @@ * builds of avrdude at the expense of AVRStudio compatibility * - Removed two-step endpoint/pipe bank clear and switch sequence for smaller, faster endpoint/pipe code * - The USB_Init() function no longer calls sei() - the user is now responsible for enabling interrupts when they are ready + * for them to be enabled (thanks to Andrei Krainev) * * Fixed: * - Fixed software PDI/TPI programming mode in the AVRISP project not correctly toggling just the clock pin diff --git a/makefile b/makefile index d6d191e525..db5cd517a5 100644 --- a/makefile +++ b/makefile @@ -18,9 +18,9 @@ all: %: @echo Executing \"make $@\" on all LUFA library elements. @echo - make -C LUFA/ $@ -s - make -C Demos/ $@ -s - make -C Projects/ $@ -s - make -C Bootloaders/ $@ -s + make -C LUFA $@ -s + make -C Demos $@ -s + make -C Projects $@ -s + make -C Bootloaders $@ -s @echo @echo LUFA \"make $@\" operation complete.