ni_fpga_interface/
lib.rs

1//! This crate provides an interface to NI FPGA devices.
2//!
3//! It requires the use of a build script from the C interface in the
4//! linked ni-fpga-interface-build crate.
5//!
6//! This module has two conceptual levels:
7//!
8//! * [`session::Session`] - This is the main wrapper for the NI FPGA C interface.
9//!   Some elements will be used directly but some will be easier to use in the higher level.
10//! * The other modules define FPGA resources and can be used with session as a higher level interface. These include:
11//!   * [`registers`] - For reading and writing registers i.e. front panel controls and indicators.
12//!   * [`fifos`] - For reading and writing DMA FIFOs.
13//!   * [`irq`] - For waiting on and acknowledging IRQs.
14//!
15//! Registers and FIFOs are dynamic according to the particular bitfile you load.
16//! For this reason, the build module generates a module with the definitions of the registers and FIFOs for you.
17
18mod error;
19pub mod fifos;
20pub mod irq;
21mod nifpga_sys;
22pub mod registers;
23pub mod session;
24mod types;