USB Host Shield 2.0
|
#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"
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_0, type_1, rev_X, rev_HX, rev_H } |
#define PL_VID 0x067B |
Definition at line 43 of file cdcprolific.h.
#define PL_PID ( 0x2303 || 0x0609 ) |
Definition at line 44 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 89 of file cdcprolific.h.
#define kBreakError 0x04 |
Definition at line 90 of file cdcprolific.h.
#define kFrameError 0x10 |
Definition at line 91 of file cdcprolific.h.
#define kParityError 0x20 |
Definition at line 92 of file cdcprolific.h.
#define kOverrunError 0x40 |
Definition at line 93 of file cdcprolific.h.
#define kCTS 0x80 |
Definition at line 95 of file cdcprolific.h.
#define kDSR 0x02 |
Definition at line 96 of file cdcprolific.h.
#define kRI 0x08 |
Definition at line 97 of file cdcprolific.h.
#define kDCD 0x01 |
Definition at line 98 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 99 of file cdcprolific.h.
#define VENDOR_WRITE_REQUEST_TYPE 0x40 |
Definition at line 101 of file cdcprolific.h.
#define VENDOR_WRITE_REQUEST 0x01 |
Definition at line 102 of file cdcprolific.h.
#define VENDOR_READ_REQUEST_TYPE 0xc0 |
Definition at line 104 of file cdcprolific.h.
#define VENDOR_READ_REQUEST 0x01 |
Definition at line 105 of file cdcprolific.h.
#define SET_DCR0 0x00 |
Definition at line 108 of file cdcprolific.h.
#define GET_DCR0 0x80 |
Definition at line 109 of file cdcprolific.h.
#define DCR0_INIT 0x01 |
Definition at line 110 of file cdcprolific.h.
#define DCR0_INIT_H 0x41 |
Definition at line 111 of file cdcprolific.h.
#define DCR0_INIT_X 0x61 |
Definition at line 112 of file cdcprolific.h.
#define SET_DCR1 0x01 |
Definition at line 114 of file cdcprolific.h.
#define GET_DCR1 0x81 |
Definition at line 115 of file cdcprolific.h.
#define DCR1_INIT_H 0x80 |
Definition at line 116 of file cdcprolific.h.
#define DCR1_INIT_X 0x00 |
Definition at line 117 of file cdcprolific.h.
#define SET_DCR2 0x02 |
Definition at line 119 of file cdcprolific.h.
#define GET_DCR2 0x82 |
Definition at line 120 of file cdcprolific.h.
#define DCR2_INIT_H 0x24 |
Definition at line 121 of file cdcprolific.h.
#define DCR2_INIT_X 0x44 |
Definition at line 122 of file cdcprolific.h.
#define RESET_DOWNSTREAM_DATA_PIPE 0x08 |
Definition at line 125 of file cdcprolific.h.
#define RESET_UPSTREAM_DATA_PIPE 0x09 |
Definition at line 126 of file cdcprolific.h.
#define PL_MAX_ENDPOINTS 4 |
Definition at line 139 of file cdcprolific.h.
enum tXO_State |
Enumerator | |
---|---|
kXOnSent | |
kXOffSent | |
kXO_Idle | |
kXOffNeeded | |
kXOnNeeded |
Definition at line 80 of file cdcprolific.h.
enum pl2303_type |
Enumerator | |
---|---|
unknown | |
type_0 | |
type_1 | |
rev_X | |
rev_HX | |
rev_H |
Definition at line 128 of file cdcprolific.h.