Linux Receiver Operator Version of Signal Generator Example

linux_signal_generator.txt (16.4 KB)

Hello, I am trying to modify the ROCE based Signal Generator Holoscan example to use Linux sockets (LinuxReceiverOperator).

I’m seeing the following error about not being able to start the Linux Receiver.

Please see the attached code.

Any help would be appreciated.

-JS

I think this might be a step in the correct direction and it seems to work.

To get waveforms displayed increment / decrement + - values.
Mouse-over shows signal values too.
Click Show Time Domain checkbox for print of values in another segment.
After running python linux_signal_generator.py there’s an 11 second warm up delay as noted below.

python linux_signal_generator.py --tx-hololink 192.168.0.2 --rx-hololink 192.168.0.2

python linux_signal_generator_loopback.py  


  Both apps share the same HSB device since Tx and Rx are on the same unit. The pipeline will be:

  SignalGeneratorOp β†’ IQEncoderOp β†’ UdpTransmitterOp
		                                           ↓
                                     HSB FPGA port 4791
                                     (TX FIFO β†’ I2S path β†’ RX data plane)
 		                                          ↓
                           LinuxReceiverOperator β†’ IQDecoderOp β†’ SignalViewerOp


  The 11 register writes with 1-second sleeps (0x70000014, 0x80000000–0x80000010, 0x01200000–0x0120000C) initialize that I2S chain β€” clock dividers,
  AF/AE FIFO thresholds, enable, pause, and host-pause mapping β€” before UdpTransmitterOp starts sending data on port 4791. That sequencing is why
  RoceReceiverInitializer.initialize() must complete (and _init_done must fire) before the Tx thread starts.


End-to-end hardware loop working β€” SignalGeneratorOp β†’ IQEncoderOp β†’ UdpTransmitterOp β†’ HSB FPGA TX β†’ HSB FPGA RX β†’ LinuxReceiverOp 
  β†’ IQDecoderOp β†’ SignalViewerOp β€” all on a single hololink-sensor-bridge at 192.168.0.2
  
# linux_signal_generator.py is untested on hsb <-> hsb; but should work. I don't have 2 hsb to test.

linux_signal_generator_loopback.py.txt (9.2 KB)
linux_signal_generator.py.txt (16.1 KB)

Thank you so much for this! This was really helpful!