43 #define CDC_BUF_SIZE (64) // Output buffer in bytes (power 2)
45 #define CDC_BUF_MASK (CDC_BUF_SIZE-1ul)
48 #define CDC_BUF_RESET(cdcBuf) (cdcBuf.rdIdx = cdcBuf.wrIdx = 0)
49 #define CDC_BUF_WR(cdcBuf, dataIn) (cdcBuf.data[CDC_BUF_MASK & cdcBuf.wrIdx++] = (dataIn))
50 #define CDC_BUF_RD(cdcBuf) (cdcBuf.data[CDC_BUF_MASK & cdcBuf.rdIdx++])
51 #define CDC_BUF_EMPTY(cdcBuf) (cdcBuf.rdIdx == cdcBuf.wrIdx)
52 #define CDC_BUF_FULL(cdcBuf) (cdcBuf.rdIdx == cdcBuf.wrIdx+1)
53 #define CDC_BUF_COUNT(cdcBuf) (CDC_BUF_MASK & (cdcBuf.wrIdx - cdcBuf.rdIdx))
69 int bytesToRead, bytesRead;
72 bytesToRead = *length;
73 bytesToRead = (bytesToRead < (*length)) ? bytesToRead : (*length);
74 bytesRead = bytesToRead;
79 while (bytesToRead--) {
89 int bytesToWrite, bytesWritten;
92 bytesToWrite = *length;
93 bytesWritten = bytesToWrite;
98 while (bytesToWrite) {
103 return (bytesWritten);
283 int numBytesRead, numBytesAvail;
292 if (numBytesRead > 0) {
uint32_t CDC_GetCommFeature(unsigned short wFeatureSelector)
uint32_t CDC_SendEncapsulatedCommand(void)
int CDC_OutBufAvailChar(int *availChar)
int CDC_WrOutBuf(const char *buffer, int *length)
volatile unsigned char NotificationBuf[10]
unsigned short CDC_DepInEmpty
uint32_t CDC_GetEncapsulatedResponse(void)
void ser_InitPort(unsigned long baudrate, unsigned int databits, unsigned int parity, unsigned int stopbits)
#define CDC_SERIAL_STATE_OVERRUN
uint32_t USB_ReadEP(uint32_t EPNum, uint8_t *pData)
unsigned char data[CDC_BUF_SIZE]
#define CDC_SERIAL_STATE_RING
#define CDC_BUF_COUNT(cdcBuf)
uint32_t CDC_SetControlLineState(unsigned short wControlSignalBitmap)
struct __CDC_BUF_T CDC_BUF_T
void CDC_NotificationIn(void)
int ser_Read(char *buffer, const int *length)
#define CDC_SERIAL_STATE_TX_CARRIER
uint32_t CDC_ClearCommFeature(unsigned short wFeatureSelector)
void ser_LineState(unsigned short *lineState)
uint32_t CDC_GetLineCoding(void)
unsigned short CDC_GetSerialState(void)
#define CDC_SERIAL_STATE_BREAK
uint32_t CDC_SetLineCoding(void)
void ser_AvailChar(int *availChar)
#define CDC_NOTIFICATION_SERIAL_STATE
#define CDC_SERIAL_STATE_PARITY
volatile unsigned short CDC_SerialState
uint32_t CDC_SetCommFeature(unsigned short wFeatureSelector)
uint32_t CDC_SendBreak(unsigned short wDurationOfBreak)
volatile unsigned char BulkBufIn[USB_CDC_BUFSIZE]
#define CDC_SERIAL_STATE_FRAMING
uint32_t USB_WriteEP(uint32_t EPNum, uint8_t *pData, uint32_t cnt)
volatile unsigned char BulkBufOut[USB_CDC_BUFSIZE]
uint8_t EP0Buf[USB_MAX_PACKET0]
#define CDC_BUF_WR(cdcBuf, dataIn)
#define CDC_SERIAL_STATE_RX_CARRIER
int CDC_RdOutBuf(char *buffer, const int *length)
CDC_LINE_CODING CDC_LineCoding
#define CDC_BUF_RESET(cdcBuf)
#define CDC_BUF_RD(cdcBuf)