Renamed the JTAG_DEBUG_ASSERT() macro to JTAG_ASSERT().

Changed the reports in the GenericHID device demos to control the board LEDs, to reduce user confusion over the callback routines.

Fixed swapped TWI_ADDRESS_READ and TWI_ADDRESS_WRITE values.

Fixed TWI_ReadPacket() not releasing the TWI bus on read completion.
This commit is contained in:
Dean Camera 2011-08-22 13:03:56 +00:00
parent 40946a5704
commit d0ac8e46f9
8 changed files with 61 additions and 34 deletions

View file

@ -36,9 +36,6 @@
#include "GenericHID.h"
/** Static buffer to hold the last received report from the host, so that it can be echoed back in the next sent report */
static uint8_t LastReceived[GENERIC_REPORT_SIZE];
/** Main program entry point. This routine configures the hardware required by the application, then
* enters a loop to run the application tasks in sequence.
@ -155,13 +152,26 @@ void EVENT_USB_Device_ControlRequest(void)
void ProcessGenericHIDReport(uint8_t* DataArray)
{
/*
This is where you need to process the reports being sent from the host to the device.
DataArray is an array holding the last report from the host. This function is called
each time the host has sent a report to the device.
This is where you need to process reports sent from the host to the device. This
function is called each time the host has sent a new report. DataArray is an array
holding the report sent from the host.
*/
for (uint8_t i = 0; i < GENERIC_REPORT_SIZE; i++)
LastReceived[i] = DataArray[i];
uint8_t NewLEDMask = LEDS_NO_LEDS;
if (DataArray[0])
NewLEDMask |= LEDS_LED1;
if (DataArray[1])
NewLEDMask |= LEDS_LED1;
if (DataArray[2])
NewLEDMask |= LEDS_LED1;
if (DataArray[3])
NewLEDMask |= LEDS_LED1;
LEDs_SetAllLEDs(NewLEDMask);
}
/** Function to create the next report to send back to the host at the next reporting interval.
@ -176,8 +186,12 @@ void CreateGenericHIDReport(uint8_t* DataArray)
an array to hold the report to the host.
*/
for (uint8_t i = 0; i < GENERIC_REPORT_SIZE; i++)
DataArray[i] = LastReceived[i];
uint8_t CurrLEDMask = LEDs_GetLEDs();
DataArray[0] = ((CurrLEDMask & LEDS_LED1) ? 1 : 0);
DataArray[1] = ((CurrLEDMask & LEDS_LED2) ? 1 : 0);
DataArray[2] = ((CurrLEDMask & LEDS_LED3) ? 1 : 0);
DataArray[3] = ((CurrLEDMask & LEDS_LED4) ? 1 : 0);
}
void HID_Task(void)