mirror of
https://github.com/RfidResearchGroup/ChameleonUltra.git
synced 2026-03-31 06:05:53 +00:00
1.7 KiB
1.7 KiB
Protocol description
WIP
Packets format
The communication with the application is not the easiest but is structured as follows:
- SOF:
1 Byte, the "Magic Byte" represent the start of a packet, must be0x11. - LRC1:
1 Byte, the LRC (Longitudinal Redundancy Check) of theSOF, must be0xEF. - CMD:
2 Bytesin unsigned Big Endian format, each command have been assigned a unique number (e.g.factoryReset(1020)), this is what you are sending to the device. - STATUS:
2 Bytesin unsigned Big Endian format. If the direction is from APP to hardware, the status is always0x0000. If the direction is from hardware to APP, the status is the result of the command. - LEN:
2 Bytesin unsigned Big Endian format, the length of the data, maximum is512. - LRC2:
1 Byte, the LRC (Longitudinal Redundancy Check) of theCMD,STATUSandLEN. - DATA:
LEN Bytes, the data to send or receive, maximum is512 Bytes. This could be anything, for example you should sending key type, block number, and the card keys when reading a block. - LRC3:
1 Byte, the LRC (Longitudinal Redundancy Check) of theDATA.
The total length of the packet is LEN + 10 Bytes. For receiving, it is the exact same format.
Packet payloads
Each command and response have their own payload formats.
TODO:
