MMP » Historie » Revision 10
« Zurück |
Revision 10/14
(diff)
| Weiter »
Maximilian Seesslen, 09.09.2024 16:41
Multipacket-Strings¶
There should be the posssibillity to write the complete SPI-Flash even if it takes forever.
Not every slave needs to be able to send super big blocks. But every slave should be able to
send e.g. descriptions.
There can not be multiple transfers at the same time from one node because there is no identification.
Size | Type |
---|---|
0x4 | Package number (0: Data contains package count) |
0x4 | Data |
Header¶
Size | Type |
---|---|
0x4 | Object |
0x4 | Total size |
0x4 | Flags |
0x4 | CRC32 of data |
Example: CANRec¶
PC requests an complete dump from single Node. Node will just stream it out.
V2¶
Size | Decription | Examples |
---|---|---|
1 | Packet type | Standard TDT packet |
1 | Sub-Id; | Futher index; Sub-Sensor or more specifi kind of thing to be set |
1 | Data type | Int, Float, Time, Date, Percent, Promil, Multipacket-String |
1 | Unit | Hz, °C, Time, Date, PWM, CAN-ID, Name, Description, Room |
4 | Value | 32Bit |
V3¶
Size | Decription | Examples |
---|---|---|
2 | Object | |
1 | Sub-Id; | Flags, Subid |
1 | Unit/Type | Hz_int, °C_centi, Time, Date, PWM_milli, CAN-ID, Name, Description, Room |
4 | Value | 32Bit |
Flags¶
4 Bit multi message count
4 Bit multi message pos
Length in Bytes given via CAN?
Strings with max. 64 characters.
Multimessage package¶
There should be the possibillity to write the complete SPI-Flash even if it takes forever.
Not every slave needs to be able to send super big blocks. But every slave should be able to
send e.g. descriptions.
V4¶
Single block max.262144 bytes.
Size | Decription | Examples |
---|---|---|
2 | Object | |
2 | Counter | |
4 | Value | 32Bit |
The data has to be stored in memory anyways. So one block can not be infinite large.
Flash has to be written block by block. One erase sektor can be 2K. Limiting the packet size to 64K is ok for writing to flash.
Object: theoretically multiple blocks could be written at the same time. A slave could just send its whole SD-card.
Header¶
First 0x10 Bytes are the Block header.
Size | Type |
---|---|
0x4 | CRC32 of data |
0x2 | Header version major |
0x2 | Header version minor |
0x4 | Size of this block without head |
0x4 | Command |
0x4 | Subaddress |
Commands:
- readout data
- erase application flash
- erase flash sector
- erase external flash
- erase external flash sector
- write data
Subaddress: e.g. flash page
Type: MMP1
Usecase¶
Write to flash¶
Data size is 0x100.
Count of blocks: 1
Number of blocks: 1
Von Maximilian Seesslen vor 5 Monaten aktualisiert · 10 Revisionen