The FPGA Interface C API enables C/C++ applications to interact directly with compiled LabVIEW FPGA VIs on RIO devices without using LabVIEW. C/C++ applications can download:

  • A VI to a RIO target
  • Perform DMA data transfers
  • Wait on and acknowledge interrupts
  • Read from and write to named controls and indicators using C function calls

A C/C++ application created with the C API can run on the real-time processor of a CompactRIO or single-board RIO device. It can also interact with VIs running on the FPGA of the RIO system. Alternatively, a C/C++ application can run on the real-time processor of a PXI system or the processor of a Windows or Linux PC. It can also interact with VIs running on the FPGA of a PXI or PCI RIO device.

What You Cannot Do with the C API

The current version of the C API does not support the following features:

  • Scan Interface mode and I/O variables
  • Reading from and writing to controls, indicators, and FIFOs containing the following:
    • Fixed-point types
    • Floating-point types
    • Clusters
    • Arrays containing anything other than supported scalar types
  • The following methods callable from an Invoke Method node:
    • Read TEDS
    • NI 9802 methods:
      • Mount SD Card
      • Unmount SD Card
    • FlexRIO Adapter Module methods:
      • Control IO Module Power
      • IO Module Status
      • Redetect IO Module