As far as I understood the documentation, every IG should share a unique communication link with the host. What I actually didn't find in the documentation was a description of a multichannel/multi-IG setup as it is widely used in simulation environments. For example, is it possible to link and (frame-)synchronize a 6-IG-system via Cigi?
According to the documentation, Cigi supports Host-IG-synchronization via SOF-packets sent from the IG to the host. On the one hand, this certainly works for a 1-IG-environment, but on the other hands, it prevents the synchroneous operation of multiple IGs in a simulation system.
Taking up this point, would it be possible to let the host wait for the SOF-packets from all IGs and afterwards let it respond via multicast/broadcast to keep all IGs synchronized?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The current CIGI documentation isn't very specific regarding how a Multi-IG CIGI implementation should work. Classically, there have been two basic approaches:
- One designated IG node sends the SOF packet to the host and the host sends all its packets on the broadcast address for the (private) LAN,
- You implement a gateway that responds to the CIGI host on a one-to-one basis and it in turn manages the communication with the individual IG nodes on a private LAN.
If you are not using a gateway between the host and IG nodes and want more than one IG node to be able to send data to the host (e.g. non-graphical mission function processor), the host needs to open a separate CIGI session with each IG node that it will receive packets from.
The above methods will synchronize frame processing, but not frame rendering. To synchronize frame rendering, you either need a hardware frame synchronization solution, e.g. genlock, or the IG nodes must implement a software frame/pixel synchronization solution, possibly using the IG Control timestamp as a reference.
Hope this helps,
Curt
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As far as I understood the documentation, every IG should share a unique communication link with the host. What I actually didn't find in the documentation was a description of a multichannel/multi-IG setup as it is widely used in simulation environments. For example, is it possible to link and (frame-)synchronize a 6-IG-system via Cigi?
According to the documentation, Cigi supports Host-IG-synchronization via SOF-packets sent from the IG to the host. On the one hand, this certainly works for a 1-IG-environment, but on the other hands, it prevents the synchroneous operation of multiple IGs in a simulation system.
Taking up this point, would it be possible to let the host wait for the SOF-packets from all IGs and afterwards let it respond via multicast/broadcast to keep all IGs synchronized?
The current CIGI documentation isn't very specific regarding how a Multi-IG CIGI implementation should work. Classically, there have been two basic approaches:
- One designated IG node sends the SOF packet to the host and the host sends all its packets on the broadcast address for the (private) LAN,
- You implement a gateway that responds to the CIGI host on a one-to-one basis and it in turn manages the communication with the individual IG nodes on a private LAN.
If you are not using a gateway between the host and IG nodes and want more than one IG node to be able to send data to the host (e.g. non-graphical mission function processor), the host needs to open a separate CIGI session with each IG node that it will receive packets from.
The above methods will synchronize frame processing, but not frame rendering. To synchronize frame rendering, you either need a hardware frame synchronization solution, e.g. genlock, or the IG nodes must implement a software frame/pixel synchronization solution, possibly using the IG Control timestamp as a reference.
Hope this helps,
Curt