From f79f9abd28040d839b02ea22cdfde3d0a34f3482 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Wed, 24 Mar 2010 05:50:09 +0000
Subject: [PATCH] Fixed compilation error in the AudioInput demos when
 MICROPHONE_BIASED_TO_HALF_RAIL is defined (thanks to C. Scott Ananian).

Minor documentation cleanups.

Make sure HID class driver uses properly cast pointers when writing to the report buffer.
---
 Demos/Device/ClassDriver/AudioInput/AudioInput.c          | 2 +-
 Demos/Device/LowLevel/AudioInput/AudioInput.c             | 2 +-
 LUFA/Drivers/USB/Class/Host/HID.c                         | 5 +++--
 LUFA/Drivers/USB/HighLevel/StdDescriptors.h               | 3 +--
 LUFA/ManPages/ChangeLog.txt                               | 1 +
 Projects/Incomplete/MIDIToneGenerator/MIDIToneGenerator.h | 2 +-
 6 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/Demos/Device/ClassDriver/AudioInput/AudioInput.c b/Demos/Device/ClassDriver/AudioInput/AudioInput.c
index b90ee5125..22d0173a9 100644
--- a/Demos/Device/ClassDriver/AudioInput/AudioInput.c
+++ b/Demos/Device/ClassDriver/AudioInput/AudioInput.c
@@ -104,7 +104,7 @@ void ProcessNextSample(void)
 		
 		#if defined(MICROPHONE_BIASED_TO_HALF_RAIL)
 		/* Microphone is biased to half rail voltage, subtract the bias from the sample value */
-		AudioSample -= (SAMPLE_MAX_RANGE / 2));
+		AudioSample -= (SAMPLE_MAX_RANGE / 2);
 		#endif
 
 		Audio_Device_WriteSample16(&Microphone_Audio_Interface, AudioSample);
diff --git a/Demos/Device/LowLevel/AudioInput/AudioInput.c b/Demos/Device/LowLevel/AudioInput/AudioInput.c
index 2d718e53c..392609b07 100644
--- a/Demos/Device/LowLevel/AudioInput/AudioInput.c
+++ b/Demos/Device/LowLevel/AudioInput/AudioInput.c
@@ -171,7 +171,7 @@ void USB_Audio_Task(void)
 		
 		#if defined(MICROPHONE_BIASED_TO_HALF_RAIL)
 		/* Microphone is biased to half rail voltage, subtract the bias from the sample value */
-		AudioSample -= (SAMPLE_MAX_RANGE / 2));
+		AudioSample -= (SAMPLE_MAX_RANGE / 2);
 		#endif
 
 		/* Write the sample to the buffer */
diff --git a/LUFA/Drivers/USB/Class/Host/HID.c b/LUFA/Drivers/USB/Class/Host/HID.c
index b95f73c73..5d5d2ef98 100644
--- a/LUFA/Drivers/USB/Class/Host/HID.c
+++ b/LUFA/Drivers/USB/Class/Host/HID.c
@@ -181,6 +181,7 @@ uint8_t HID_Host_ReceiveReport(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
 	Pipe_Unfreeze();
 	
 	uint16_t ReportSize;
+	uint8_t* BufferPos = Buffer;
 
 #if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
 	if (!(HIDInterfaceInfo->State.UsingBootProtocol))
@@ -190,7 +191,7 @@ uint8_t HID_Host_ReceiveReport(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
 		if (HIDInterfaceInfo->Config.HIDParserData->UsingReportIDs)
 		{
 			ReportID = Pipe_Read_Byte();
-			*((uint8_t*)Buffer++) = ReportID;
+			*(BufferPos++) = ReportID;
 		}
 		
 		ReportSize = USB_GetHIDReportSize(HIDInterfaceInfo->Config.HIDParserData, ReportID, REPORT_ITEM_TYPE_In);
@@ -201,7 +202,7 @@ uint8_t HID_Host_ReceiveReport(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo,
 		ReportSize = Pipe_BytesInPipe();
 	}
 
-	if ((ErrorCode = Pipe_Read_Stream_LE(Buffer, ReportSize, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
+	if ((ErrorCode = Pipe_Read_Stream_LE(BufferPos, ReportSize, NO_STREAM_CALLBACK)) != PIPE_RWSTREAM_NoError)
 	  return ErrorCode;
 	 
 	Pipe_ClearIN();		
diff --git a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
index b79b7847c..4090aaa3d 100644
--- a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
+++ b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
@@ -86,7 +86,7 @@
 				#define USE_INTERNAL_SERIAL           NO_DESCRIPTOR
 			#endif
 			
-			/** Macro to calculate the power value for the device descriptor, from a given number of milliamps. */
+			/** Macro to calculate the power value for the configuration descriptor, from a given number of milliamps. */
 			#define USB_CONFIG_POWER_MA(mA)           ((mA) >> 1)
 
 			/** Macro to calculate the Unicode length of a string with a given number of Unicode characters.
@@ -124,7 +124,6 @@
 			 */
 			#define USB_CONFIG_ATTR_BUSPOWERED        0x80
 
-			
 			/** Can be masked with other configuration descriptor attributes for a \ref USB_Descriptor_Configuration_Header_t
 			 *  descriptor's ConfigAttributes value to indicate that the specified configuration can draw its power
 			 *  from the device's own power source.
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index a53492244..520ef2feb 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -30,6 +30,7 @@
   *  - Fixed ADC routines failing to read the extended channels (Channels 8 to 13, Internal Temperature Sensor) on the
   *    U4 series USB AVR parts
   *  - Fixed LowLevel MassStorage demo broken on the U2 AVRs due to double-banked endpoints
+  *  - Fixed compilation error in the AudioInput demos when MICROPHONE_BIASED_TO_HALF_RAIL is defined (thanks to C. Scott Ananian)
   *
   *  \section Sec_ChangeLog100219 Version 100219
   *
diff --git a/Projects/Incomplete/MIDIToneGenerator/MIDIToneGenerator.h b/Projects/Incomplete/MIDIToneGenerator/MIDIToneGenerator.h
index 6d6931c36..f7f39d5a9 100644
--- a/Projects/Incomplete/MIDIToneGenerator/MIDIToneGenerator.h
+++ b/Projects/Incomplete/MIDIToneGenerator/MIDIToneGenerator.h
@@ -64,7 +64,7 @@
 		/** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 		
-		#define AUDIO_SAMPLE_FREQUENCY   24000
+		#define AUDIO_SAMPLE_FREQUENCY    24000
 		
 	/* Function Prototypes: */
 		void SetupHardware(void);
-- 
GitLab