Zephyr API Documentation 4.0.0-rc3
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
usbd_msg.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12#ifndef ZEPHYR_INCLUDE_USBD_MSG_H_
13#define ZEPHYR_INCLUDE_USBD_MSG_H_
14
15#include <stdint.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
58
62static const char *const usbd_msg_type_list[] = {
63 "VBUS ready",
64 "VBUS removed",
65 "Device resumed",
66 "Device suspended",
67 "Bus reset",
68 "New device configuration",
69 "Controller error",
70 "Stack error",
71 "CDC ACM line coding",
72 "CDC ACM control line state",
73};
74
75BUILD_ASSERT(ARRAY_SIZE(usbd_msg_type_list) == USBD_MSG_MAX_NUMBER,
76 "Number of entries in usbd_msg_type_list is not equal to USBD_MSG_MAX_NUMBER");
82struct usbd_msg {
86 union {
87 int status;
88 const struct device *dev;
89 };
90};
91
99static inline const char *usbd_msg_type_string(const enum usbd_msg_type type)
100{
101 if (type >= 0 && type < USBD_MSG_MAX_NUMBER) {
102 return usbd_msg_type_list[type];
103 }
104
105 return "?";
106}
107
112#ifdef __cplusplus
113}
114#endif
115
116#endif /* ZEPHYR_INCLUDE_USBD_MSG_H_ */
#define ARRAY_SIZE(array)
Number of elements in the given array.
Definition util.h:120
static const char * usbd_msg_type_string(const enum usbd_msg_type type)
Returns the message type as a constant string.
Definition usbd_msg.h:99
usbd_msg_type
USB device support message types.
Definition usbd_msg.h:34
@ USBD_MSG_RESUME
Device resume message.
Definition usbd_msg.h:40
@ USBD_MSG_UDC_ERROR
Non-correctable UDC error message
Definition usbd_msg.h:48
@ USBD_MSG_VBUS_READY
VBUS ready message (optional)
Definition usbd_msg.h:36
@ USBD_MSG_SUSPEND
Device suspended message.
Definition usbd_msg.h:42
@ USBD_MSG_CDC_ACM_LINE_CODING
CDC ACM Line Coding update.
Definition usbd_msg.h:52
@ USBD_MSG_VBUS_REMOVED
VBUS removed message (optional)
Definition usbd_msg.h:38
@ USBD_MSG_CDC_ACM_CONTROL_LINE_STATE
CDC ACM Line State update.
Definition usbd_msg.h:54
@ USBD_MSG_RESET
Bus reset detected.
Definition usbd_msg.h:44
@ USBD_MSG_STACK_ERROR
Unrecoverable device stack error message
Definition usbd_msg.h:50
@ USBD_MSG_MAX_NUMBER
Maximum number of message types.
Definition usbd_msg.h:56
@ USBD_MSG_CONFIGURATION
Device changed configuration.
Definition usbd_msg.h:46
Runtime device structure (in ROM) per driver instance.
Definition device.h:412
USB device message.
Definition usbd_msg.h:82
enum usbd_msg_type type
Message type.
Definition usbd_msg.h:84
const struct device * dev
Definition usbd_msg.h:88
int status
Definition usbd_msg.h:87