Hi
This is going to be highly theoretical questions mainly concerning the python API for LabVIEW's FPGA control - https://nifpga-python.readthedocs.io/en/latest/
The programming part is not the main concern here, but only to give you an idea of my needs.
My goal is to make a program that by the help of two cRIO-9074 chassis, several digital and analog C-series slots can deliver a signal to a given time. The given values that are to be sent to the C-series slots at the time is to be stored in a matrix send from the computer by the python API. The whole program will then execute at a command. I hope to store something around 50x150 array with True/False and fixed point values, so i hope that the FIFO's will do the job.
The questions - All communication is from the python API from a host pc to the target FPGA:
- How does the session when using the API, establish a connection ? A bitfile is being loaded, and a reference. Is the cRIO's adress saved in that bitfile ?
- When make use of the example below and a bitfile containing two FIFO's that writes and read into each other (See picture below), how is the communication carried out ? (TCP/IP, shared variables...)
(When writing to variables through the API, is it done by the same communication, and is it as fast as the FIFO ?)from nifpga import Session # create a list of 100 incrementing values data = list(range(0, 100)) with Session("MyBitfile.lvbitx", "rio://hostComputerIP/FPGA_2") as session: host_to_target = session.fifos['Host To Target Fifo'] target_to_host = session.fifos['Target To Host Fifo'] host_to_target.start() # stream the data to the FPGA host_to_target.write(data, timeout_ms=100)