123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- /*
- ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
- /**
- * @file hal_usb_cdc.h
- * @brief USB CDC macros and structures.
- *
- * @addtogroup USB_CDC
- * @{
- */
- #ifndef USB_CDC_H
- #define USB_CDC_H
- /*===========================================================================*/
- /* Driver constants. */
- /*===========================================================================*/
- /**
- * @name CDC specific messages.
- * @{
- */
- #define CDC_SEND_ENCAPSULATED_COMMAND 0x00U
- #define CDC_GET_ENCAPSULATED_RESPONSE 0x01U
- #define CDC_SET_COMM_FEATURE 0x02U
- #define CDC_GET_COMM_FEATURE 0x03U
- #define CDC_CLEAR_COMM_FEATURE 0x04U
- #define CDC_SET_AUX_LINE_STATE 0x10U
- #define CDC_SET_HOOK_STATE 0x11U
- #define CDC_PULSE_SETUP 0x12U
- #define CDC_SEND_PULSE 0x13U
- #define CDC_SET_PULSE_TIME 0x14U
- #define CDC_RING_AUX_JACK 0x15U
- #define CDC_SET_LINE_CODING 0x20U
- #define CDC_GET_LINE_CODING 0x21U
- #define CDC_SET_CONTROL_LINE_STATE 0x22U
- #define CDC_SEND_BREAK 0x23U
- #define CDC_SET_RINGER_PARMS 0x30U
- #define CDC_GET_RINGER_PARMS 0x31U
- #define CDC_SET_OPERATION_PARMS 0x32U
- #define CDC_GET_OPERATION_PARMS 0x33U
- /** @} */
- /**
- * @name CDC classes
- * @{
- */
- #define CDC_COMMUNICATION_INTERFACE_CLASS 0x02U
- #define CDC_DATA_INTERFACE_CLASS 0x0AU
- /** @} */
- /**
- * @name CDC subclasses
- * @{
- */
- #define CDC_ABSTRACT_CONTROL_MODEL 0x02U
- /** @} */
- /**
- * @name CDC descriptors
- * @{
- */
- #define CDC_CS_INTERFACE 0x24U
- /** @} */
- /**
- * @name CDC subdescriptors
- * @{
- */
- #define CDC_HEADER 0x00U
- #define CDC_CALL_MANAGEMENT 0x01U
- #define CDC_ABSTRACT_CONTROL_MANAGEMENT 0x02U
- #define CDC_UNION 0x06U
- /** @} */
- /**
- * @name Line Control bit definitions.
- * @{
- */
- #define LC_STOP_1 0U
- #define LC_STOP_1P5 1U
- #define LC_STOP_2 2U
- #define LC_PARITY_NONE 0U
- #define LC_PARITY_ODD 1U
- #define LC_PARITY_EVEN 2U
- #define LC_PARITY_MARK 3U
- #define LC_PARITY_SPACE 4U
- /** @} */
- /*===========================================================================*/
- /* Driver pre-compile time settings. */
- /*===========================================================================*/
- /*===========================================================================*/
- /* Derived constants and error checks. */
- /*===========================================================================*/
- /*===========================================================================*/
- /* Driver data structures and types. */
- /*===========================================================================*/
- /**
- * @brief Type of Line Coding structure.
- */
- typedef struct {
- uint8_t dwDTERate[4];
- uint8_t bCharFormat;
- uint8_t bParityType;
- uint8_t bDataBits;
- } cdc_linecoding_t;
- /*===========================================================================*/
- /* Driver macros. */
- /*===========================================================================*/
- /*===========================================================================*/
- /* External declarations. */
- /*===========================================================================*/
- #endif /* USB_CDC_H */
- /** @} */
|