Projekt

Allgemein

Profil

Aktionen

MMP » Historie » Revision 6

« Zurück | Revision 6/14 (diff) | Weiter »
Maximilian Seesslen, 30.08.2023 16:19


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

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 0x20Bytes are the Block header.

Size Type
0x4 CRC32 of data
0x4 Size of this block without head
0x4 Flags
0x4 Count of blocks
0x4 Number of this block
0x4 Type
0x4 reserved
0x4 reserved

Usecase

Write to flash

Data size is 0x100.
Count of blocks: 1
Number of blocks: 1

Von Maximilian Seesslen vor mehr als 1 Jahr aktualisiert · 6 Revisionen