Benutzer:Siro/i2cprotokoll
I2C Protokoll
Version 0.1
DEFINITIONS
layer0 | Hardwareebene (i2c) |
layer1 | Packetebene |
endpoint | externe Hardware (nicht näher definiert) |
Vorderungen
Packet
Header | Data |
1 Byte | 1-8 Byte |
Header:
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 - 0 |
reserved | reserved | Command/!Data | Parity | Packetsize |
Note: Parity can be EVEN, ODD, XOR, NONE, Parity does include packetsize-Bits and all DATA
Note: Command/!DATA marks this packet as COMMAND packet or as DATA packet
COMMAND PACKET
COMMAND PACKET: size >= 1
1. byte: COMMAND
2. - 8. byte:DATA (optional)
handled by layer1
DATA PACKET
handled by userprogram
COMMANDS
0x00
NOP
0x01
GET DEVICE INFO
returns information about the device
max supported protocol version
endpoint count
...
0x02
GET ENDPOINT INFO
2.byte: endpoint
returns information about the endpoint
must be less then max. device endpoints
0x03
SET ENDPOINT
2.byte: endpoint
must be less then max. device endpoints
0x04
GET CURRENT ENDPOINT
return active endpoint (default: 0)
0x05
SEND DATA
sends data to current endpoint (default: 0)
0x05
GET DATA
get data to current endpoint (default: 0)