I updated with all the feedback and here is a version 1.0 pdf specification. I appreciate any comments or suggestions you may have for this.

https://www.dropbox.com/s/ywu9pjxrfvg1hys/FrameTypes.pdf?dl=0

Thank you,
Robert

On 12/20/2015 10:51 AM, Robert Withers wrote:
More, sorry. I left out the msgSize in the FEC spec. Let me reorder the tagging, fit the 3 bytes of normal msgSpec into 4bytes and thusly...


---Default non-FEC msgSpec + header + payload layout:

- 8bytes (X) messageSpecification...
-
- (32bits...)
- 4bits tagging
- 6bits multicastSymbol
- 6bits messageVersion
- 2bits sanguinity
- 6bits headerType "Implies Y header size. NOTE: except for FEC encodings"
- 8bits unused
- (32bits...)
- 4bytes messageSize (X+Y+Z) (Z bytes = (messageSize - headerSize(Y) - 8bytes msgSpec (X = 8))
-
- Ybytes message header https://www.dropbox.com/s/ywu9pjxrfvg1hys/FrameTypes.pdf?dl=0
-
- Zbytes message payload



Special FEC coded 64bit <msgSpec + header> + payload layout, for 64bit alignment:

- 8bytes (X) message specification...
-
- (32bits...)
- 4bits tagging
- 6bits multicastSymbol
- 6bits messageVersion
- 2bits sanguinity
- 6bits FEC message type "NOTE: this means different layout"
- 2bits rsMode
- 6bits partial blockCount
- (32bits...)
- 4bits blockCount           "NOTE: for 1MB encoded/982KB data - blockCount * blockCodeBytes = Z"
- 20bits messageSize (X+Y+Z) (Z bytes = (messageSize - headerSize(Y) - 8bytes msgSpec (X = 8))  "NOTE: this can specify 1MB data"
- 8bits primitivePolynomial spec (good for our current rsModes)
-
- Y = 0
-
- Zbytes-sized payload

Ok, that's what it is I think, this proposal.

robert



On 12/20/2015 10:33 AM, Robert Withers wrote:
---Default non-FEC msgSpec + header + payload layout:

- 6bits multicastSymbol
- 2bits sanguinity
- 6bits messageVersion
- 6bits headerType "NOTE: except for FEC encodings"
- 4bytes messageSize
- Xbytes header
-
- (messageSized - headerSize - 7specBytes) Bytes-sized payload


Special FEC coded 64bit <msgSpec + header> + payload layout, for 64bit alignment:

- (32bits...)
- 6bits multicastSymbol
- 2bits sanguinity
- 6bits messageVersion
- 6bits FEC message type "NOTE: this means different layout"
- 2bits rsMode
- (32bits...)
- 10bits blockCount           "NOTE: for 1MB encoded/982KB data"
- 20bits messageSize        "NOTE: this can specify 1MB data plus
- 8bits primitivePolynomial spec (good for our current rsModes)
- 4bits tagging
-
- (messageSized - headerSize - 4specBytes) OR (blockCount * rsMode's blockCodeBytes) Bytes-sized payload


-- 
. ..  ...   ^,^    robert
Go Panthers!