mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-31 05:52:55 +08:00
house keeping, clean up warnings
This commit is contained in:
parent
d15ba08fdc
commit
5708863859
@ -66,8 +66,8 @@
|
||||
|
||||
#include "oem_base_board/pca9532.h" // LEDs
|
||||
|
||||
#define CFG_PRINTF_TARGET PRINTF_TARGET_SWO
|
||||
//#define CFG_PRINTF_TARGET PRINTF_TARGET_UART
|
||||
//#define CFG_PRINTF_TARGET PRINTF_TARGET_SWO
|
||||
#define CFG_PRINTF_TARGET PRINTF_TARGET_UART // FIXME keil's cmsis rtx does not work with UART (work with SWO)
|
||||
|
||||
/*=========================================================================
|
||||
HARDWARE MAC ADDRESS
|
||||
|
@ -49,6 +49,7 @@ extern "C" {
|
||||
#elif defined(__GNUC__)
|
||||
/* anonymous unions are enabled by default */
|
||||
#elif defined(__IAR_SYSTEMS_ICC__)
|
||||
#pragma diag_suppress=Pe161 // suppress unknow pragma
|
||||
#pragma push
|
||||
#pragma language=extended
|
||||
#else
|
||||
|
@ -529,7 +529,7 @@
|
||||
<Focus>0</Focus>
|
||||
<ColumnNumber>0</ColumnNumber>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<TopLine>40</TopLine>
|
||||
<TopLine>41</TopLine>
|
||||
<CurrentLine>56</CurrentLine>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\bsp\boards\embedded_artists\board_ea4357.c</PathWithFileName>
|
||||
@ -681,7 +681,7 @@
|
||||
<Focus>0</Focus>
|
||||
<ColumnNumber>30</ColumnNumber>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<TopLine>27</TopLine>
|
||||
<TopLine>28</TopLine>
|
||||
<CurrentLine>39</CurrentLine>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\..\tinyusb\tusb.c</PathWithFileName>
|
||||
@ -745,7 +745,7 @@
|
||||
<Focus>0</Focus>
|
||||
<ColumnNumber>38</ColumnNumber>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<TopLine>357</TopLine>
|
||||
<TopLine>358</TopLine>
|
||||
<CurrentLine>364</CurrentLine>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\..\tinyusb\host\usbh.c</PathWithFileName>
|
||||
@ -761,7 +761,7 @@
|
||||
<Focus>0</Focus>
|
||||
<ColumnNumber>18</ColumnNumber>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<TopLine>584</TopLine>
|
||||
<TopLine>589</TopLine>
|
||||
<CurrentLine>606</CurrentLine>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\..\tinyusb\host\ehci\ehci.c</PathWithFileName>
|
||||
@ -993,7 +993,7 @@
|
||||
<Focus>0</Focus>
|
||||
<ColumnNumber>0</ColumnNumber>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<TopLine>390</TopLine>
|
||||
<TopLine>391</TopLine>
|
||||
<CurrentLine>406</CurrentLine>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\bsp\lpc43xx\CMSIS_LPC43xx_DriverLib\src\lpc43xx_cgu.c</PathWithFileName>
|
||||
@ -1009,7 +1009,7 @@
|
||||
<Focus>0</Focus>
|
||||
<ColumnNumber>44</ColumnNumber>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<TopLine>47</TopLine>
|
||||
<TopLine>48</TopLine>
|
||||
<CurrentLine>60</CurrentLine>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\bsp\lpc43xx\CMSIS_LPC43xx_DriverLib\src\system_LPC43xx.c</PathWithFileName>
|
||||
@ -1049,7 +1049,7 @@
|
||||
<Focus>0</Focus>
|
||||
<ColumnNumber>0</ColumnNumber>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<TopLine>137</TopLine>
|
||||
<TopLine>138</TopLine>
|
||||
<CurrentLine>151</CurrentLine>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\bsp\lpc43xx\startup_keil\startup_LPC43xx.s</PathWithFileName>
|
||||
@ -1071,10 +1071,10 @@
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<Focus>0</Focus>
|
||||
<ColumnNumber>0</ColumnNumber>
|
||||
<ColumnNumber>13</ColumnNumber>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<TopLine>202</TopLine>
|
||||
<CurrentLine>204</CurrentLine>
|
||||
<TopLine>203</TopLine>
|
||||
<CurrentLine>215</CurrentLine>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\..\vendor\cmsis_rtos_rtx\RTX_Conf_CM.c</PathWithFileName>
|
||||
<FilenameWithoutPath>RTX_Conf_CM.c</FilenameWithoutPath>
|
||||
|
@ -938,6 +938,9 @@
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\src\mouse_app.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\src\msc_app.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\src\rndis_app.c</name>
|
||||
</file>
|
||||
@ -1003,6 +1006,9 @@
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\tinyusb\class\hid_host.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\tinyusb\class\msc_host.c</name>
|
||||
</file>
|
||||
</group>
|
||||
<group>
|
||||
<name>common</name>
|
||||
|
@ -52,6 +52,7 @@
|
||||
|
||||
#include "mouse_app.h"
|
||||
#include "keyboard_app.h"
|
||||
#include "msc_app.h"
|
||||
#include "cdc_serial_app.h"
|
||||
#include "rndis_app.h"
|
||||
|
||||
|
71
demos/host/src/msc_app.h
Normal file
71
demos/host/src/msc_app.h
Normal file
@ -0,0 +1,71 @@
|
||||
/**************************************************************************/
|
||||
/*!
|
||||
@file msc_app.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 TBD
|
||||
* \defgroup TBD
|
||||
* \brief TBD
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef _TUSB_MSC_APP_H_
|
||||
#define _TUSB_MSC_APP_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "boards/board.h"
|
||||
#include "tusb.h"
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
void msc_app_init(void);
|
||||
OSAL_TASK_FUNCTION( msc_app_task ) (void* p_task_para);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _TUSB_MSC_APP_H_ */
|
||||
|
||||
/** @} */
|
@ -159,6 +159,13 @@ tusb_error_t control_xfer_stub(uint8_t dev_addr, const tusb_control_request_t *
|
||||
memcpy(data, &desc_configuration, p_request->wLength);
|
||||
break;
|
||||
|
||||
case 5: // set configure
|
||||
TEST_ASSERT_EQUAL(TUSB_REQUEST_SET_CONFIGURATION, p_request->bRequest);
|
||||
TEST_ASSERT_EQUAL(1, p_request->wValue);
|
||||
TEST_ASSERT_EQUAL(0, p_request->wIndex);
|
||||
TEST_ASSERT_EQUAL(0, p_request->wLength);
|
||||
break;
|
||||
|
||||
default:
|
||||
return TUSB_ERROR_OSAL_TIMEOUT;
|
||||
}
|
||||
|
@ -224,10 +224,7 @@ tusb_error_t cdch_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
|
||||
#endif
|
||||
{
|
||||
// FIXME mounted class flag is not set yet
|
||||
if (tusbh_cdc_mounted_cb)
|
||||
{
|
||||
tusbh_cdc_mounted_cb(dev_addr);
|
||||
}
|
||||
tusbh_cdc_mounted_cb(dev_addr);
|
||||
}
|
||||
|
||||
OSAL_SUBTASK_END
|
||||
@ -243,15 +240,12 @@ void cdch_isr(pipe_handle_t pipe_hdl, tusb_event_t event, uint32_t xferred_bytes
|
||||
rndish_xfer_isr(p_cdc, pipe_hdl, event, xferred_bytes);
|
||||
} else
|
||||
#endif
|
||||
if (tusbh_cdc_xfer_isr)
|
||||
{
|
||||
tusbh_cdc_xfer_isr( pipe_hdl.dev_addr, event, get_app_pipeid(pipe_hdl), xferred_bytes );
|
||||
}
|
||||
|
||||
tusbh_cdc_xfer_isr( pipe_hdl.dev_addr, event, get_app_pipeid(pipe_hdl), xferred_bytes );
|
||||
}
|
||||
|
||||
void cdch_close(uint8_t dev_addr)
|
||||
{
|
||||
tusb_error_t err1, err2, err3;
|
||||
cdch_data_t * p_cdc = &cdch_data[dev_addr-1];
|
||||
|
||||
#if TUSB_CFG_HOST_CDC_RNDIS
|
||||
@ -261,20 +255,9 @@ void cdch_close(uint8_t dev_addr)
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( pipehandle_is_valid(p_cdc->pipe_notification) )
|
||||
{
|
||||
err1 = hcd_pipe_close(p_cdc->pipe_notification);
|
||||
}
|
||||
|
||||
if ( pipehandle_is_valid(p_cdc->pipe_in) )
|
||||
{
|
||||
err2 = hcd_pipe_close(p_cdc->pipe_in);
|
||||
}
|
||||
|
||||
if ( pipehandle_is_valid(p_cdc->pipe_out) )
|
||||
{
|
||||
err3 = hcd_pipe_close(p_cdc->pipe_out);
|
||||
}
|
||||
(void) hcd_pipe_close(p_cdc->pipe_notification);
|
||||
(void) hcd_pipe_close(p_cdc->pipe_in);
|
||||
(void) hcd_pipe_close(p_cdc->pipe_out);
|
||||
|
||||
#if TUSB_CFG_HOST_CDC_RNDIS
|
||||
|
||||
@ -282,14 +265,7 @@ void cdch_close(uint8_t dev_addr)
|
||||
|
||||
memclr_(p_cdc, sizeof(cdch_data_t));
|
||||
|
||||
if (tusbh_cdc_unmounted_isr)
|
||||
{
|
||||
tusbh_cdc_unmounted_isr(dev_addr);
|
||||
}
|
||||
|
||||
ASSERT(err1 == TUSB_ERROR_NONE &&
|
||||
err2 == TUSB_ERROR_NONE &&
|
||||
err3 == TUSB_ERROR_NONE, VOID_RETURN );
|
||||
tusbh_cdc_unmounted_isr(dev_addr);
|
||||
|
||||
}
|
||||
|
||||
|
@ -244,10 +244,7 @@ tusb_error_t hidh_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
|
||||
if ( HID_PROTOCOL_KEYBOARD == p_interface_desc->bInterfaceProtocol)
|
||||
{
|
||||
SUBTASK_ASSERT_STATUS ( hidh_interface_open(dev_addr, p_interface_desc->bInterfaceNumber, p_endpoint_desc, &keyboardh_data[dev_addr-1]) );
|
||||
if ( tusbh_hid_keyboard_mounted_cb )
|
||||
{
|
||||
tusbh_hid_keyboard_mounted_cb(dev_addr);
|
||||
}
|
||||
tusbh_hid_keyboard_mounted_cb(dev_addr);
|
||||
} else
|
||||
#endif
|
||||
|
||||
@ -255,10 +252,7 @@ tusb_error_t hidh_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
|
||||
if ( HID_PROTOCOL_MOUSE == p_interface_desc->bInterfaceProtocol)
|
||||
{
|
||||
SUBTASK_ASSERT_STATUS ( hidh_interface_open(dev_addr, p_interface_desc->bInterfaceNumber, p_endpoint_desc, &mouseh_data[dev_addr-1]) );
|
||||
if (tusbh_hid_mouse_mounted_cb)
|
||||
{
|
||||
tusbh_hid_mouse_mounted_cb(dev_addr);
|
||||
}
|
||||
tusbh_hid_mouse_mounted_cb(dev_addr);
|
||||
} else
|
||||
#endif
|
||||
|
||||
@ -281,10 +275,7 @@ void hidh_isr(pipe_handle_t pipe_hdl, tusb_event_t event, uint32_t xferred_bytes
|
||||
if ( pipehandle_is_equal(pipe_hdl, keyboardh_data[pipe_hdl.dev_addr-1].pipe_hdl) )
|
||||
{
|
||||
keyboardh_data[pipe_hdl.dev_addr-1].status = (event == TUSB_EVENT_XFER_COMPLETE) ? TUSB_INTERFACE_STATUS_COMPLETE : TUSB_INTERFACE_STATUS_ERROR;
|
||||
if (tusbh_hid_keyboard_isr)
|
||||
{
|
||||
tusbh_hid_keyboard_isr(pipe_hdl.dev_addr, event);
|
||||
}
|
||||
tusbh_hid_keyboard_isr(pipe_hdl.dev_addr, event);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
@ -293,11 +284,7 @@ void hidh_isr(pipe_handle_t pipe_hdl, tusb_event_t event, uint32_t xferred_bytes
|
||||
if ( pipehandle_is_equal(pipe_hdl, mouseh_data[pipe_hdl.dev_addr-1].pipe_hdl) )
|
||||
{
|
||||
mouseh_data[pipe_hdl.dev_addr-1].status = (event == TUSB_EVENT_XFER_COMPLETE) ? TUSB_INTERFACE_STATUS_COMPLETE : TUSB_INTERFACE_STATUS_ERROR;
|
||||
if (tusbh_hid_mouse_isr)
|
||||
{
|
||||
tusbh_hid_mouse_isr(pipe_hdl.dev_addr, event);
|
||||
}
|
||||
|
||||
tusbh_hid_mouse_isr(pipe_hdl.dev_addr, event);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
@ -94,7 +94,7 @@ tusb_error_t msch_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
|
||||
}
|
||||
|
||||
//------------- Open Data Pipe -------------//
|
||||
tusb_descriptor_endpoint_t const *p_endpoint = (tusb_descriptor_endpoint_t const *) descriptor_next( p_interface_desc );
|
||||
tusb_descriptor_endpoint_t const *p_endpoint = (tusb_descriptor_endpoint_t const *) descriptor_next( (uint8_t const*) p_interface_desc );
|
||||
for(uint32_t i=0; i<2; i++)
|
||||
{
|
||||
ASSERT_INT(TUSB_DESC_TYPE_ENDPOINT, p_endpoint->bDescriptorType, TUSB_ERROR_USBH_DESCRIPTOR_CORRUPTED);
|
||||
@ -105,7 +105,7 @@ tusb_error_t msch_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
|
||||
(*p_pipe_hdl) = hcd_pipe_open(dev_addr, p_endpoint, TUSB_CLASS_MSC);
|
||||
ASSERT ( pipehandle_is_valid(*p_pipe_hdl), TUSB_ERROR_HCD_OPEN_PIPE_FAILED );
|
||||
|
||||
p_endpoint = (tusb_descriptor_endpoint_t const *) descriptor_next( p_endpoint );
|
||||
p_endpoint = (tusb_descriptor_endpoint_t const *) descriptor_next( (uint8_t const*) p_endpoint );
|
||||
}
|
||||
|
||||
msch_data[dev_addr-1].interface_number = p_interface_desc->bInterfaceNumber;
|
||||
@ -119,8 +119,7 @@ tusb_error_t msch_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
|
||||
error
|
||||
);
|
||||
|
||||
SUBTASK_ASSERT( TUSB_ERROR_NONE != error /* && TODO STALL means zero */);
|
||||
|
||||
SUBTASK_ASSERT( TUSB_ERROR_NONE == error /* && TODO STALL means zero */);
|
||||
msch_data[dev_addr-1].max_lun = msch_buffer[0];
|
||||
|
||||
//------------- SCSI Inquiry -------------//
|
||||
@ -133,7 +132,7 @@ tusb_error_t msch_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t con
|
||||
return TUSB_ERROR_NONE;
|
||||
}
|
||||
|
||||
void msch_isr(pipe_handle_t pipe_hdl, tusb_event_t event)
|
||||
void msch_isr(pipe_handle_t pipe_hdl, tusb_event_t event, uint32_t xferred_bytes)
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ void tusbh_msc_mounted_cb(uint8_t dev_addr);
|
||||
|
||||
void msch_init(void);
|
||||
tusb_error_t msch_open_subtask(uint8_t dev_addr, tusb_descriptor_interface_t const *p_interface_desc, uint16_t *p_length) ATTR_WARN_UNUSED_RESULT;
|
||||
void msch_isr(pipe_handle_t pipe_hdl, tusb_event_t event);
|
||||
void msch_isr(pipe_handle_t pipe_hdl, tusb_event_t event, uint32_t xferred_bytes);
|
||||
void msch_close(uint8_t dev_addr);
|
||||
#endif
|
||||
|
||||
|
@ -689,7 +689,9 @@ void hcd_isr(uint8_t hostid)
|
||||
{
|
||||
ehci_registers_t* const regs = get_operational_register(hostid);
|
||||
|
||||
uint32_t int_status = regs->usb_sts & regs->usb_int_enable;
|
||||
uint32_t int_status = regs->usb_sts;
|
||||
int_status &= regs->usb_int_enable;
|
||||
|
||||
regs->usb_sts |= int_status; // Acknowledge handled interrupt
|
||||
|
||||
if (int_status == 0)
|
||||
|
@ -206,9 +206,11 @@ tusb_error_t usbh_control_xfer_subtask(uint8_t dev_addr, uint8_t bmRequestType,
|
||||
#ifndef _TEST_
|
||||
usbh_devices[dev_addr].control.pipe_status = 0;
|
||||
#else
|
||||
usbh_devices[dev_addr].control.pipe_status = TUSB_EVENT_XFER_COMPLETE; // in Test project, mark as complete to imm pass
|
||||
usbh_devices[dev_addr].control.pipe_status = TUSB_EVENT_XFER_COMPLETE; // in Test project, mark as complete immediately
|
||||
#endif
|
||||
/*SUBTASK_ASSERT_STATUS*/ (void) ( hcd_pipe_control_xfer(dev_addr, &usbh_devices[dev_addr].control.request, data) );
|
||||
|
||||
SUBTASK_ASSERT_STATUS_WITH_HANDLER( hcd_pipe_control_xfer(dev_addr, &usbh_devices[dev_addr].control.request, data),
|
||||
osal_mutex_release(usbh_devices[dev_addr].control.mutex_hdl) );
|
||||
|
||||
osal_semaphore_wait(usbh_devices[dev_addr].control.sem_hdl, OSAL_TIMEOUT_NORMAL, &error); // careful of local variable without static
|
||||
osal_mutex_release(usbh_devices[dev_addr].control.mutex_hdl);
|
||||
|
Loading…
x
Reference in New Issue
Block a user