USB Host Shield 2.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Macros | Enumerations
cdcprolific.h File Reference
#include <inttypes.h>
#include <avr/pgmspace.h>
#include "avrpins.h"
#include "max3421e.h"
#include "usbhost.h"
#include "usb_ch9.h"
#include "Usb.h"
#include "Arduino.h"
#include "printhex.h"
#include "hexdump.h"
#include "message.h"
#include "confdescparser.h"
#include "cdcacm.h"
Include dependency graph for cdcprolific.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  PL2303
 

Macros

#define PL_VID   0x067B
 
#define PL_PID   ( 0x2303 || 0x0609 )
 
#define PROLIFIC_REV_H   0x0202
 
#define PROLIFIC_REV_X   0x0300
 
#define PROLIFIC_REV_HX_CHIP_D   0x0400
 
#define PROLIFIC_REV_1   0x0001
 
#define kXOnChar   '\x11'
 
#define kXOffChar   '\x13'
 
#define SPECIAL_SHIFT   (5)
 
#define SPECIAL_MASK   ((1<<SPECIAL_SHIFT) - 1)
 
#define STATE_ALL   ( PD_RS232_S_MASK | PD_S_MASK )
 
#define FLOW_RX_AUTO   ( PD_RS232_A_RFR | PD_RS232_A_DTR | PD_RS232_A_RXO )
 
#define FLOW_TX_AUTO   ( PD_RS232_A_CTS | PD_RS232_A_DSR | PD_RS232_A_TXO | PD_RS232_A_DCD )
 
#define CAN_BE_AUTO   ( FLOW_RX_AUTO | FLOW_TX_AUTO )
 
#define CAN_NOTIFY   ( PD_RS232_N_MASK )
 
#define EXTERNAL_MASK   ( PD_S_MASK | (PD_RS232_S_MASK & ~PD_RS232_S_LOOP) )
 
#define INTERNAL_DELAY   ( PD_RS232_S_LOOP )
 
#define DEFAULT_AUTO   ( PD_RS232_A_DTR | PD_RS232_A_RFR | PD_RS232_A_CTS | PD_RS232_A_DSR )
 
#define DEFAULT_NOTIFY   0x00
 
#define DEFAULT_STATE   ( PD_S_TX_ENABLE | PD_S_RX_ENABLE | PD_RS232_A_TXO | PD_RS232_A_RXO )
 
#define CONTINUE_SEND   1
 
#define PAUSE_SEND   2
 
#define kRxAutoFlow   ((UInt32)( PD_RS232_A_RFR | PD_RS232_A_DTR | PD_RS232_A_RXO ))
 
#define kTxAutoFlow   ((UInt32)( PD_RS232_A_CTS | PD_RS232_A_DSR | PD_RS232_A_TXO | PD_RS232_A_DCD ))
 
#define kControl_StateMask   ((UInt32)( PD_RS232_S_CTS | PD_RS232_S_DSR | PD_RS232_S_CAR | PD_RS232_S_RI ))
 
#define kRxQueueState   ((UInt32)( PD_S_RXQ_EMPTY | PD_S_RXQ_LOW_WATER | PD_S_RXQ_HIGH_WATER | PD_S_RXQ_FULL ))
 
#define kTxQueueState   ((UInt32)( PD_S_TXQ_EMPTY | PD_S_TXQ_LOW_WATER | PD_S_TXQ_HIGH_WATER | PD_S_TXQ_FULL ))
 
#define kCONTROL_DTR   0x01
 
#define kCONTROL_RTS   0x02
 
#define kStateTransientMask   0x74
 
#define kBreakError   0x04
 
#define kFrameError   0x10
 
#define kParityError   0x20
 
#define kOverrunError   0x40
 
#define kCTS   0x80
 
#define kDSR   0x02
 
#define kRI   0x08
 
#define kDCD   0x01
 
#define kHandshakeInMask   ((UInt32)( PD_RS232_S_CTS | PD_RS232_S_DSR | PD_RS232_S_CAR | PD_RS232_S_RI ))
 
#define VENDOR_WRITE_REQUEST_TYPE   0x40
 
#define VENDOR_WRITE_REQUEST   0x01
 
#define VENDOR_READ_REQUEST_TYPE   0xc0
 
#define VENDOR_READ_REQUEST   0x01
 
#define SET_DCR0   0x00
 
#define GET_DCR0   0x80
 
#define DCR0_INIT   0x01
 
#define DCR0_INIT_H   0x41
 
#define DCR0_INIT_X   0x61
 
#define SET_DCR1   0x01
 
#define GET_DCR1   0x81
 
#define DCR1_INIT_H   0x80
 
#define DCR1_INIT_X   0x00
 
#define SET_DCR2   0x02
 
#define GET_DCR2   0x82
 
#define DCR2_INIT_H   0x24
 
#define DCR2_INIT_X   0x44
 
#define RESET_DOWNSTREAM_DATA_PIPE   0x08
 
#define RESET_UPSTREAM_DATA_PIPE   0x09
 
#define PL_MAX_ENDPOINTS   4
 

Enumerations

enum  tXO_State {
  kXOnSent = -2, kXOffSent = -1, kXO_Idle = 0, kXOffNeeded = 1,
  kXOnNeeded = 2
}
 
enum  pl2303_type {
  unknown, type_1, rev_X, rev_HX,
  rev_H
}
 

Macro Definition Documentation

#define PL_VID   0x067B

Definition at line 41 of file cdcprolific.h.

#define PL_PID   ( 0x2303 || 0x0609 )

Definition at line 42 of file cdcprolific.h.

#define PROLIFIC_REV_H   0x0202

Definition at line 46 of file cdcprolific.h.

#define PROLIFIC_REV_X   0x0300

Definition at line 47 of file cdcprolific.h.

#define PROLIFIC_REV_HX_CHIP_D   0x0400

Definition at line 48 of file cdcprolific.h.

#define PROLIFIC_REV_1   0x0001

Definition at line 49 of file cdcprolific.h.

#define kXOnChar   '\x11'

Definition at line 51 of file cdcprolific.h.

#define kXOffChar   '\x13'

Definition at line 52 of file cdcprolific.h.

#define SPECIAL_SHIFT   (5)

Definition at line 54 of file cdcprolific.h.

#define SPECIAL_MASK   ((1<<SPECIAL_SHIFT) - 1)

Definition at line 55 of file cdcprolific.h.

#define STATE_ALL   ( PD_RS232_S_MASK | PD_S_MASK )

Definition at line 56 of file cdcprolific.h.

#define FLOW_RX_AUTO   ( PD_RS232_A_RFR | PD_RS232_A_DTR | PD_RS232_A_RXO )

Definition at line 57 of file cdcprolific.h.

#define FLOW_TX_AUTO   ( PD_RS232_A_CTS | PD_RS232_A_DSR | PD_RS232_A_TXO | PD_RS232_A_DCD )

Definition at line 58 of file cdcprolific.h.

#define CAN_BE_AUTO   ( FLOW_RX_AUTO | FLOW_TX_AUTO )

Definition at line 59 of file cdcprolific.h.

#define CAN_NOTIFY   ( PD_RS232_N_MASK )

Definition at line 60 of file cdcprolific.h.

#define EXTERNAL_MASK   ( PD_S_MASK | (PD_RS232_S_MASK & ~PD_RS232_S_LOOP) )

Definition at line 61 of file cdcprolific.h.

#define INTERNAL_DELAY   ( PD_RS232_S_LOOP )

Definition at line 62 of file cdcprolific.h.

#define DEFAULT_AUTO   ( PD_RS232_A_DTR | PD_RS232_A_RFR | PD_RS232_A_CTS | PD_RS232_A_DSR )

Definition at line 63 of file cdcprolific.h.

#define DEFAULT_NOTIFY   0x00

Definition at line 64 of file cdcprolific.h.

#define DEFAULT_STATE   ( PD_S_TX_ENABLE | PD_S_RX_ENABLE | PD_RS232_A_TXO | PD_RS232_A_RXO )

Definition at line 65 of file cdcprolific.h.

#define CONTINUE_SEND   1

Definition at line 67 of file cdcprolific.h.

#define PAUSE_SEND   2

Definition at line 68 of file cdcprolific.h.

#define kRxAutoFlow   ((UInt32)( PD_RS232_A_RFR | PD_RS232_A_DTR | PD_RS232_A_RXO ))

Definition at line 70 of file cdcprolific.h.

#define kTxAutoFlow   ((UInt32)( PD_RS232_A_CTS | PD_RS232_A_DSR | PD_RS232_A_TXO | PD_RS232_A_DCD ))

Definition at line 71 of file cdcprolific.h.

#define kControl_StateMask   ((UInt32)( PD_RS232_S_CTS | PD_RS232_S_DSR | PD_RS232_S_CAR | PD_RS232_S_RI ))

Definition at line 72 of file cdcprolific.h.

#define kRxQueueState   ((UInt32)( PD_S_RXQ_EMPTY | PD_S_RXQ_LOW_WATER | PD_S_RXQ_HIGH_WATER | PD_S_RXQ_FULL ))

Definition at line 73 of file cdcprolific.h.

#define kTxQueueState   ((UInt32)( PD_S_TXQ_EMPTY | PD_S_TXQ_LOW_WATER | PD_S_TXQ_HIGH_WATER | PD_S_TXQ_FULL ))

Definition at line 74 of file cdcprolific.h.

#define kCONTROL_DTR   0x01

Definition at line 76 of file cdcprolific.h.

#define kCONTROL_RTS   0x02

Definition at line 77 of file cdcprolific.h.

#define kStateTransientMask   0x74

Definition at line 87 of file cdcprolific.h.

#define kBreakError   0x04

Definition at line 88 of file cdcprolific.h.

#define kFrameError   0x10

Definition at line 89 of file cdcprolific.h.

#define kParityError   0x20

Definition at line 90 of file cdcprolific.h.

#define kOverrunError   0x40

Definition at line 91 of file cdcprolific.h.

#define kCTS   0x80

Definition at line 93 of file cdcprolific.h.

#define kDSR   0x02

Definition at line 94 of file cdcprolific.h.

#define kRI   0x08

Definition at line 95 of file cdcprolific.h.

#define kDCD   0x01

Definition at line 96 of file cdcprolific.h.

#define kHandshakeInMask   ((UInt32)( PD_RS232_S_CTS | PD_RS232_S_DSR | PD_RS232_S_CAR | PD_RS232_S_RI ))

Definition at line 97 of file cdcprolific.h.

#define VENDOR_WRITE_REQUEST_TYPE   0x40

Definition at line 99 of file cdcprolific.h.

#define VENDOR_WRITE_REQUEST   0x01

Definition at line 100 of file cdcprolific.h.

#define VENDOR_READ_REQUEST_TYPE   0xc0

Definition at line 102 of file cdcprolific.h.

#define VENDOR_READ_REQUEST   0x01

Definition at line 103 of file cdcprolific.h.

#define SET_DCR0   0x00

Definition at line 106 of file cdcprolific.h.

#define GET_DCR0   0x80

Definition at line 107 of file cdcprolific.h.

#define DCR0_INIT   0x01

Definition at line 108 of file cdcprolific.h.

#define DCR0_INIT_H   0x41

Definition at line 109 of file cdcprolific.h.

#define DCR0_INIT_X   0x61

Definition at line 110 of file cdcprolific.h.

#define SET_DCR1   0x01

Definition at line 112 of file cdcprolific.h.

#define GET_DCR1   0x81

Definition at line 113 of file cdcprolific.h.

#define DCR1_INIT_H   0x80

Definition at line 114 of file cdcprolific.h.

#define DCR1_INIT_X   0x00

Definition at line 115 of file cdcprolific.h.

#define SET_DCR2   0x02

Definition at line 117 of file cdcprolific.h.

#define GET_DCR2   0x82

Definition at line 118 of file cdcprolific.h.

#define DCR2_INIT_H   0x24

Definition at line 119 of file cdcprolific.h.

#define DCR2_INIT_X   0x44

Definition at line 120 of file cdcprolific.h.

#define RESET_DOWNSTREAM_DATA_PIPE   0x08

Definition at line 123 of file cdcprolific.h.

#define RESET_UPSTREAM_DATA_PIPE   0x09

Definition at line 124 of file cdcprolific.h.

#define PL_MAX_ENDPOINTS   4

Definition at line 135 of file cdcprolific.h.

Enumeration Type Documentation

enum tXO_State
Enumerator
kXOnSent 
kXOffSent 
kXO_Idle 
kXOffNeeded 
kXOnNeeded 

Definition at line 79 of file cdcprolific.h.

Enumerator
unknown 
type_1 
rev_X 
rev_HX 
rev_H 

Definition at line 126 of file cdcprolific.h.