Minor updates to the Benito programmer - remove redundant PORT register manipulations.
[pub/USBasp.git] / Demos / Host / LowLevel / CDCHost / CDCHost.h
index 5dcbc8e..9e1d638 100644 (file)
                /** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */\r
                #define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)\r
                \r
+       /* Type Defines: */\r
+               /** Class state structure. An instance of this structure should be made for each CDC interface\r
+                *  within the user application, and passed to each of the CDC class driver functions as the\r
+                *  CDCInterfaceInfo parameter. The contents of this structure should be set to their correct\r
+                *  values when used, or ommitted to force the library to use default values.\r
+                */\r
+               typedef struct\r
+               {\r
+                       const struct\r
+                       {\r
+                               uint8_t  ControlInterfaceNumber; /**< Interface number of the CDC control interface within the device */\r
+\r
+                               uint8_t  DataINEndpointNumber; /**< Endpoint number of the CDC interface's IN data endpoint */\r
+                               uint16_t DataINEndpointSize; /**< Size in bytes of the CDC interface's IN data endpoint */\r
+\r
+                               uint8_t  DataOUTEndpointNumber; /**< Endpoint number of the CDC interface's OUT data endpoint */\r
+                               uint16_t DataOUTEndpointSize;  /**< Size in bytes of the CDC interface's OUT data endpoint */\r
+\r
+                               uint8_t  NotificationEndpointNumber; /**< Endpoint number of the CDC interface's IN notification endpoint, if used */\r
+                               uint16_t NotificationEndpointSize;  /**< Size in bytes of the CDC interface's IN notification endpoint, if used */\r
+                       } Config;\r
+                       \r
+                       struct\r
+                       {\r
+                               uint8_t  ControlLineState; /**< Current control line states, as set by the host */\r
+\r
+                               struct\r
+                               {\r
+                                       uint32_t BaudRateBPS; /**< Baud rate of the virtual serial port, in bits per second */\r
+                                       uint8_t  CharFormat; /**< Character format of the virtual serial port, a value from the\r
+                                                                                 *   CDCDevice_CDC_LineCodingFormats_t enum\r
+                                                                                 */\r
+                                       uint8_t  ParityType; /**< Parity setting of the virtual serial port, a value from the\r
+                                                                                 *   CDCDevice_LineCodingParity_t enum\r
+                                                                                 */\r
+                                       uint8_t  DataBits; /**< Bits of data per character of the virtual serial port */\r
+                               } LineEncoding;\r
+                       } State;\r
+               } USB_ClassInfo_CDC_Host_t;\r
+               \r
        /* Function Prototypes: */\r
                void SetupHardware(void);\r
                void CDC_Host_Task(void);\r