open-dis-python
open-dis-python copied to clipboard
Python implementation of the IEEE-1278.1 Distributed Interactive Simulation (DIS) application protocol v7
Please do something like: udpSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) in examples/dis_receiver.py to allow for multiple receiver's on same host/port. I don't know if socket.SO_REUSEPORT is an option or not. You may choose...
I previously was using the java variant of opendis, and it came with a helper function for converting heading/roll/pitch to euler angles for transmission. I'm using the python version now,...
`VariableDatum` objects throw `struct.error` when you try to store negative signed integers (e.g. `-1`=`b'\xff'`) in the `variableData` field, then serialize. ## MVP This is the minimum viable product to reproduce...
I am struggling to find an example of how to use a DataPdu. The nature of python makes it difficult to read your code and decipher how to create a...
Python doesn't recognize the `null()` function call. [Line 129 of dis7.py](https://github.com/open-dis/open-dis-python/blob/928becd43282dee1adb3c3853f1fd312addfd883/opendis/dis7.py#L129) is 1st example. ```python for idx in range(0, self.recordLength): element = null() element.parse(inputStream) self.iffData.append(element) ``` Is this supposed to...
In the `dis_sender.py`, the emitted ESPDU has its length field set to zero. The code in that example doesn't manipulate the length field. This matters if you're using, say, open-dis...
This pull request covers a number of changes: ## Use DataQueryDatumSpecification and DatumSpecification in composition This implements the change proposed in https://github.com/open-dis/open-dis-python/pull/49#issuecomment-1975744890 Before: https://github.com/open-dis/open-dis-python/blob/3a52c4fdb457c93c8223b903905761791c35654f/opendis/dis7.py#L6-L22 After: https://github.com/open-dis/open-dis-python/blob/b4ccb3dbe9fc71c7223a0e600bfff5ff29dd2510/opendis/dis7.py#L6-L24 Before: https://github.com/open-dis/open-dis-python/blob/3a52c4fdb457c93c8223b903905761791c35654f/opendis/dis7.py#L5042-L5067 After: https://github.com/open-dis/open-dis-python/blob/f62b7e33c9d5a1dfaf119c65143c7b8b384b120a/opendis/dis7.py#L4781-L4815...
Fixes #11. Implemented marshalledSize for all classes (like in [Java](https://github.com/open-dis/open-dis-java/tree/master) and [C#](https://github.com/open-dis/open-dis-csharp) implementations). You still need to manually fill pdu.length field (aka `pdu.length = pdu.marshalledSize()`), but at least you could...
This is a placeholder issue for work relating to boundary padding. ## Classes requiring boundary padding To date, from a quick search in the codebase, the following classes require padding...
# Identifier naming ## Identifier classes There is currently an EntityID class: https://github.com/open-dis/open-dis-python/blob/3a52c4fdb457c93c8223b903905761791c35654f/opendis/dis7.py#L3477-L3490 But there is also an EntityIdentifier class: https://github.com/open-dis/open-dis-python/blob/3a52c4fdb457c93c8223b903905761791c35654f/opendis/dis7.py#L3421-L3431 There are also other Identifier classes: - IntercomIdentifier -...