Virtuální sériový port jako třída. ...
#include <cdclass.h>
Veřejné metody | |
CDClass (const int port) | |
Konstruktor. | |
uint32_t | Down (char *buf, uint32_t len) |
přetížení BaseLayer::Down() | |
void | Send (void) |
Pomocná metoda. | |
void | Recv (uint32_t len) |
Pomocná metoda. | |
void | Init (void) |
Pomocná metoda pro kompatibilitu se PC. | |
bool | Fini (void) |
Pomocná metoda pro kompatibilitu se PC. | |
Veřejné metody dědí se z UsbClass | |
UsbClass () | |
void | connect (void) |
Veřejné metody dědí se z BaseLayer | |
BaseLayer () | |
virtual uint32_t | Up (char *data, uint32_t len) |
virtual BaseLayer & | operator+= (BaseLayer &bl) |
BaseLayer * | getDown (void) const |
Statické chráněné metody | |
static ErrorCode_t | VCOM_bulk_in_hdlr (USBD_HANDLE_T hUsb, void *data, uint32_t event) |
Handler BULK IN endpointu. | |
static ErrorCode_t | VCOM_bulk_out_hdlr (USBD_HANDLE_T hUsb, void *data, uint32_t event) |
Handler BULK OUT endpointu. | |
Další zděděné členy | |
Statické veřejné metody dědí se z UsbClass | |
static USBD_HANDLE_T | getHandle (void) |
Statické veřejné atributy dědí se z UsbClass | |
static UsbMem | mem |
Chráněné metody dědí se z UsbClass | |
void | PinInit (void) |
Chráněné metody dědí se z BaseLayer | |
void | setUp (BaseLayer *p) |
void | setDown (BaseLayer *p) |
Používá ROM driver a dědí UsbClass. Byla snaha udělat to tak, aby se dalo vytvořit případně více instancí a propojit je s deskriptory, ale ROM driver to patrně nepodporuje. Bulk endpointy fungují bez problémů, ale endpoint 0 zdá se nějaký problém má. Bude to chtít podívat se, co vlastně znamená to USBD_HANDLE_T hCDC. V dokumentaci to ale není.