usb: samples: Application calling usb_enable by itself
User app is reponsible for issuing usb_enable and making USB hardware operative. Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
This commit is contained in:
parent
e3619d50e0
commit
d65027d8c0
|
@ -33,6 +33,7 @@
|
|||
#ifdef CONFIG_UART_CONSOLE_MCUMGR
|
||||
#include "mgmt/serial.h"
|
||||
#endif
|
||||
#include <usb/usb_device.h>
|
||||
|
||||
static struct device *uart_console_dev;
|
||||
|
||||
|
@ -596,6 +597,13 @@ static int uart_console_init(struct device *arg)
|
|||
uart_console_dev = device_get_binding(CONFIG_UART_CONSOLE_ON_DEV_NAME);
|
||||
|
||||
#if defined(CONFIG_USB_UART_CONSOLE) && defined(CONFIG_USB_UART_DTR_WAIT)
|
||||
int ret;
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
while (1) {
|
||||
u32_t dtr = 0U;
|
||||
|
||||
|
|
|
@ -217,12 +217,15 @@ int usb_set_config(const u8_t *usb_descriptor);
|
|||
int usb_deconfig(void);
|
||||
|
||||
/**
|
||||
* @brief Enable USB for host/device connection
|
||||
* @brief Enable the USB subsystem and associated hardware
|
||||
*
|
||||
* Function to enable USB for host/device connection.
|
||||
* Upon success, the USB module is no longer clock gated in hardware,
|
||||
* it is now capable of transmitting and receiving on the USB bus and
|
||||
* of generating interrupts.
|
||||
* This function initializes the USB core subsystem and enables the
|
||||
* corresponding hardware so that it can begin transmitting and receiving
|
||||
* on the USB bus, as well as generating interrupts.
|
||||
*
|
||||
* Class-specific initialization and registration must be performed by the user
|
||||
* before invoking this, so that any data or events on the bus are processed
|
||||
* correctly by the associated class handling code.
|
||||
*
|
||||
* @return 0 on success, negative errno code on fail.
|
||||
*/
|
||||
|
|
|
@ -6,8 +6,17 @@
|
|||
|
||||
#include <zephyr.h>
|
||||
#include <sys/printk.h>
|
||||
#include <usb/usb_device.h>
|
||||
|
||||
void main(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
printk("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
printk("Bluetooth over USB sample\n");
|
||||
}
|
||||
|
|
|
@ -82,6 +82,8 @@ static struct device *hid_device;
|
|||
|
||||
int usb_transport_init(usb_transport_receive_callback_t callback)
|
||||
{
|
||||
int ret;
|
||||
|
||||
hid_device = device_get_binding("HID_0");
|
||||
|
||||
if (hid_device == NULL) {
|
||||
|
@ -96,6 +98,12 @@ int usb_transport_init(usb_transport_receive_callback_t callback)
|
|||
|
||||
receive_data_cb = callback;
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
/* initialize USB interface and HID class */
|
||||
return usb_hid_init(hid_device);
|
||||
}
|
||||
|
|
|
@ -401,6 +401,7 @@ out:
|
|||
|
||||
void main(void)
|
||||
{
|
||||
int ret;
|
||||
LOG_INF("Starting wpanusb");
|
||||
|
||||
ieee802154_dev = device_get_binding(CONFIG_NET_CONFIG_IEEE802154_DEV_NAME);
|
||||
|
@ -417,6 +418,11 @@ void main(void)
|
|||
|
||||
radio_api = (struct ieee802154_radio_api *)ieee802154_dev->driver_api;
|
||||
|
||||
ret = usb_enable(NULL);
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
/* TODO: Initialize more */
|
||||
|
||||
LOG_DBG("radio_api %p initialized", radio_api);
|
||||
|
|
|
@ -184,6 +184,7 @@ static void trigger_handler(struct device *dev, struct sensor_trigger *tr)
|
|||
|
||||
void main(void)
|
||||
{
|
||||
int ret;
|
||||
u8_t report[4] = { 0x00 };
|
||||
u8_t toggle = 0U;
|
||||
struct device *led_dev, *accel_dev, *hid_dev;
|
||||
|
@ -245,6 +246,13 @@ void main(void)
|
|||
|
||||
usb_hid_register_device(hid_dev, hid_report_desc,
|
||||
sizeof(hid_report_desc), NULL);
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
usb_hid_init(hid_dev);
|
||||
|
||||
while (true) {
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <zephyr.h>
|
||||
#include <sys/ring_buffer.h>
|
||||
|
||||
#include <usb/usb_device.h>
|
||||
#include <logging/log.h>
|
||||
LOG_MODULE_REGISTER(cdc_acm_echo, LOG_LEVEL_INF);
|
||||
|
||||
|
@ -81,6 +82,12 @@ void main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
ring_buf_init(&ringbuf, sizeof(ring_buffer), ring_buffer);
|
||||
|
||||
LOG_INF("Wait for DTR");
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <zephyr.h>
|
||||
#include <sys/ring_buffer.h>
|
||||
|
||||
#include <usb/usb_device.h>
|
||||
#include <logging/log.h>
|
||||
LOG_MODULE_REGISTER(cdc_acm_composite, LOG_LEVEL_INF);
|
||||
|
||||
|
@ -111,6 +112,8 @@ static void uart_line_set(struct device *dev)
|
|||
|
||||
void main(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
struct serial_data *dev_data0 = &peers[0];
|
||||
struct serial_data *dev_data1 = &peers[1];
|
||||
struct device *dev0, *dev1;
|
||||
|
@ -128,6 +131,12 @@ void main(void)
|
|||
return;
|
||||
}
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
LOG_INF("Wait for DTR");
|
||||
|
||||
while (1) {
|
||||
|
|
|
@ -9,12 +9,18 @@
|
|||
|
||||
#include <zephyr.h>
|
||||
#include <logging/log.h>
|
||||
#include <usb/usb_device.h>
|
||||
LOG_MODULE_REGISTER(main);
|
||||
|
||||
void main(void)
|
||||
{
|
||||
/* Nothing to be done other than the selecting appropriate build
|
||||
* config options. Use dfu-util to update the device.
|
||||
*/
|
||||
int ret;
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
LOG_INF("This device supports USB DFU class.\n");
|
||||
}
|
||||
|
|
|
@ -553,6 +553,8 @@ int callbacks_configure(struct device *gpio, u32_t pin, int flags,
|
|||
|
||||
void main(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
struct device *hid0_dev, *hid1_dev, *cdc0_dev, *cdc1_dev;
|
||||
u32_t dtr = 0U;
|
||||
struct app_evt_t *ev;
|
||||
|
@ -620,9 +622,16 @@ void main(void)
|
|||
|
||||
usb_hid_register_device(hid1_dev, hid_kbd_report_desc,
|
||||
sizeof(hid_kbd_report_desc), &ops);
|
||||
|
||||
usb_hid_init(hid0_dev);
|
||||
usb_hid_init(hid1_dev);
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
/* Initialize CDC ACM */
|
||||
|
||||
LOG_INF("Wait for DTR on CDC ACM 0");
|
||||
|
|
|
@ -213,6 +213,8 @@ int callbacks_configure(struct device *gpio, u32_t pin, int flags,
|
|||
|
||||
void main(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
u8_t report[4] = { 0x00 };
|
||||
u8_t toggle = 0U;
|
||||
struct device *led_dev, *hid_dev;
|
||||
|
@ -267,8 +269,15 @@ void main(void)
|
|||
usb_hid_register_device(hid_dev,
|
||||
hid_report_desc, sizeof(hid_report_desc),
|
||||
&ops);
|
||||
|
||||
usb_hid_init(hid_dev);
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
while (true) {
|
||||
k_sem_take(&sem, K_FOREVER);
|
||||
|
||||
|
|
|
@ -116,8 +116,16 @@ static const struct hid_ops ops = {
|
|||
|
||||
void main(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
LOG_DBG("Starting application");
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
k_delayed_work_init(&delayed_report_send, send_report);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
#include <zephyr.h>
|
||||
#include <logging/log.h>
|
||||
#include <usb/usb_device.h>
|
||||
LOG_MODULE_REGISTER(main);
|
||||
|
||||
#if CONFIG_DISK_ACCESS_FLASH && CONFIG_FAT_FILESYSTEM_ELM
|
||||
|
@ -27,9 +28,14 @@ static struct fs_mount_t fatfs_mnt = {
|
|||
|
||||
void main(void)
|
||||
{
|
||||
/* Nothing to be done other than the selecting appropriate build
|
||||
* config options. Everything is driven from the USB host side.
|
||||
*/
|
||||
int ret;
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
LOG_INF("The device is put in USB mass storage mode.\n");
|
||||
|
||||
#if CONFIG_DISK_ACCESS_FLASH && CONFIG_FAT_FILESYSTEM_ELM
|
||||
|
|
|
@ -6,9 +6,19 @@
|
|||
|
||||
#include <zephyr.h>
|
||||
#include <logging/log.h>
|
||||
#include <usb/usb_device.h>
|
||||
LOG_MODULE_REGISTER(main);
|
||||
|
||||
void main(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
LOG_INF("entered main.");
|
||||
}
|
||||
|
||||
|
|
|
@ -283,11 +283,20 @@ static struct webusb_req_handlers req_handlers = {
|
|||
|
||||
void main(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
LOG_DBG("");
|
||||
|
||||
/* Set the custom and vendor request handlers */
|
||||
webusb_register_request_handlers(&req_handlers);
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
usb_bos_register_cap((void *)&bos_cap_webusb);
|
||||
usb_bos_register_cap((void *)&bos_cap_msosv2);
|
||||
}
|
||||
|
||||
|
|
|
@ -125,10 +125,18 @@ bool netusb_enabled(void)
|
|||
|
||||
static void netusb_init(struct net_if *iface)
|
||||
{
|
||||
int ret;
|
||||
|
||||
static u8_t mac[6] = { 0x00, 0x00, 0x5E, 0x00, 0x53, 0x00 };
|
||||
|
||||
LOG_DBG("netusb device initialization");
|
||||
|
||||
ret = usb_enable();
|
||||
if (ret != 0) {
|
||||
LOG_ERR("Failed to enable USB");
|
||||
return;
|
||||
}
|
||||
|
||||
netusb.iface = iface;
|
||||
|
||||
ethernet_init(iface);
|
||||
|
|
|
@ -1645,8 +1645,6 @@ static int usb_device_init(struct device *dev)
|
|||
|
||||
usb_set_config(device_descriptor);
|
||||
|
||||
usb_enable();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -190,6 +190,14 @@ static void test_usb_dc_api_read_write(void)
|
|||
/*test case main entry*/
|
||||
void test_main(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = usb_enable(NULL);
|
||||
if (ret != 0) {
|
||||
printk("Failed to enable USB\n");
|
||||
return;
|
||||
}
|
||||
|
||||
ztest_test_suite(test_device,
|
||||
/* Test API for not USB attached state */
|
||||
ztest_unit_test(test_usb_dc_api_invalid),
|
||||
|
|
Loading…
Reference in a new issue