15 #ifndef CAPT_PROTOCOL_H_ 16 #define CAPT_PROTOCOL_H_ 48 #define TL_PROTOCOL_SYNC (0x55) 49 #define TL_PROTOCOL_BLANK (0xAA) 50 #define TL_PROTOCOL_READ (0x00) 51 #define TL_PROTOCOL_WRITE (0x01) 65 #define TL_SENSOR_PACKET_CMD (0x00) 66 #define TL_CYCLE_PACKET_CMD (0x01) 67 #define TL_TRACKPAD_PACKET_CMD (0x02) 68 #define TL_GENERAL_PURPOSE_PACKET_CMD (0x10) 69 #define TL_STRING_PACKET_CMD (0x3E) 71 #define TL_PARAM_CMD_GENERIC_MASK (0x80) 72 #define TL_PARAM_CMD_SLIDER_WHEEL_MASK (0x90) 73 #define TL_PARAM_CMD_TP_MASK (0xA0) 74 #define TL_PARAM_CMD_DYCAL_MASK (0xB0) 75 #define TL_PARAM_CMD_CTRL_MASK (0xC0) 76 #define TL_PARAM_CMD_SPECIAL_MASK (0xD0) 77 #define TL_PARAM_CMD_INVALID_MASK (0xF0) 84 #define TL_PARAM_CMD_TRACKPADFILTEREN (0x60) 85 #define TL_PARAM_CMD_TRACKPADFILTERBETA (0x61) 86 #define TL_PARAM_CMD_BETATOPSPEED (0x63) 87 #define TL_PARAM_CMD_BETABOTTOMSPEED (0x64) 88 #define TL_PARAM_CMD_LOWERBETA (0x65) 89 #define TL_PARAM_CMD_TRACKPADFILTERTYPE (0x66) 90 #define TL_PARAM_CMD_RESOLUTION_X (0x67) 91 #define TL_PARAM_CMD_RESOLUTION_Y (0x68) 93 #define TL_PARAM_CMD_LOWERTRIM_X (0x69) 94 #define TL_PARAM_CMD_UPPERTRIM_X (0x6A) 95 #define TL_PARAM_CMD_LOWERTRIM_Y (0x6B) 96 #define TL_PARAM_CMD_UPPERTRIM_Y (0x6C) 97 #define TL_PARAM_CMD_CENTERTRIM_X (0x6D) 98 #define TL_PARAM_CMD_CENTERTRIM_Y (0x6E) 99 #define TL_PARAM_CMD_CIRCLERADIUS (0x6F) 104 #define TL_PARAM_CMD_TAPTIME_MIN (0x70) 105 #define TL_PARAM_CMD_TAPTIME_MAX (0x71) 106 #define TL_PARAM_CMD_SWIPETIME_MAX (0x72) 107 #define TL_PARAM_CMD_DBLTAPTIME_MAX (0x73) 108 #define TL_PARAM_CMD_TAPHOLDTIME_MIN (0x74) 109 #define TL_PARAM_CMD_SWIPEDISTANCE_MIN (0x75) 111 #define TL_PARAM_CMD_DBLTAPENABLE (0x76) 112 #define TL_PARAM_CMD_SWIPEENABLE (0x77) 113 #define TL_PARAM_CMD_CIRCLEENABLE (0x78) 114 #define TL_PARAM_CMD_ENDTRACKPAD (0x7F) 119 #define TL_PARAM_CMD_CONVERSIONGAIN (0x80) 120 #define TL_PARAM_CMD_CONVERSIONCOUNT (0x81) 121 #define TL_PARAM_CMD_PROX_THRESH (0x82) 122 #define TL_PARAM_CMD_TOUCH_THRESH (0x83) 123 #define TL_PARAM_CMD_PROX_DBIN (0x84) 124 #define TL_PARAM_CMD_PROX_DBOUT (0x85) 125 #define TL_PARAM_CMD_TOUCH_DBIN (0x86) 126 #define TL_PARAM_CMD_TOUCH_DBOUT (0x87) 127 #define TL_PARAM_CMD_TIMEOUT (0x88) 128 #define TL_PARAM_CMD_COUNTFILTEN (0x89) 129 #define TL_PARAM_CMD_COUNTFILTBETA (0x8A) 130 #define TL_PARAM_CMD_LTAFILTBETA (0x8B) 131 #define TL_PARAM_CMD_LTAFILTERHALT (0x8C) 132 #define TL_PARAM_CMD_DRIFTRECALENABLE (0x8D) 133 #define TL_PARAM_CMD_FORCERECALIBRATE (0x8E) 134 #define TL_PARAM_CMD_BIAS_CURRENT (0x8F) 135 #define TL_PARAM_CMD_CS_DISCHARGE (0x95) 136 #define TL_PARAM_CMD_MODENABLE (0x96) 137 #define TL_PARAM_CMD_FREQDIV (0x97) 138 #define TL_PARAM_CMD_CPLEN (0x98) 139 #define TL_PARAM_CMD_TPLEN (0x99) 140 #define TL_PARAM_CMD_ERROR_THRESH (0x9A) 141 #define TL_PARAM_CMD_NEG_TOUCH_THRESH (0x9B) 142 #define TL_PARAM_CMD_IDLE_STATE (0x9C) 143 #define TL_PARAM_CMD_INPUT_SYNC (0x9D) 144 #define TL_PARAM_CMD_TIMER_SYNC (0x9E) 145 #define TL_PARAM_CMD_LPMCTRL (0x9F) 146 #define TL_PARAM_CMD_LTA_SENSOR_PTHALT (0xA0) 147 #define TL_PARAM_CMD_LTA_ELEMENT_PTHALT (0xA1) 148 #define TL_PARAM_CMD_COARSE_GAIN_RATIO (0xA2) 149 #define TL_PARAM_CMD_FINE_GAIN_RATIO (0xA3) 150 #define TL_PARAM_CMD_OFFSET_SUBTRACTION (0xA4) // Deprecated for 1.00.01.00 151 #define TL_PARAM_CMD_OFFSET_SCALE (0xD0) // Added for 1.00.01.00 152 #define TL_PARAM_CMD_OFFSET_LEVEL (0xD1) // Added for 1.00.01.00 157 #define TL_PARAM_CMD_SLIDER_FILTEREN (0x90) 158 #define TL_PARAM_CMD_SLIDER_FILTERBETA (0x91) 159 #define TL_PARAM_CMD_SLIDER_RES (0x92) 160 #define TL_PARAM_CMD_SLIDER_LTRIM (0x93) 161 #define TL_PARAM_CMD_SLIDER_UTRIM (0x94) 167 #define TL_PARAM_CMD_CTRL_ELEMENTTXEN (0xC0) 168 #define TL_PARAM_CMD_CTRL_SENSORTXEN (0xC1) 169 #define TL_PARAM_CMD_CTRL_REPORTRATE_ACTIVE (0xC2) 170 #define TL_PARAM_CMD_CTRL_REPORTRATE_AUTO (0xC3) 171 #define TL_PARAM_CMD_CTRL_WAKEINTERVAL_AUTO (0xC4) 172 #define TL_PARAM_CMD_CTRL_TIMEOUT_ACTIVE (0xC5) 208 #define TL_PCKT_SERIAL_OVRHD_LENGTH (0x03) 209 #define TL_PCKT_CHKSUM_LENGTH (0x02) 210 #define TL_CYCLE_STATE_OFFSET (0x06) 211 #define TL_CYCLE_STATE_LEN (0x03) 212 #define TL_CYCLE_LEN_PER_ELEMENT (0x04) 213 #define TL_CYCLE_OVRHD_LEN (0x06) 214 #define TL_SENSOR_PACKET_LENGTH (0x0B) 215 #define TL_PARAMETER_PACKET_LENGTH (0x0C) 216 #define TL_PARAMETER_DATA_LENGTH (0x07) 217 #define TL_GENERAL_PURPOSE_MAX_CNT (0x1D) 218 #define TL_STRING_MAX_CNT (0x3A) 239 #define TL_PCKT_CMD_FIELD (0x03) 240 #define TL_SENSOR_PCKT_ID_FIELD (0x04) 241 #define TL_CYCLE_PCKT_ID_FIELD (0x04) 242 #define TL_CYCLE_PCKT_CYCLE_FIELD (0x05) 243 #define TL_PARAM_PCKT_RW_FIELD (0x04) 244 #define TL_PARAM_PCKT_ID_FIELD (0x05) 278 #define TL_TRACKPAD_PACKET_BASE_LENGTH (0x09) 360 uint8_t ui8SensorID, uint8_t ui8Cycle, uint8_t *pBuffer);
378 uint8_t ui8SensorID, uint8_t *pBuffer);
395 uint8_t ui8Cnt, uint8_t *pBuffer);
459 const uint16_t ui16Length);
474 const uint16_t ui16Checksum);
489 uint16_t ui16Length);
uint16_t CAPT_stuffSyncBytes(uint8_t *pBuffer, uint16_t ui16Length)
uint8_t ui8Param2
Definition: CAPT_Protocol.h:332
int8_t i8currPacketIndex
Definition: CAPT_Protocol.h:290
Definition: CAPT_Protocol.h:288
Definition: CAPT_Protocol.h:304
tTLParameterAccessResult CAPT_accessSensorParameter(tSensor **sensorArray, tParameterPacket *pPacket)
uint16_t CAPT_getStringPacket(const char *pSrcString, uint8_t *pBuffer)
#define TL_PARAMETER_PACKET_LENGTH
Definition: CAPT_Protocol.h:215
uint16_t CAPT_getCyclePacket(tSensor **sensorArray, uint8_t ui8SensorID, uint8_t ui8Cycle, uint8_t *pBuffer)
uint8_t ui8Sync
Definition: CAPT_Protocol.h:324
uint8_t ui8Param3
Definition: CAPT_Protocol.h:333
Definition: CAPT_Type.h:654
uint16_t CAPT_getChecksum(const uint8_t *pBuffer, const uint16_t ui16Length)
This API calculate the checksum of a byte buffer of given length.
uint8_t ui8SensorID
Definition: CAPT_Protocol.h:329
Definition: CAPT_Protocol.h:306
uint8_t tTLParameterAccessResult
Definition: CAPT_Protocol.h:309
uint8_t ui8Command
Definition: CAPT_Protocol.h:327
uint8_t ui8Param0
Definition: CAPT_Protocol.h:330
uint8_t ui8Blank
Definition: CAPT_Protocol.h:325
typedef tByteQueue
Definition: CAPT_ByteQueue.h:35
tTLParameterAccessResult CAPT_accessSpecialSensorParameter(tSensor **sensorArray, tParameterPacket *pPacket)
Definition: CAPT_Protocol.h:305
Definition: CAPT_Protocol.h:307
uint16_t CAPT_getTrackPadSensorStatusPacket(tSensor **sensorArray, uint8_t ui8SensorID, uint8_t *pBuffer)
uint16_t CAPT_getGeneralPurposePacket(uint16_t *pData, uint8_t ui8Cnt, uint8_t *pBuffer)
uint16_t CAPT_getSensorPacket(tSensor **sensorArray, uint8_t ui8SensorID, uint8_t *pBuffer)
Definition: CAPT_Protocol.h:320
uint16_t ui16Checksum
Definition: CAPT_Protocol.h:334
bool CAPT_processReceivedData(tByteQueue *pReceiveQueue, tParameterPacket *pPacket, tTLProtocolProcessingVariables *pVariables)
uint16_t CAPT_getTrackPadPacket(tSensor *pSensor, uint8_t ui8SensorID, uint8_t *pBuffer)
bool bStuffedByteDetected
Definition: CAPT_Protocol.h:291
uint8_t ui8Write
Definition: CAPT_Protocol.h:328
uint8_t ui8Param1
Definition: CAPT_Protocol.h:331
uint8_t ui8Length
Definition: CAPT_Protocol.h:326
tTLParameterAccessResult CAPT_accessTrackPadSensorParameter(tSensor **sensorArray, tParameterPacket *pPacket)
Access a special CapTIvate⢠TL structure variable for a TrackPad sensor.
bool CAPT_verifyChecksum(const uint8_t *pBuffer, const uint16_t ui16Length, const uint16_t ui16Checksum)
This API verifies the checksum of a byte buffer of given length.