Zephyr API Documentation  3.7.0
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
53};
54
58static const char *const usbd_msg_type_list[] = {
59 "VBUS ready",
60 "VBUS removed",
61 "Device resumed",
62 "Device suspended",
63 "Bus reset",
64 "Controller error",
65 "Stack error",
66 "CDC ACM line coding",
67 "CDC ACM control line state",
68};
69
70BUILD_ASSERT(ARRAY_SIZE(usbd_msg_type_list) == USBD_MSG_MAX_NUMBER,
71 "Number of entries in usbd_msg_type_list is not equal to USBD_MSG_MAX_NUMBER");
77struct usbd_msg {
81 union {
82 int status;
83 const struct device *dev;
84 };
85};
86
94static inline const char *usbd_msg_type_string(const enum usbd_msg_type type)
95{
96 if (type >= 0 && type < USBD_MSG_MAX_NUMBER) {
97 return usbd_msg_type_list[type];
98 }
99
100 return "?";
101}
102
107#ifdef __cplusplus
108}
109#endif
110
111#endif /* ZEPHYR_INCLUDE_USBD_MSG_H_ */
#define ARRAY_SIZE(array)
Number of elements in the given array.
Definition: util.h:127
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:94
usbd_msg_type
USB device support message types.
Definition: usbd_msg.h:32
@ USBD_MSG_RESUME
Device resume message.
Definition: usbd_msg.h:38
@ USBD_MSG_UDC_ERROR
Non-correctable UDC error message
Definition: usbd_msg.h:44
@ USBD_MSG_VBUS_READY
VBUS ready message (optional)
Definition: usbd_msg.h:34
@ USBD_MSG_SUSPEND
Device suspended message.
Definition: usbd_msg.h:40
@ USBD_MSG_CDC_ACM_LINE_CODING
CDC ACM Line Coding update.
Definition: usbd_msg.h:48
@ USBD_MSG_VBUS_REMOVED
VBUS removed message (optional)
Definition: usbd_msg.h:36
@ USBD_MSG_CDC_ACM_CONTROL_LINE_STATE
CDC ACM Line State update.
Definition: usbd_msg.h:50
@ USBD_MSG_RESET
Bus reset detected.
Definition: usbd_msg.h:42
@ USBD_MSG_STACK_ERROR
Unrecoverable device stack error message
Definition: usbd_msg.h:46
@ USBD_MSG_MAX_NUMBER
Maximum number of message types.
Definition: usbd_msg.h:52
Runtime device structure (in ROM) per driver instance.
Definition: device.h:403
USB device message.
Definition: usbd_msg.h:77
enum usbd_msg_type type
Message type.
Definition: usbd_msg.h:79
const struct device * dev
Definition: usbd_msg.h:83
int status
Definition: usbd_msg.h:82