mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-02-22 00:25:24 +08:00
Merge pull request #1871 from uestczyh222/master
[Components][USB]增加健壮性
This commit is contained in:
commit
65fc7421e0
@ -1,7 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
* File : hid.c
|
* File : hid.c
|
||||||
* COPYRIGHT (C) 2008 - 2016, RT-Thread Development Team
|
* COPYRIGHT (C) 2008 - 2018, RT-Thread Development Team
|
||||||
*
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
* Change Logs:
|
* Change Logs:
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2017-03-13 Urey the first version
|
* 2017-03-13 Urey the first version
|
||||||
@ -294,9 +296,8 @@ const static struct uhid_comm_descriptor _hid_comm_desc =
|
|||||||
USB_HID_PROTOCOL_MOUSE, /* nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse */
|
USB_HID_PROTOCOL_MOUSE, /* nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse */
|
||||||
#endif
|
#endif
|
||||||
0x00,
|
0x00,
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
|
#endif
|
||||||
/* Interface Descriptor */
|
/* Interface Descriptor */
|
||||||
{
|
{
|
||||||
USB_DESC_LENGTH_INTERFACE,
|
USB_DESC_LENGTH_INTERFACE,
|
||||||
|
@ -1,21 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* File : usbdevice.c
|
* File : hid.c
|
||||||
* This file is part of RT-Thread RTOS
|
* COPYRIGHT (C) 2008 - 2018, RT-Thread Development Team
|
||||||
* COPYRIGHT (C) 2012, RT-Thread Development Team
|
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along
|
|
||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*
|
*
|
||||||
* Change Logs:
|
* Change Logs:
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
@ -96,6 +83,13 @@ INIT_BOARD_EXPORT(rt_usbd_class_list_init);
|
|||||||
|
|
||||||
rt_err_t rt_usbd_class_register(udclass_t udclass)
|
rt_err_t rt_usbd_class_register(udclass_t udclass)
|
||||||
{
|
{
|
||||||
|
#ifndef RT_USB_DEVICE_COMPOSITE
|
||||||
|
if(!rt_list_isempty(&class_list))
|
||||||
|
{
|
||||||
|
rt_kprintf("[D/USBD] If you want to use usb composite device please define RT_USB_DEVICE_COMPOSITE\n");
|
||||||
|
return RT_ERROR;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
rt_list_insert_before(&class_list,&udclass->list);
|
rt_list_insert_before(&class_list,&udclass->list);
|
||||||
return RT_EOK;
|
return RT_EOK;
|
||||||
}
|
}
|
||||||
@ -109,6 +103,11 @@ rt_err_t rt_usb_device_init(void)
|
|||||||
rt_list_t *i;
|
rt_list_t *i;
|
||||||
udclass_t udclass;
|
udclass_t udclass;
|
||||||
|
|
||||||
|
if(rt_list_isempty(&class_list))
|
||||||
|
{
|
||||||
|
rt_kprintf("[D/USBD] No class register on usb device\n");
|
||||||
|
return RT_ERROR;
|
||||||
|
}
|
||||||
/* create and startup usb device thread */
|
/* create and startup usb device thread */
|
||||||
rt_usbd_core_init();
|
rt_usbd_core_init();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user