Fix flip-ee DFU build target accidentally erasing the target FLASH memory space.
[pub/USBasp.git] / Demos / Device / LowLevel / Keyboard / Keyboard.c
index 3755d09..6f9da5b 100644 (file)
@@ -62,7 +62,7 @@ int main(void)
        SetupHardware();
 
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
        SetupHardware();
 
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
-       sei();
+       GlobalInterruptEnable();
 
        for (;;)
        {
 
        for (;;)
        {
@@ -294,14 +294,11 @@ void SendNextReport(void)
 {
        static USB_KeyboardReport_Data_t PrevKeyboardReportData;
        USB_KeyboardReport_Data_t        KeyboardReportData;
 {
        static USB_KeyboardReport_Data_t PrevKeyboardReportData;
        USB_KeyboardReport_Data_t        KeyboardReportData;
-       bool                             SendReport = true;
+       bool                             SendReport = false;
 
        /* Create the next keyboard report for transmission to the host */
        CreateKeyboardReport(&KeyboardReportData);
 
 
        /* Create the next keyboard report for transmission to the host */
        CreateKeyboardReport(&KeyboardReportData);
 
-       /* Check to see if the report data has changed - if so a report MUST be sent */
-       SendReport = (memcmp(&PrevKeyboardReportData, &KeyboardReportData, sizeof(USB_KeyboardReport_Data_t)) != 0);
-
        /* Check if the idle period is set and has elapsed */
        if (IdleCount && (!(IdleMSRemaining)))
        {
        /* Check if the idle period is set and has elapsed */
        if (IdleCount && (!(IdleMSRemaining)))
        {
@@ -311,6 +308,11 @@ void SendNextReport(void)
                /* Idle period is set and has elapsed, must send a report to the host */
                SendReport = true;
        }
                /* Idle period is set and has elapsed, must send a report to the host */
                SendReport = true;
        }
+       else
+       {
+               /* Check to see if the report data has changed - if so a report MUST be sent */
+               SendReport = (memcmp(&PrevKeyboardReportData, &KeyboardReportData, sizeof(USB_KeyboardReport_Data_t)) != 0);    
+       }
 
        /* Select the Keyboard Report Endpoint */
        Endpoint_SelectEndpoint(KEYBOARD_IN_EPADDR);
 
        /* Select the Keyboard Report Endpoint */
        Endpoint_SelectEndpoint(KEYBOARD_IN_EPADDR);