X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/dfa547164a1f9aefe202041e61075852f6e47191..d0db78432fc02bacbd57cc9f15eb05b4e56981cb:/Projects/MissileLauncher/MissileLauncher.c?ds=sidebyside diff --git a/Projects/MissileLauncher/MissileLauncher.c b/Projects/MissileLauncher/MissileLauncher.c index bd542ee45..88902cf2e 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); @@ -154,8 +155,8 @@ void Read_Joystick_Status(void) /** Lower level send routine, copies report into a larger buffer and sends. * - * \param Report Report data to send. - * \param ReportSize Report length in bytes. + * \param[in] Report Report data to send. + * \param[in] ReportSize Report length in bytes. */ void Send_Command_Report(uint8_t *Report, uint16_t ReportSize) { @@ -163,9 +164,9 @@ void Send_Command_Report(uint8_t *Report, uint16_t ReportSize) WriteNextReport(CmdBuffer, ReportSize); } -/** Send one of the CMD_* command constants listed above. +/** Sends one of the CMD_* command constants to the attached device. * - * \param Command One of the command constants. + * \param[in] Command One of the command constants. */ void Send_Command(uint8_t* Command) { @@ -248,8 +249,8 @@ void DiscardNextReport(void) /** Writes a report to the attached device. * - * \param ReportOUTData Buffer containing the report to send to the device - * \param ReportLength Length of the report to send + * \param[in] ReportOUTData Buffer containing the report to send to the device + * \param[in] ReportLength Length of the report to send */ void WriteNextReport(uint8_t* ReportOUTData, uint16_t ReportLength) { @@ -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, @@ -318,7 +319,7 @@ void HID_Host_Task(void) LEDs_SetAllLEDs(LEDMASK_USB_ERROR); /* Wait until USB device disconnected */ - while (USB_IsConnected); + USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; } @@ -329,7 +330,7 @@ void HID_Host_Task(void) LEDs_SetAllLEDs(LEDMASK_USB_ERROR); /* Wait until USB device disconnected */ - while (USB_IsConnected); + USB_HostState = HOST_STATE_WaitForDeviceRemoval; break; }