Fixed swapped paremeters in the HID state memory copy call while processing a HID...
[pub/USBasp.git] / Projects / Benito / Benito.c
index 2f0317d..afe29b4 100644 (file)
@@ -67,11 +67,6 @@ USB_ClassInfo_CDC_Device_t VirtualSerial_CDC_Interface =
                                .NotificationEndpointNumber = CDC_NOTIFICATION_EPNUM,\r
                                .NotificationEndpointSize   = CDC_NOTIFICATION_EPSIZE,\r
                        },\r
-               \r
-               .State =\r
-                       {\r
-                               // Leave all state values to their defaults\r
-                       }\r
        };\r
 \r
 /** Main program entry point. This routine contains the overall program flow, including initial\r
@@ -84,7 +79,7 @@ int main(void)
        for (;;)\r
        {\r
                /* Echo bytes from the host to the target via the hardware USART */\r
-               if (CDC_Device_BytesReceived(&VirtualSerial_CDC_Interface))\r
+               if (CDC_Device_BytesReceived(&VirtualSerial_CDC_Interface) > 0)\r
                {\r
                        Serial_TxByte(CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface));\r
 \r
@@ -107,7 +102,7 @@ int main(void)
                        /* Check if the LEDs should be ping-ponging (during enumeration) */\r
                        if (PingPongMSRemaining && !(--PingPongMSRemaining))\r
                        {\r
-                               LEDs_ToggleLEDs(LEDMASK_BUSY);\r
+                               LEDs_ToggleLEDs(LEDMASK_TX | LEDMASK_RX);\r
                                PingPongMSRemaining = PING_PONG_LED_PULSE_MS;\r
                        }\r
                \r
@@ -146,6 +141,7 @@ void SetupHardware(void)
        clock_prescale_set(clock_div_1);\r
 \r
        /* Hardware Initialization */\r
+       Serial_Init(9600, false);\r
        LEDs_Init();\r
        USB_Init();\r
 \r
@@ -160,33 +156,33 @@ void SetupHardware(void)
 }\r
 \r
 /** Event handler for the library USB Connection event. */\r
-void EVENT_USB_Connect(void)\r
+void EVENT_USB_Device_Connect(void)\r
 {\r
        PingPongMSRemaining = PING_PONG_LED_PULSE_MS;\r
        LEDs_SetAllLEDs(LEDMASK_TX);\r
 }\r
 \r
 /** Event handler for the library USB Disconnection event. */\r
-void EVENT_USB_Disconnect(void)\r
+void EVENT_USB_Device_Disconnect(void)\r
 {\r
        PingPongMSRemaining = 0;\r
-       LEDs_TurnOffLEDs(LEDMASK_BUSY);\r
+       LEDs_SetAllLEDs(LEDS_NO_LEDS);\r
 }\r
 \r
 /** Event handler for the library USB Configuration Changed event. */\r
-void EVENT_USB_ConfigurationChanged(void)\r
+void EVENT_USB_Device_ConfigurationChanged(void)\r
 {\r
        PingPongMSRemaining = 0;\r
-       LEDs_TurnOffLEDs(LEDMASK_BUSY);\r
+       LEDs_SetAllLEDs(LEDS_NO_LEDS);\r
 \r
        if (!(CDC_Device_ConfigureEndpoints(&VirtualSerial_CDC_Interface)))\r
-         LEDs_TurnOnLEDs(LEDMASK_ERROR);\r
+         LEDs_SetAllLEDs(LEDMASK_ERROR);\r
 }\r
 \r
-/** Event handler for the library USB Unhandled Control Packet event. */\r
-void EVENT_USB_UnhandledControlPacket(void)\r
+/** Event handler for the library USB Unhandled Control Request event. */\r
+void EVENT_USB_Device_UnhandledControlRequest(void)\r
 {\r
-       CDC_Device_ProcessControlPacket(&VirtualSerial_CDC_Interface);\r
+       CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);\r
 }\r
 \r
 /** Event handler for the CDC Class driver Line Encoding Changed event.\r
@@ -238,9 +234,9 @@ void EVENT_CDC_Device_ControLineStateChanged(USB_ClassInfo_CDC_Device_t* const C
        /* Check if the DTR line has been asserted - if so, start the target AVR's reset pulse */\r
        if (CDCInterfaceInfo->State.ControlLineStates.HostToDevice & CDC_CONTROL_LINE_OUT_DTR)\r
        {\r
-               LEDs_TurnOnLEDs(LEDMASK_BUSY);\r
+               LEDs_SetAllLEDs(LEDMASK_BUSY);\r
        \r
-               AVR_RESET_LINE_DDR |= AVR_RESET_LINE_MASK;\r
-               ResetPulseMSRemaining = AVR_RESET_PULSE_MS;\r
+               AVR_RESET_LINE_DDR    |= AVR_RESET_LINE_MASK;\r
+               ResetPulseMSRemaining  = AVR_RESET_PULSE_MS;\r
        }\r
 }\r