open-dis / open-dis-java

Java implementation of the IEEE-1278.1 Distributed Interactive Simulation (DIS) application protocol v6 and v7 :boom:
Other
44 stars 35 forks source link

Dis7 Signal PDU Missing Radio Identifier #110

Closed adamwrobinson5 closed 1 year ago

adamwrobinson5 commented 1 year ago

It looks like between DIS 6 and DIS 7, the radio identifier information was stripped out of the Signal PDU. This information includes the Radio Reference ID and the Radio Number that link the Signal PDU to the transmitter and entity.

The information is encapsulated in the RadioIdentifier class so it feels like it should have been included here and was mistakenly left out.

I'd be happy to add it in and submit a PR if I need to.

adamwrobinson5 commented 1 year ago

@leif81 @brutzman I feel like enough people use this library that the issue must be in my implementation. Would one of you mind explaining to me how to get the RadioIdentifier information into the SignalPdu?

leif81 commented 1 year ago

@adamwrobinson5

What you probably want is SignalPdu#getRadioId

And then compare it to TransmitterPdu#getRadioId for a match.

adamwrobinson5 commented 1 year ago

@leif81 in version 7, SignalPdu.getRadioId doesn’t exist so there’s no way to link the Signal PDU with the Transmitter PDU that’s sending it

brutzman commented 1 year ago

in opendis7-java codebase, the SignalPdu includes a header of type RadioCommsHeader which includes radioNumber, which is a field that can also be found in TransmitterPdu.

adamwrobinson5 commented 1 year ago

@brutzman I looked at opendis7-java for awhile but it's not hosted on maven as far as I could tell and hosting locally for my project would be very inconvenient. This feels like a pretty easy fix for the open-dis-java library. I've actually already created a fix locally, I would like to push it and submit a PR if that's okay

brutzman commented 1 year ago

@adamwrobinson5 thanks for suggestion to publish opendis7-java distribution jar on Maven Central, we are now considering that as future work. Our small NPS team will keep "leaning forward" on latest architecture, others are welcome to maintain the earlier 40% coverage of original open-dis-java. Meanwhile the opendis7-java-full jar, Javadoc and key links remain available at opendis7-java Distribution Products.

adamwrobinson5 commented 1 year ago

@leif81 @brutzman How can I get my changes published in the code? I don't have permission to publish my local branch with the fixes

leif81 commented 1 year ago

@adamwrobinson5 changes are proposed by contributers as pull requests. Take a look at this guide for more info https://docs.github.com/en/get-started/quickstart/contributing-to-projects