diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2009-05-06 12:43:00 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-05-06 12:43:00 +0000 |
commit | a908773a13ee491f2f8907cdf57c26fb39e10658 (patch) | |
tree | 4672f5f9f37c4b271a63aab6313deb5a5a72b7ff | |
parent | 63a8f66d92b5d7018a4d962f4f7b23774a621771 (diff) | |
download | lufa-a908773a13ee491f2f8907cdf57c26fb39e10658.tar.gz lufa-a908773a13ee491f2f8907cdf57c26fb39e10658.tar.bz2 lufa-a908773a13ee491f2f8907cdf57c26fb39e10658.zip |
Change device demos to cache the board button values in the same manner as the board joystick to maintain consistency.
-rw-r--r-- | Demos/Device/Joystick/Joystick.c | 14 | ||||
-rw-r--r-- | Demos/Device/Mouse/Mouse.c | 5 | ||||
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/DevChapter9.c | 4 |
3 files changed, 13 insertions, 10 deletions
diff --git a/Demos/Device/Joystick/Joystick.c b/Demos/Device/Joystick/Joystick.c index b2de42fc2..cf136d076 100644 --- a/Demos/Device/Joystick/Joystick.c +++ b/Demos/Device/Joystick/Joystick.c @@ -153,9 +153,10 @@ EVENT_HANDLER(USB_UnhandledControlPacket) */
bool GetNextReport(USB_JoystickReport_Data_t* ReportData)
{
- static uint8_t PrevJoyStatus = 0;
- uint8_t JoyStatus_LCL = Joystick_GetStatus();
- bool InputChanged = false;
+ static uint8_t PrevJoyStatus = 0;
+ uint8_t JoyStatus_LCL = Joystick_GetStatus();
+ uint8_t ButtonStatus_LCL = Buttons_GetStatus();
+ bool InputChanged = false;
/* Clear the report contents */
memset(ReportData, 0, sizeof(USB_JoystickReport_Data_t));
@@ -173,14 +174,15 @@ bool GetNextReport(USB_JoystickReport_Data_t* ReportData) if (JoyStatus_LCL & JOY_PRESS)
ReportData->Button = (1 << 1);
- if (Buttons_GetStatus() & BUTTONS_BUTTON1)
+ if (ButtonStatus_LCL & BUTTONS_BUTTON1)
ReportData->Button |= (1 << 0);
/* Check if the new report is different to the previous report */
- InputChanged = (uint8_t)(PrevJoyStatus ^ JoyStatus_LCL);
+ InputChanged = (uint8_t)(PrevJoyStatus ^ JoyStatus_LCL) | (uint8_t)(PrevButtonStatus ^ ButtonStatus_LCL);
/* Save the current joystick status for later comparison */
- PrevJoyStatus = JoyStatus_LCL;
+ PrevJoyStatus = JoyStatus_LCL;
+ PrevButtonStatus = ButtonStatus_LCL;
/* Return whether the new report is different to the previous report or not */
return InputChanged;
diff --git a/Demos/Device/Mouse/Mouse.c b/Demos/Device/Mouse/Mouse.c index 7fff291f4..763d366e9 100644 --- a/Demos/Device/Mouse/Mouse.c +++ b/Demos/Device/Mouse/Mouse.c @@ -287,7 +287,8 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK) */
void CreateMouseReport(USB_MouseReport_Data_t* ReportData)
{
- uint8_t JoyStatus_LCL = Joystick_GetStatus();
+ uint8_t JoyStatus_LCL = Joystick_GetStatus();
+ uint8_t ButtonStatus_LCL = Buttons_GetStatus();
/* Clear the report contents */
memset(ReportData, 0, sizeof(USB_MouseReport_Data_t));
@@ -305,7 +306,7 @@ void CreateMouseReport(USB_MouseReport_Data_t* ReportData) if (JoyStatus_LCL & JOY_PRESS)
ReportData->Button = (1 << 0);
- if (Buttons_GetStatus() & BUTTONS_BUTTON1)
+ if (ButtonStatus_LCL & BUTTONS_BUTTON1)
ReportData->Button |= (1 << 1);
}
diff --git a/LUFA/Drivers/USB/LowLevel/DevChapter9.c b/LUFA/Drivers/USB/LowLevel/DevChapter9.c index bf1cb6c8f..9c319fc07 100644 --- a/LUFA/Drivers/USB/LowLevel/DevChapter9.c +++ b/LUFA/Drivers/USB/LowLevel/DevChapter9.c @@ -131,7 +131,7 @@ static void USB_Device_SetAddress(void) static void USB_Device_SetConfiguration(void)
{
- bool AlreadyConfigured = (USB_ConfigurationNumber != 0);
+ bool AlreadyConfigured = (USB_ConfigurationNumber != 0);
#if defined(USE_SINGLE_DEVICE_CONFIGURATION)
if ((uint8_t)USB_ControlRequest.wValue > 1)
@@ -188,7 +188,7 @@ static void USB_Device_GetDescriptor(void) #if defined(USE_RAM_DESCRIPTORS)
Endpoint_Write_Control_Stream_LE(DescriptorPointer, DescriptorSize);
#else
- bool SendZLP;
+ bool SendZLP;
if (USB_ControlRequest.wLength > DescriptorSize)
USB_ControlRequest.wLength = DescriptorSize;
|