Now that VR-Link 5.0 is out and we have added support for DIS Version 7, you might have questions about compatibility between DIS versions and VR-Link. In a nutshell, if everyone is using VR-Link 5.0, there will be no compatibility problems. If you have systems not using VR-Link, or using an older version of VR-Link, then you might have some situations arise.
DIS Version 7 is not fully backwards compatible with previous versions of DIS. If you are sending DIS 7 PDUs, there is no guarantee that the other systems in your exercise will be able to read them. For this reason, by default, VR-Link 5.0 still sends DIS version 6 PDUs. This means that upgrading to VR-Link 5.0 will not suddenly make your exercise incompatible.
If you want to send DIS Version 7, you can set the global variable DtProtocolVersionToSend to 7 (this is defined in the file pdu.h). Now, you are sending DIS 7 compatible PDUs. You can also, of course, set that value to any number between 4 and 7 to send a specific version of the protocol. You can even do this at runtime using the command line if you are using our included command line interface:
DtVrlApplicationInitializer appInit(argc, argv, "VR-Link Application");
If you are parsing the command line (or loading a VR-Link configuration from a file) simply typing "--disVersion 7" as a command line parameter will force your application to send DIS Version 7 messages.
Receiving legacy PDUs into a VR-Link 5.0 version should give you no problem at all. VR-Link has always been able to support receiving multiple protocol versions even in the same exercise. For years, we have been able to read versions 4-6 of the DIS protocol. Now, you can read versions 4-7. This is regardless of what version you are actually sending. (As an aside, this is also true in HLA where you can mix HLA 1.3 federates with HLA Evolved federates.)
There are two values that define what DIS version you can receive: DtProtocolVersionToRecvMin, and DtProtocolVersionToRecvMax. Both are also located in pdu.h. In nearly all situations you should not need to change these values, since by default they are set to the lowest and highest values that VR-Link can provide.
Those two values exist in older versions of VR-Link as well, although they are set to 4-6 instead of 4-7. If you feel up to it however, you can take an older version of VR-Link and tell it to read DIS Version 7. It will not understand new concepts, but in some cases it understands enough to be able to communicate with newer systems.