diff --git a/firmware/hackrf_usb/usb_api_board_info.c b/firmware/hackrf_usb/usb_api_board_info.c index ba2a6ddd..f3d8ab2b 100644 --- a/firmware/hackrf_usb/usb_api_board_info.c +++ b/firmware/hackrf_usb/usb_api_board_info.c @@ -56,11 +56,11 @@ usb_request_status_t usb_vendor_request_read_version_string( return USB_REQUEST_STATUS_OK; } +static read_partid_serialno_t read_partid_serialno; usb_request_status_t usb_vendor_request_read_partid_serialno( usb_endpoint_t* const endpoint, const usb_transfer_stage_t stage) { uint8_t length; - read_partid_serialno_t read_partid_serialno; iap_cmd_res_t iap_cmd_res; if (stage == USB_TRANSFER_STAGE_SETUP) @@ -101,4 +101,4 @@ usb_request_status_t usb_vendor_request_reset( usb_transfer_schedule_ack(endpoint->in); } return USB_REQUEST_STATUS_OK; -} \ No newline at end of file +} diff --git a/firmware/hackrf_usb/usb_api_cpld.c b/firmware/hackrf_usb/usb_api_cpld.c index e6fa3784..a104cc1d 100644 --- a/firmware/hackrf_usb/usb_api_cpld.c +++ b/firmware/hackrf_usb/usb_api_cpld.c @@ -32,6 +32,7 @@ #include #include #include +#include uint8_t cpld_xsvf_buffer[512]; volatile bool cpld_wait = false; @@ -98,7 +99,8 @@ usb_request_status_t usb_vendor_request_cpld_checksum( } length = (uint8_t)sizeof(cpld_crc); - usb_transfer_schedule_block(endpoint->in, &cpld_crc, length, + memcpy(endpoint->buffer, &cpld_crc, length); + usb_transfer_schedule_block(endpoint->in, endpoint->buffer, length, NULL, NULL); usb_transfer_schedule_ack(endpoint->out); } diff --git a/firmware/hackrf_usb/usb_api_operacake.c b/firmware/hackrf_usb/usb_api_operacake.c index 43f14a52..6001a361 100644 --- a/firmware/hackrf_usb/usb_api_operacake.c +++ b/firmware/hackrf_usb/usb_api_operacake.c @@ -31,9 +31,8 @@ usb_request_status_t usb_vendor_request_operacake_get_boards( usb_endpoint_t* const endpoint, const usb_transfer_stage_t stage) { if (stage == USB_TRANSFER_STAGE_SETUP) { - uint8_t addresses[8]; - operacake_get_boards(addresses); - usb_transfer_schedule_block(endpoint->in, addresses, 8, NULL, NULL); + operacake_get_boards(endpoint->buffer); + usb_transfer_schedule_block(endpoint->in, endpoint->buffer, 8, NULL, NULL); usb_transfer_schedule_ack(endpoint->out); } return USB_REQUEST_STATUS_OK; diff --git a/firmware/hackrf_usb/usb_api_spiflash.c b/firmware/hackrf_usb/usb_api_spiflash.c index 9663f676..769fa0bc 100644 --- a/firmware/hackrf_usb/usb_api_spiflash.c +++ b/firmware/hackrf_usb/usb_api_spiflash.c @@ -124,10 +124,9 @@ usb_request_status_t usb_vendor_request_read_spiflash( usb_request_status_t usb_vendor_request_spiflash_status( usb_endpoint_t* const endpoint, const usb_transfer_stage_t stage) { - uint8_t data[2]; if (stage == USB_TRANSFER_STAGE_SETUP) { - w25q80bv_get_full_status(&spi_flash, data); - usb_transfer_schedule_block(endpoint->in, &data, 2, NULL, NULL); + w25q80bv_get_full_status(&spi_flash, endpoint->buffer); + usb_transfer_schedule_block(endpoint->in, &endpoint->buffer, 2, NULL, NULL); return USB_REQUEST_STATUS_OK; } else if (stage == USB_TRANSFER_STAGE_DATA) { usb_transfer_schedule_ack(endpoint->out); @@ -145,4 +144,4 @@ usb_request_status_t usb_vendor_request_spiflash_clear_status( usb_transfer_schedule_ack(endpoint->in); } return USB_REQUEST_STATUS_OK; -} \ No newline at end of file +}