From 6392903fb2b81c24bcbdfea323f58aaaf94e15ce Mon Sep 17 00:00:00 2001 From: hathach Date: Sun, 11 Mar 2018 12:31:24 +0700 Subject: [PATCH] refactor dcd layer --- hw/mcu/nxp/lpc43xx/hal/dcd_lpc43xx.c | 1 - tinyusb/device/dcd.h | 1 + tinyusb/device/usbd.c | 2 +- tinyusb/device/usbd.h | 11 ++++ tinyusb/device/usbd_dcd.h | 80 ---------------------------- 5 files changed, 13 insertions(+), 82 deletions(-) delete mode 100644 tinyusb/device/usbd_dcd.h diff --git a/hw/mcu/nxp/lpc43xx/hal/dcd_lpc43xx.c b/hw/mcu/nxp/lpc43xx/hal/dcd_lpc43xx.c index 987d67285..009bd0aff 100644 --- a/hw/mcu/nxp/lpc43xx/hal/dcd_lpc43xx.c +++ b/hw/mcu/nxp/lpc43xx/hal/dcd_lpc43xx.c @@ -49,7 +49,6 @@ #include "common/timeout_timer.h" #include "device/dcd.h" -#include "device/usbd_dcd.h" #include "dcd_lpc43xx.h" #include "LPC43xx.h" diff --git a/tinyusb/device/dcd.h b/tinyusb/device/dcd.h index 2330437b8..344ec4f3c 100644 --- a/tinyusb/device/dcd.h +++ b/tinyusb/device/dcd.h @@ -79,6 +79,7 @@ void hal_dcd_set_config (uint8_t port, uint8_t config_num); /*------------- Event function -------------*/ void hal_dcd_bus_event(uint8_t port, usbd_bus_event_type_t bus_event); void hal_dcd_setup_received(uint8_t port, uint8_t const* p_request); +void usbd_xfer_isr(endpoint_handle_t edpt_hdl, tusb_event_t event, uint32_t xferred_bytes); //------------- PIPE API -------------// bool hal_dcd_control_xfer(uint8_t port, tusb_direction_t dir, uint8_t * p_buffer, uint16_t length, bool int_on_complete); diff --git a/tinyusb/device/usbd.c b/tinyusb/device/usbd.c index a89d91c32..38a44a70f 100644 --- a/tinyusb/device/usbd.c +++ b/tinyusb/device/usbd.c @@ -46,7 +46,7 @@ // INCLUDE //--------------------------------------------------------------------+ #include "tusb.h" -#include "usbd_dcd.h" +#include "usbd.h" //--------------------------------------------------------------------+ // MACRO CONSTANT TYPEDEF diff --git a/tinyusb/device/usbd.h b/tinyusb/device/usbd.h index e3cbd3c93..b3c6c23fc 100644 --- a/tinyusb/device/usbd.h +++ b/tinyusb/device/usbd.h @@ -86,6 +86,17 @@ typedef struct { void (* close) (uint8_t); } usbd_class_driver_t; + +enum { + USBD_INTERFACE_NUM_MAX = 16 // USB specs specify up to 16 endpoints per device +}; + + +typedef struct { + volatile uint8_t state; + uint8_t interface2class[USBD_INTERFACE_NUM_MAX]; // determine interface number belongs to which class +}usbd_device_info_t; + //--------------------------------------------------------------------+ // APPLICATION API //--------------------------------------------------------------------+ diff --git a/tinyusb/device/usbd_dcd.h b/tinyusb/device/usbd_dcd.h deleted file mode 100644 index a32fffae3..000000000 --- a/tinyusb/device/usbd_dcd.h +++ /dev/null @@ -1,80 +0,0 @@ -/**************************************************************************/ -/*! - @file usbd_dcd.h - @author hathach (tinyusb.org) - - @section LICENSE - - Software License Agreement (BSD License) - - Copyright (c) 2013, hathach (tinyusb.org) - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the copyright holders nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - This file is part of the tinyusb stack. -*/ -/**************************************************************************/ - -/** \ingroup group_usbd - * @{ */ - -#ifndef _TUSB_USBD_DCD_H_ -#define _TUSB_USBD_DCD_H_ - -//--------------------------------------------------------------------+ -// INCLUDE -//--------------------------------------------------------------------+ -#include "common/common.h" - -#ifdef __cplusplus - extern "C" { -#endif - -enum { - USBD_INTERFACE_NUM_MAX = 16 // USB specs specify up to 16 endpoints per device -}; - - - -typedef struct { - volatile uint8_t state; - uint8_t interface2class[USBD_INTERFACE_NUM_MAX]; // determine interface number belongs to which class -}usbd_device_info_t; - -extern usbd_device_info_t usbd_devices[CONTROLLER_DEVICE_NUMBER]; - - -//--------------------------------------------------------------------+ -// callback from DCD ISR -//--------------------------------------------------------------------+ -void usbd_xfer_isr(endpoint_handle_t edpt_hdl, tusb_event_t event, uint32_t xferred_bytes); - - -#ifdef __cplusplus - } -#endif - -#endif /* _TUSB_USBD_DCD_H_ */ - -/** @} */