mirror of
https://github.com/hathach/tinyusb.git
synced 2025-03-28 16:20:26 +00:00
code format
This commit is contained in:
parent
18646179d0
commit
4938971aad
@ -10,7 +10,7 @@
|
|||||||
*/
|
*/
|
||||||
void OnProjectLoad (void) {
|
void OnProjectLoad (void) {
|
||||||
Project.AddSvdFile ("Cortex-M3.svd");
|
Project.AddSvdFile ("Cortex-M3.svd");
|
||||||
Project.AddSvdFile ("./LPC18xx.svd");
|
Project.AddSvdFile ("../../../../../../../cmsis-svd/data/NXP/LPC18xx.svd");
|
||||||
|
|
||||||
Project.SetDevice ("LPC1857");
|
Project.SetDevice ("LPC1857");
|
||||||
Project.SetHostIF ("USB", "");
|
Project.SetHostIF ("USB", "");
|
||||||
@ -20,7 +20,8 @@ void OnProjectLoad (void) {
|
|||||||
Project.SetTraceSource ("Trace Pins");
|
Project.SetTraceSource ("Trace Pins");
|
||||||
Project.SetTracePortWidth (4);
|
Project.SetTracePortWidth (4);
|
||||||
|
|
||||||
File.Open ("../../../../../../examples/device/cdc_msc/cmake-build-mcb1800/cdc_msc.elf");
|
//File.Open ("../../../../../../examples/cmake-build-mcb1800/device/cdc_msc/cdc_msc.elf");
|
||||||
|
File.Open ("../../../../../../examples/cmake-build-mcb1800/host/cdc_msc_hid/cdc_msc_hid.elf");
|
||||||
}
|
}
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
*
|
*
|
||||||
|
@ -48,16 +48,14 @@ static pio_usb_configuration_t pio_host_cfg = PIO_USB_DEFAULT_CONFIG;
|
|||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// HCD API
|
// HCD API
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
bool hcd_configure(uint8_t rhport, uint32_t cfg_id, const void* cfg_param)
|
bool hcd_configure(uint8_t rhport, uint32_t cfg_id, const void *cfg_param) {
|
||||||
{
|
|
||||||
(void) rhport;
|
(void) rhport;
|
||||||
TU_VERIFY(cfg_id == TUH_CFGID_RPI_PIO_USB_CONFIGURATION);
|
TU_VERIFY(cfg_id == TUH_CFGID_RPI_PIO_USB_CONFIGURATION);
|
||||||
memcpy(&pio_host_cfg, cfg_param, sizeof(pio_usb_configuration_t));
|
memcpy(&pio_host_cfg, cfg_param, sizeof(pio_usb_configuration_t));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool hcd_init(uint8_t rhport)
|
bool hcd_init(uint8_t rhport) {
|
||||||
{
|
|
||||||
(void) rhport;
|
(void) rhport;
|
||||||
|
|
||||||
// To run USB SOF interrupt in core1, call this init in core1
|
// To run USB SOF interrupt in core1, call this init in core1
|
||||||
@ -66,20 +64,17 @@ bool hcd_init(uint8_t rhport)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void hcd_port_reset(uint8_t rhport)
|
void hcd_port_reset(uint8_t rhport) {
|
||||||
{
|
|
||||||
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
||||||
pio_usb_host_port_reset_start(pio_rhport);
|
pio_usb_host_port_reset_start(pio_rhport);
|
||||||
}
|
}
|
||||||
|
|
||||||
void hcd_port_reset_end(uint8_t rhport)
|
void hcd_port_reset_end(uint8_t rhport) {
|
||||||
{
|
|
||||||
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
||||||
pio_usb_host_port_reset_end(pio_rhport);
|
pio_usb_host_port_reset_end(pio_rhport);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool hcd_port_connect_status(uint8_t rhport)
|
bool hcd_port_connect_status(uint8_t rhport) {
|
||||||
{
|
|
||||||
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
||||||
|
|
||||||
root_port_t *root = PIO_USB_ROOT_PORT(pio_rhport);
|
root_port_t *root = PIO_USB_ROOT_PORT(pio_rhport);
|
||||||
@ -88,33 +83,28 @@ bool hcd_port_connect_status(uint8_t rhport)
|
|||||||
return line_state != PORT_PIN_SE0;
|
return line_state != PORT_PIN_SE0;
|
||||||
}
|
}
|
||||||
|
|
||||||
tusb_speed_t hcd_port_speed_get(uint8_t rhport)
|
tusb_speed_t hcd_port_speed_get(uint8_t rhport) {
|
||||||
{
|
|
||||||
// TODO determine link speed
|
// TODO determine link speed
|
||||||
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
||||||
return PIO_USB_ROOT_PORT(pio_rhport)->is_fullspeed ? TUSB_SPEED_FULL : TUSB_SPEED_LOW;
|
return PIO_USB_ROOT_PORT(pio_rhport)->is_fullspeed ? TUSB_SPEED_FULL : TUSB_SPEED_LOW;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close all opened endpoint belong to this device
|
// Close all opened endpoint belong to this device
|
||||||
void hcd_device_close(uint8_t rhport, uint8_t dev_addr)
|
void hcd_device_close(uint8_t rhport, uint8_t dev_addr) {
|
||||||
{
|
|
||||||
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
||||||
pio_usb_host_close_device(pio_rhport, dev_addr);
|
pio_usb_host_close_device(pio_rhport, dev_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t hcd_frame_number(uint8_t rhport)
|
uint32_t hcd_frame_number(uint8_t rhport) {
|
||||||
{
|
|
||||||
(void) rhport;
|
(void) rhport;
|
||||||
return pio_usb_host_get_frame_number();
|
return pio_usb_host_get_frame_number();
|
||||||
}
|
}
|
||||||
|
|
||||||
void hcd_int_enable(uint8_t rhport)
|
void hcd_int_enable(uint8_t rhport) {
|
||||||
{
|
|
||||||
(void) rhport;
|
(void) rhport;
|
||||||
}
|
}
|
||||||
|
|
||||||
void hcd_int_disable(uint8_t rhport)
|
void hcd_int_disable(uint8_t rhport) {
|
||||||
{
|
|
||||||
(void) rhport;
|
(void) rhport;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,18 +112,16 @@ void hcd_int_disable(uint8_t rhport)
|
|||||||
// Endpoint API
|
// Endpoint API
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
|
|
||||||
bool hcd_edpt_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_endpoint_t const * desc_ep)
|
bool hcd_edpt_open(uint8_t rhport, uint8_t dev_addr, tusb_desc_endpoint_t const *desc_ep) {
|
||||||
{
|
|
||||||
hcd_devtree_info_t dev_tree;
|
hcd_devtree_info_t dev_tree;
|
||||||
hcd_devtree_get_info(dev_addr, &dev_tree);
|
hcd_devtree_get_info(dev_addr, &dev_tree);
|
||||||
bool const need_pre = (dev_tree.hub_addr && dev_tree.speed == TUSB_SPEED_LOW);
|
bool const need_pre = (dev_tree.hub_addr && dev_tree.speed == TUSB_SPEED_LOW);
|
||||||
|
|
||||||
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
||||||
return pio_usb_host_endpoint_open(pio_rhport, dev_addr, (uint8_t const*) desc_ep, need_pre);
|
return pio_usb_host_endpoint_open(pio_rhport, dev_addr, (uint8_t const *) desc_ep, need_pre);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool hcd_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint16_t buflen)
|
bool hcd_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t *buffer, uint16_t buflen) {
|
||||||
{
|
|
||||||
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
||||||
return pio_usb_host_endpoint_transfer(pio_rhport, dev_addr, ep_addr, buffer, buflen);
|
return pio_usb_host_endpoint_transfer(pio_rhport, dev_addr, ep_addr, buffer, buflen);
|
||||||
}
|
}
|
||||||
@ -143,8 +131,7 @@ bool hcd_edpt_abort_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr) {
|
|||||||
return pio_usb_host_endpoint_abort_transfer(pio_rhport, dev_addr, ep_addr);
|
return pio_usb_host_endpoint_abort_transfer(pio_rhport, dev_addr, ep_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool hcd_setup_send(uint8_t rhport, uint8_t dev_addr, uint8_t const setup_packet[8])
|
bool hcd_setup_send(uint8_t rhport, uint8_t dev_addr, uint8_t const setup_packet[8]) {
|
||||||
{
|
|
||||||
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
uint8_t const pio_rhport = RHPORT_PIO(rhport);
|
||||||
return pio_usb_host_send_setup(pio_rhport, dev_addr, setup_packet);
|
return pio_usb_host_send_setup(pio_rhport, dev_addr, setup_packet);
|
||||||
}
|
}
|
||||||
@ -171,18 +158,16 @@ bool hcd_edpt_clear_stall(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __no_inline_not_in_flash_func(handle_endpoint_irq)(root_port_t* rport, xfer_result_t result, volatile uint32_t* ep_reg)
|
static void __no_inline_not_in_flash_func(handle_endpoint_irq)(root_port_t *rport, xfer_result_t result,
|
||||||
{
|
volatile uint32_t *ep_reg) {
|
||||||
(void) rport;
|
(void) rport;
|
||||||
const uint32_t ep_all = *ep_reg;
|
const uint32_t ep_all = *ep_reg;
|
||||||
|
|
||||||
for(uint8_t ep_idx = 0; ep_idx < PIO_USB_EP_POOL_CNT; ep_idx++)
|
for ( uint8_t ep_idx = 0; ep_idx < PIO_USB_EP_POOL_CNT; ep_idx++ ) {
|
||||||
{
|
|
||||||
uint32_t const mask = (1u << ep_idx);
|
uint32_t const mask = (1u << ep_idx);
|
||||||
|
|
||||||
if (ep_all & mask)
|
if ( ep_all & mask ) {
|
||||||
{
|
endpoint_t * ep = PIO_USB_ENDPOINT(ep_idx);
|
||||||
endpoint_t* ep = PIO_USB_ENDPOINT(ep_idx);
|
|
||||||
hcd_event_xfer_complete(ep->dev_addr, ep->ep_num, ep->actual_len, result, true);
|
hcd_event_xfer_complete(ep->dev_addr, ep->ep_num, ep->actual_len, result, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -192,34 +177,28 @@ static void __no_inline_not_in_flash_func(handle_endpoint_irq)(root_port_t* rpor
|
|||||||
}
|
}
|
||||||
|
|
||||||
// IRQ Handler
|
// IRQ Handler
|
||||||
void __no_inline_not_in_flash_func(pio_usb_host_irq_handler)(uint8_t root_id)
|
void __no_inline_not_in_flash_func(pio_usb_host_irq_handler)(uint8_t root_id) {
|
||||||
{
|
|
||||||
uint8_t const tu_rhport = root_id + 1;
|
uint8_t const tu_rhport = root_id + 1;
|
||||||
root_port_t* rport = PIO_USB_ROOT_PORT(root_id);
|
root_port_t *rport = PIO_USB_ROOT_PORT(root_id);
|
||||||
uint32_t const ints = rport->ints;
|
uint32_t const ints = rport->ints;
|
||||||
|
|
||||||
if ( ints & PIO_USB_INTS_CONNECT_BITS )
|
if ( ints & PIO_USB_INTS_CONNECT_BITS ) {
|
||||||
{
|
|
||||||
hcd_event_device_attach(tu_rhport, true);
|
hcd_event_device_attach(tu_rhport, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ints & PIO_USB_INTS_DISCONNECT_BITS )
|
if ( ints & PIO_USB_INTS_DISCONNECT_BITS ) {
|
||||||
{
|
|
||||||
hcd_event_device_remove(tu_rhport, true);
|
hcd_event_device_remove(tu_rhport, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ints & PIO_USB_INTS_ENDPOINT_COMPLETE_BITS )
|
if ( ints & PIO_USB_INTS_ENDPOINT_COMPLETE_BITS ) {
|
||||||
{
|
|
||||||
handle_endpoint_irq(rport, XFER_RESULT_SUCCESS, &rport->ep_complete);
|
handle_endpoint_irq(rport, XFER_RESULT_SUCCESS, &rport->ep_complete);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ints & PIO_USB_INTS_ENDPOINT_STALLED_BITS )
|
if ( ints & PIO_USB_INTS_ENDPOINT_STALLED_BITS ) {
|
||||||
{
|
|
||||||
handle_endpoint_irq(rport, XFER_RESULT_STALLED, &rport->ep_stalled);
|
handle_endpoint_irq(rport, XFER_RESULT_STALLED, &rport->ep_stalled);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ints & PIO_USB_INTS_ENDPOINT_ERROR_BITS )
|
if ( ints & PIO_USB_INTS_ENDPOINT_ERROR_BITS ) {
|
||||||
{
|
|
||||||
handle_endpoint_irq(rport, XFER_RESULT_FAILED, &rport->ep_error);
|
handle_endpoint_irq(rport, XFER_RESULT_FAILED, &rport->ep_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user