open-dis / opendis7-java

Project to provide a complete type-safe Java implementation of the DIS Protocol version 7 (IEEE 1278.1-2012) and SISO-REF-010 Enumerations specifications.
Other
6 stars 5 forks source link

TransmitterPdu missing initial padding field #10

Closed arrowsmith closed 11 months ago

arrowsmith commented 3 years ago

Hi again Don @brutzman ,

According to this breakdown, the TransmitterPdu needs to have a 16-bit padding field for marshalling / unmarshalling after the InputSource field, but the implementation misses it. There's only the later 24-bit padding field handled as a byte and a short.

arrowsmith commented 2 years ago

Can I tag anyone else on this? @leif81 @blueoak @terry-norbraten ? How are issues best raised and handled?

leif81 commented 2 years ago

Thanks for report @arrowsmith . This is the right place to log issues. For this repository @brutzman is the maintainer. When he has a moment to review I'm sure he'll let you know here. Cheers.

brutzman commented 2 years ago

Yes thanks for the report Arrowsmith. The report you link is pretty dated, we're using more recent references.

Most of the open-dis7-java PDUs are correct but you may be quite right that some PDU marshalling/unmarshalling is incorrect.

I now see you have had a lot of posts Austin. Looking forward to getting going again, will be happy to improve our information sharing and implementation. Please see my next post for further information.

terry-norbraten commented 11 months ago

@arrowsmith Hello Austin, the protocols for all PDUs in this project are IAW IEEE Std 1278.1-2012. The link you provided above is likely from older versions of both IEEE Std 1278.1-1995 and the material included in the IEEE Std 1278.1a-1998 amendment, which have been superseded. Older implementations of OpenDIS at https://github.com/open-dis/open-dis-java and even https://sourceforge.net/projects/open-dis, might have the TransmitterPDU in the format you were looking for. More specifically, the "padding" you are referring to is actually the Number of Variable Transmitter Parameters Records (N) and is a 16-bit unsigned integer that is correctly marshaled/unmarshaled with both DOS and ByteBuffer streams. Screen Shot 2023-11-12 at 09 02 52 Screen Shot 2023-11-12 at 09 03 37

brutzman commented 11 months ago

p.s. looks like unit tests are working, but we have more integration and documentation to achieve. We are further exploring additional variations of DIS XML and Data Format Definition Language (DFDL) etc. One of our current goals is to make all of this more accessible for contributions in the coming year.