\r
#include <string.h>\r
\r
+ /* Enable C linkage for C++ Compilers: */\r
+ #if defined(__cplusplus)\r
+ extern "C" {\r
+ #endif\r
+\r
/* Macros: */\r
/** CDC Class specific request to get the current virtual serial port configuration settings. */\r
- #define REQ_GetLineEncoding 0x21\r
+ #define REQ_GetLineEncoding 0x21\r
\r
/** CDC Class specific request to set the current virtual serial port configuration settings. */\r
- #define REQ_SetLineEncoding 0x20\r
+ #define REQ_SetLineEncoding 0x20\r
\r
/** CDC Class specific request to set the current virtual serial port handshake line states. */\r
- #define REQ_SetControlLineState 0x22\r
+ #define REQ_SetControlLineState 0x22\r
\r
/** Notification type constant for a change in the virtual serial port handshake line states, for\r
* use with a USB_Notification_Header_t notification structure when sent to the host via the CDC \r
* notification endpoint.\r
*/\r
- #define NOTIF_SerialState 0x20\r
+ #define NOTIF_SerialState 0x20\r
\r
/** Mask for the DTR handshake line for use with the REQ_SetControlLineState class specific request\r
* from the host, to indicate that the DTR line state should be high.\r
*/\r
- #define CONTROL_LINE_OUT_DTR (1 << 0)\r
+ #define CDC_CONTROL_LINE_OUT_DTR (1 << 0)\r
\r
/** Mask for the RTS handshake line for use with the REQ_SetControlLineState class specific request\r
* from the host, to indicate that theRTS line state should be high.\r
*/\r
- #define CONTROL_LINE_OUT_RTS (1 << 1)\r
+ #define CDC_CONTROL_LINE_OUT_RTS (1 << 1)\r
\r
/** Mask for the DCD handshake line for use with the a NOTIF_SerialState class specific notification\r
* from the device to the host, to indicate that the DCD line state is currently high.\r
*/\r
- #define CONTROL_LINE_IN_DCD (1 << 0)\r
+ #define CDC_CONTROL_LINE_IN_DCD (1 << 0)\r
\r
/** Mask for the DSR handshake line for use with the a NOTIF_SerialState class specific notification\r
* from the device to the host, to indicate that the DSR line state is currently high.\r
*/\r
- #define CONTROL_LINE_IN_DSR (1 << 1)\r
+ #define CDC_CONTROL_LINE_IN_DSR (1 << 1)\r
\r
/** Mask for the BREAK handshake line for use with the a NOTIF_SerialState class specific notification\r
* from the device to the host, to indicate that the BREAK line state is currently high.\r
*/\r
- #define CONTROL_LINE_IN_BREAK (1 << 2)\r
+ #define CDC_CONTROL_LINE_IN_BREAK (1 << 2)\r
\r
/** Mask for the RING handshake line for use with the a NOTIF_SerialState class specific notification\r
* from the device to the host, to indicate that the RING line state is currently high.\r
*/\r
- #define CONTROL_LINE_IN_RING (1 << 3)\r
+ #define CDC_CONTROL_LINE_IN_RING (1 << 3)\r
\r
/** Mask for use with the a NOTIF_SerialState class specific notification from the device to the host,\r
* to indicate that a framing error has occurred on the virtual serial port.\r
*/\r
- #define CONTROL_LINE_IN_FRAMEERROR (1 << 4)\r
+ #define CDC_CONTROL_LINE_IN_FRAMEERROR (1 << 4)\r
\r
/** Mask for use with the a NOTIF_SerialState class specific notification from the device to the host,\r
* to indicate that a parity error has occurred on the virtual serial port.\r
*/\r
- #define CONTROL_LINE_IN_PARITYERROR (1 << 5)\r
+ #define CDC_CONTROL_LINE_IN_PARITYERROR (1 << 5)\r
\r
/** Mask for use with the a NOTIF_SerialState class specific notification from the device to the host,\r
* to indicate that a data overrun error has occurred on the virtual serial port.\r
*/\r
- #define CONTROL_LINE_IN_OVERRUNERROR (1 << 6)\r
+ #define CDC_CONTROL_LINE_IN_OVERRUNERROR (1 << 6)\r
\r
/** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a\r
* uniform structure but variable sized data payloads, thus cannot be represented accurately by\r
/** Enum for the possible line encoding formats of a virtual serial port. */\r
enum CDCDevice_CDC_LineCodingFormats_t\r
{\r
- OneStopBit = 0, /**< Each frame contains one stop bit */\r
- OneAndAHalfStopBits = 1, /**< Each frame contains one and a half stop bits */\r
- TwoStopBits = 2, /**< Each frame contains two stop bits */\r
+ CDC_LINEENCODING_OneStopBit = 0, /**< Each frame contains one stop bit */\r
+ CDC_LINEENCODING_OneAndAHalfStopBits = 1, /**< Each frame contains one and a half stop bits */\r
+ CDC_LINEENCODING_TwoStopBits = 2, /**< Each frame contains two stop bits */\r
};\r
\r
/** Enum for the possible line encoding parity settings of a virtual serial port. */\r
enum CDCDevice_LineCodingParity_t\r
{\r
- Parity_None = 0, /**< No parity bit mode on each frame */\r
- Parity_Odd = 1, /**< Odd parity bit mode on each frame */\r
- Parity_Even = 2, /**< Even parity bit mode on each frame */\r
- Parity_Mark = 3, /**< Mark parity bit mode on each frame */\r
- Parity_Space = 4, /**< Space parity bit mode on each frame */\r
+ CDC_PARITY_None = 0, /**< No parity bit mode on each frame */\r
+ CDC_PARITY_Odd = 1, /**< Odd parity bit mode on each frame */\r
+ CDC_PARITY_Even = 2, /**< Even parity bit mode on each frame */\r
+ CDC_PARITY_Mark = 3, /**< Mark parity bit mode on each frame */\r
+ CDC_PARITY_Space = 4, /**< Space parity bit mode on each frame */\r
};\r
\r
/* Type Defines: */\r
void EVENT_USB_CDC_ControLineStateChanged(void) ATTR_WEAK ATTR_ALIAS(USB_CDC_Event_Stub);; \r
#endif\r
\r
- void USB_CDC_USBTask(USB_ClassInfo_CDC_t* CDCInterfaceInfo);\r
bool USB_CDC_ConfigureEndpoints(USB_ClassInfo_CDC_t* CDCInterfaceInfo);\r
void USB_CDC_ProcessControlPacket(USB_ClassInfo_CDC_t* CDCInterfaceInfo);\r
void USB_CDC_USBTask(USB_ClassInfo_CDC_t* CDCInterfaceInfo);\r
uint16_t USB_CDC_BytesReceived(USB_ClassInfo_CDC_t* CDCInterfaceInfo);\r
uint8_t USB_CDC_ReceiveByte(USB_ClassInfo_CDC_t* CDCInterfaceInfo);\r
void USB_CDC_SendSerialLineStateChanged(USB_ClassInfo_CDC_t* CDCInterfaceInfo, uint16_t LineStateMask);\r
+\r
+ /* Disable C linkage for C++ Compilers: */\r
+ #if defined(__cplusplus)\r
+ }\r
+ #endif\r
\r
#endif\r