Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
smoothie-accessory-protocol [2017/01/25 16:21] arthur |
smoothie-accessory-protocol [2017/01/25 18:55] (current) arthur |
||
---|---|---|---|
Line 31: | Line 31: | ||
=== Command Message Structure | === Command Message Structure | ||
- | [[code]] | + | <code> |
<Virtual Address 8bit><Command Type 8bit><Data Length 1-4byte><Command Data ...><Checksum 8bit> | <Virtual Address 8bit><Command Type 8bit><Data Length 1-4byte><Command Data ...><Checksum 8bit> | ||
<Virtual Address>: | <Virtual Address>: | ||
Line 98: | Line 98: | ||
-the last block of all protocol messages | -the last block of all protocol messages | ||
-includes all message blocks except <Checksum> itself starting with <Virtual Address> | -includes all message blocks except <Checksum> itself starting with <Virtual Address> | ||
- | [[/code]] | + | </code> |
=== Reply Message Structure | === Reply Message Structure | ||
- | [[code]] | + | <code> |
<Status 8bit><Data Length 1-4byte><Data 0+byte><Checksum 8bit> | <Status 8bit><Data Length 1-4byte><Data 0+byte><Checksum 8bit> | ||
<Status>: | <Status>: | ||
Line 123: | Line 123: | ||
-last block of reply | -last block of reply | ||
-includes all blocks in the reply except the <Checksum> starting from the <Status> byte | -includes all blocks in the reply except the <Checksum> starting from the <Status> byte | ||
- | [[/code]] | + | </code> |
== Memory Maps | == Memory Maps | ||
=== Virtual Device 0x00 (Module Manager) Memory Map | === Virtual Device 0x00 (Module Manager) Memory Map | ||
- | [[code]] | + | <code> |
0x0000 Magic Number (128bit read only) | 0x0000 Magic Number (128bit read only) | ||
- this identifies the device as a compatible accessory and must always contain the magic value | - this identifies the device as a compatible accessory and must always contain the magic value | ||
Line 144: | Line 144: | ||
0x0200 Upstream SPI Config | 0x0200 Upstream SPI Config | ||
0x0300 Upsteram I2C Config | 0x0300 Upsteram I2C Config | ||
- | [[/code]] | + | </code> |
=== System Memory Map | === System Memory Map | ||
- | [[code]] | + | <code> |
- System Memory Maps are 128bytes | - System Memory Maps are 128bytes | ||
- every virtual device has it's own System Memory Map for configuration and basic control | - every virtual device has it's own System Memory Map for configuration and basic control | ||
Line 215: | Line 215: | ||
0x1C Queue State (4byte) | 0x1C Queue State (4byte) | ||
- holds the number of commands currently in the queue | - holds the number of commands currently in the queue | ||
- | [[/code]] | + | </code> |