X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/0fcbe22c9eb68f5769bf57469e1bcf9b340d0ae3..24f730fce3f2022762011d795c3feada5ef874b3:/Projects/MissileLauncher/MissileLauncher.c diff --git a/Projects/MissileLauncher/MissileLauncher.c b/Projects/MissileLauncher/MissileLauncher.c index 046c132f0..26dd077cd 100644 --- a/Projects/MissileLauncher/MissileLauncher.c +++ b/Projects/MissileLauncher/MissileLauncher.c @@ -97,7 +97,7 @@ uint8_t CmdBuffer[LAUNCHER_CMD_BUFFER_SIZE]; /** Main program entry point. This routine configures the hardware required by the application, then - * starts the scheduler to run the application tasks. + * enters a loop to run the application tasks in sequence. */ int main(void) { @@ -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,8 +286,8 @@ 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, - .bRequest = 0x09, + .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE), + .bRequest = REQ_SetReport, .wValue = 0x02, .wIndex = 0x01, .wLength = ReportLength, @@ -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;