Benutzer:Siro/i2cprotokoll: Unterschied zwischen den Versionen
Aus LaborWiki
Siro (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
Siro (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 62: | Zeile 62: | ||
return active endpoint (default: 0)<br> | return active endpoint (default: 0)<br> | ||
<b>0x05</b><br> | <b>0x05</b><br> | ||
<b>0x06</b><br> | <b>0x06</b><br> | ||
Version vom 28. Januar 2010, 23:34 Uhr
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
0x06