usb_vendor_request_set_amp_enable

This commit is contained in:
Michael Ossmann
2013-03-07 15:18:05 -07:00
parent 0c342f9cea
commit 50f7481682

View File

@ -495,6 +495,37 @@ usb_request_status_t usb_vendor_request_read_version_string(
return USB_REQUEST_STATUS_OK;
}
usb_request_status_t usb_vendor_request_set_amp_enable(
usb_endpoint_t* const endpoint, const usb_transfer_stage_t stage)
{
if (stage == USB_TRANSFER_STAGE_SETUP) {
switch (endpoint->setup.value) {
case 0:
switchctrl |= SWITCHCTRL_AMP_BYPASS;
if (transceiver_mode == TRANSCEIVER_MODE_RX) {
rffc5071_rx(switchctrl);
} else if (transceiver_mode == TRANSCEIVER_MODE_TX) {
rffc5071_tx(switchctrl);
}
usb_endpoint_schedule_ack(endpoint->in);
return USB_REQUEST_STATUS_OK;
case 1:
switchctrl &= ~SWITCHCTRL_AMP_BYPASS;
if (transceiver_mode == TRANSCEIVER_MODE_RX) {
rffc5071_rx(switchctrl);
} else if (transceiver_mode == TRANSCEIVER_MODE_TX) {
rffc5071_tx(switchctrl);
}
usb_endpoint_schedule_ack(endpoint->in);
return USB_REQUEST_STATUS_OK;
default:
return USB_REQUEST_STATUS_STALL;
}
} else {
return USB_REQUEST_STATUS_OK;
}
}
static const usb_request_handler_fn vendor_request_handler[] = {
NULL,
usb_vendor_request_set_transceiver_mode,
@ -511,7 +542,8 @@ static const usb_request_handler_fn vendor_request_handler[] = {
usb_vendor_request_read_spiflash,
usb_vendor_request_write_cpld,
usb_vendor_request_read_board_id,
usb_vendor_request_read_version_string
usb_vendor_request_read_version_string,
usb_vendor_request_set_amp_enable
};
static const uint32_t vendor_request_handler_count =