X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/0fcbe22c9eb68f5769bf57469e1bcf9b340d0ae3..9d6a373cb61b55b94312de3809ac76fcbd0a696c:/Projects/MissileLauncher/MissileLauncher.c diff --git a/Projects/MissileLauncher/MissileLauncher.c b/Projects/MissileLauncher/MissileLauncher.c index 046c132f0..d15613eb8 100644 --- a/Projects/MissileLauncher/MissileLauncher.c +++ b/Projects/MissileLauncher/MissileLauncher.c @@ -137,8 +137,9 @@ void SetupHardware(void) void Read_Joystick_Status(void) { uint8_t JoyStatus_LCL = Joystick_GetStatus(); + uint8_t Buttons_LCL = Buttons_GetStatus(); - if (BUTTONS_BUTTON1 && Buttons_GetStatus()) + if (Buttons_LCL & BUTTONS_BUTTON1) Send_Command(CMD_FIRE); else if (JoyStatus_LCL & JOY_UP) Send_Command(CMD_UP); @@ -172,7 +173,7 @@ void Send_Command(uint8_t* Command) if ((CmdState == CMD_STOP && Command != CMD_STOP) || (CmdState != CMD_STOP && Command == CMD_STOP)) { - LEDs_ChangeLEDs(LEDS_LED4, ~LEDs_GetLEDs() & LEDS_LED4); + LEDs_ToggleLEDs(LEDS_LED4); Send_Command_Report(CMD_INITA, 8); Send_Command_Report(CMD_INITB, 8); @@ -185,7 +186,7 @@ void Send_Command(uint8_t* Command) /** Event handler for the USB_DeviceAttached event. This indicates that a device has been attached to the host, and * starts the library USB task to begin the enumeration and USB management process. */ -void EVENT_USB_DeviceAttached(void) +void EVENT_USB_Host_DeviceAttached(void) { LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING); } @@ -193,7 +194,7 @@ void EVENT_USB_DeviceAttached(void) /** Event handler for the USB_DeviceUnattached event. This indicates that a device has been removed from the host, and * stops the library USB task management process. */ -void EVENT_USB_DeviceUnattached(void) +void EVENT_USB_Host_DeviceUnattached(void) { LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY); } @@ -201,13 +202,13 @@ void EVENT_USB_DeviceUnattached(void) /** Event handler for the USB_DeviceEnumerationComplete event. This indicates that a device has been successfully * enumerated by the host and is now ready to be used by the application. */ -void EVENT_USB_DeviceEnumerationComplete(void) +void EVENT_USB_Host_DeviceEnumerationComplete(void) { LEDs_SetAllLEDs(LEDMASK_USB_READY); } /** Event handler for the USB_HostError event. This indicates that a hardware error occurred while in host mode. */ -void EVENT_USB_HostError(const uint8_t ErrorCode) +void EVENT_USB_Host_HostError(const uint8_t ErrorCode) { USB_ShutDown(); @@ -218,7 +219,7 @@ void EVENT_USB_HostError(const uint8_t ErrorCode) /** Event handler for the USB_DeviceEnumerationFailed event. This indicates that a problem occurred while * enumerating an attached USB device. */ -void EVENT_USB_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8_t SubErrorCode) +void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8_t SubErrorCode) { LEDs_SetAllLEDs(LEDMASK_USB_ERROR); } @@ -285,7 +286,7 @@ void WriteNextReport(uint8_t* ReportOUTData, uint16_t ReportLength) /* Class specific request to send a HID report to the device */ USB_ControlRequest = (USB_Request_Header_t) { - .bmRequestType = 0x21, + .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE), .bRequest = 0x09, .wValue = 0x02, .wIndex = 0x01, @@ -336,9 +337,6 @@ void HID_Host_Task(void) USB_HostState = HOST_STATE_Configured; break; case HOST_STATE_Configured: - USB_HostState = HOST_STATE_Ready; - break; - case HOST_STATE_Ready: DiscardNextReport(); break;