Serial Frames
The TAP-in Utility's serial data frames have this general structure:
NOTE: All data is little endian.
<HEADER><PAYLOAD><CRC><POSTAMBLE>
Header Structure
Offset | Field | Size | Description |
|---|---|---|---|
| PREAMBLE |
| Always |
| Packet Index |
| Starts at |
| Device Address |
|
|
| Length |
| The length of the payload being sent |
Examples
0f 02 01 00 02 00 f7 01 9e 8b f0
Packet Index:
2Device Address:
1(console)Length:
2bytes
0f 0e 00 00 24 00 fc 02 02 00 00 00 01 00 00 00 01 00 ec 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 ec 00 00 00 00 00 00 00 b9 87 f0
Packet Index:
14Device Address:
0(lens)Length:
36bytes
Payloads:
Payload data changes drastically based on the command type. Each command has its own page for reference:
CheckLensMounted:
0xf7RequestLensConnect:
0xf8RequestLensDisconnect:
0xf9GetBasicInfo:
0xfaSetAdjData:
0xfbGetAdjData:
0xfcUpdateFirmware:
0xfdUnknown:
0xfeCommError:
0xff
A couple thoughts I have about this:
0xf7is a weird number to start on. It only makes sense to me for the developers to have chosen it if they were counting down from0xffon the payload types.0xf6to both the lens and the TAP-in console yields an error. Still worth looking into as the payload could require extra options.
Unknown command 0xfe
Sending the command 0xfe to the lens yields an error response. Sending the 0xfe command to the console yields the response: 0f 09 01 00 21 00 fe 48 26 96 f3 ff ff ff ff ff ff ff ff ff ff ff ff 28 2e 03 ff ff ff ff ff ff ff ff ff ff ff ff ff 03 bc f0