17 #if !defined(__CDCACM_H__) 22 #define bmREQ_CDCOUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE 23 #define bmREQ_CDCIN USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE 26 #define CDC_SUBCLASS_DLCM 0x01 // Direct Line Control Model 27 #define CDC_SUBCLASS_ACM 0x02 // Abstract Control Model 28 #define CDC_SUBCLASS_TCM 0x03 // Telephone Control Model 29 #define CDC_SUBCLASS_MCCM 0x04 // Multi Channel Control Model 30 #define CDC_SUBCLASS_CAPI 0x05 // CAPI Control Model 31 #define CDC_SUBCLASS_ETHERNET 0x06 // Ethernet Network Control Model 32 #define CDC_SUBCLASS_ATM 0x07 // ATM Network Control Model 33 #define CDC_SUBCLASS_WIRELESS_HANDSET 0x08 // Wireless Handset Control Model 34 #define CDC_SUBCLASS_DEVICE_MANAGEMENT 0x09 // Device Management 35 #define CDC_SUBCLASS_MOBILE_DIRECT_LINE 0x0A // Mobile Direct Line Model 36 #define CDC_SUBCLASS_OBEX 0x0B // OBEX 37 #define CDC_SUBCLASS_ETHERNET_EMU 0x0C // Ethernet Emulation Model 40 #define CDC_PROTOCOL_ITU_T_V_250 0x01 // AT Commands defined by ITU-T V.250 41 #define CDC_PROTOCOL_PCCA_101 0x02 // AT Commands defined by PCCA-101 42 #define CDC_PROTOCOL_PCCA_101_O 0x03 // AT Commands defined by PCCA-101 & Annex O 43 #define CDC_PROTOCOL_GSM_7_07 0x04 // AT Commands defined by GSM 7.07 44 #define CDC_PROTOCOL_3GPP_27_07 0x05 // AT Commands defined by 3GPP 27.007 45 #define CDC_PROTOCOL_C_S0017_0 0x06 // AT Commands defined by TIA for CDMA 46 #define CDC_PROTOCOL_USB_EEM 0x07 // Ethernet Emulation Model 49 #define CDC_SEND_ENCAPSULATED_COMMAND 0x00 50 #define CDC_GET_ENCAPSULATED_RESPONSE 0x01 53 #define CDC_SET_COMM_FEATURE 0x02 54 #define CDC_GET_COMM_FEATURE 0x03 55 #define CDC_CLEAR_COMM_FEATURE 0x04 56 #define CDC_SET_AUX_LINE_STATE 0x10 57 #define CDC_SET_HOOK_STATE 0x11 58 #define CDC_PULSE_SETUP 0x12 59 #define CDC_SEND_PULSE 0x13 60 #define CDC_SET_PULSE_TIME 0x14 61 #define CDC_RING_AUX_JACK 0x15 62 #define CDC_SET_LINE_CODING 0x20 63 #define CDC_GET_LINE_CODING 0x21 64 #define CDC_SET_CONTROL_LINE_STATE 0x22 65 #define CDC_SEND_BREAK 0x23 66 #define CDC_SET_RINGER_PARMS 0x30 67 #define CDC_GET_RINGER_PARMS 0x31 68 #define CDC_SET_OPERATION_PARMS 0x32 69 #define CDC_GET_OPERATION_PARMS 0x33 70 #define CDC_SET_LINE_PARMS 0x34 71 #define CDC_GET_LINE_PARMS 0x35 72 #define CDC_DIAL_DIGITS 0x36 75 #define NETWORK_CONNECTION 0x00 76 #define RESPONSE_AVAILABLE 0x01 77 #define AUX_JACK_HOOK_STATE 0x08 78 #define RING_DETECT 0x09 79 #define SERIAL_STATE 0x20 80 #define CALL_STATE_CHANGE 0x28 81 #define LINE_STATE_CHANGE 0x29 82 #define CONNECTION_SPEED_CHANGE 0x2a 153 bool autoflow_RTS : 1;
154 bool autoflow_DSR : 1;
155 bool autoflow_XON : 1;
156 bool half_duplex : 1;
157 } __attribute__((packed));
161 #define ACM_MAX_ENDPOINTS 4 188 uint8_t SetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr);
189 uint8_t GetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr);
190 uint8_t ClearCommFeature(uint16_t fid);
193 uint8_t SetControlLineState(uint8_t state);
194 uint8_t SendBreak(uint16_t duration);
195 uint8_t GetNotif(uint16_t *bytes_rcvd, uint8_t *dataptr);
198 uint8_t RcvData(uint16_t *nbytesptr, uint8_t *dataptr);
199 uint8_t SndData(uint16_t nbytes, uint8_t *dataptr);
202 uint8_t Init(uint8_t parent, uint8_t port,
bool lowspeed);
219 return _enhanced_status;
249 void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto,
const USB_ENDPOINT_DESCRIPTOR *ep);
252 #endif // __CDCACM_H__
virtual tty_features enhanced_features(void)
virtual uint8_t OnInit(ACM *pacm)
static const uint8_t epInterruptInIndex
virtual uint8_t GetAddress()
static const uint8_t epDataOutIndex
virtual void autoflowRTS(bool s)
virtual tty_features enhanced_status(void)
uint8_t bDescriptorSubtype
uint8_t bNumRingerPatterns
uint8_t bDescriptorSubtype
#define ACM_MAX_ENDPOINTS
virtual void wide(bool s)
virtual void autoflowXON(bool s)
uint8_t bDescriptorSubtype
static const uint8_t epDataInIndex
virtual void autoflowDSR(bool s)
struct ACM_FUNC_DESCR TEL_CALL_STATE_REP_CPBL_FUNC_DESCR
struct ACM_FUNC_DESCR TEL_OPER_MODES_FUNC_DESCR
volatile bool bPollEnable
tty_features _enhanced_status
struct ACM_FUNC_DESCR DLM_FUNC_DESCR
virtual void half_duplex(bool s)