Scope
FPGAIO5771.h
1 #pragma once
2 
3 #include "helpers/FPGAException.h"
4 
5 // Forward declaration
6 typedef uint32_t NiFpga_Session;
7 
8 namespace scope {
9 
11 class FPGAIO5771 {
12 
13 protected:
16 
18  const uint32_t pll_locked_indicator;
19 
21  const uint32_t configured_indicator;
22 
24  const uint32_t user_error_indicator;
25 
28 
30  const uint32_t user_command_control;
31 
33  const uint32_t user_data_0_control;
34 
36  const uint32_t user_data_1_control;
37 
40 
44 
45 protected:
47  void WaitForIdle(NiFpga_Session _session);
48 
49 public:
51  FPGAIO5771(const uint32_t& _user_command_idle
52  , const uint32_t& _pll_locked
53  , const uint32_t& _configured
54  , const uint32_t& _user_error
55  , const uint32_t& _user_command_status
56  , const uint32_t& _user_command_control
57  , const uint32_t& _user_data_0_control
58  , const uint32_t& _user_data_1_control
59  , const uint32_t& _user_command_commit);
60 
70  void SetClockSource(NiFpga_Session _session, const uint8_t& _clock_source = 0);
71 
73  bool CheckIOModule(NiFpga_Session _session);
74 };
75 
76 }
const uint32_t user_error_indicator
the User Error indicator on the FPGA
Definition: FPGAIO5771.h:24
const uint32_t user_command_control
the User Command control on the FPGA
Definition: FPGAIO5771.h:30
bool CheckIOModule(NiFpga_Session _session)
Necessary calls at the moment not supported by NI FPGA API 12.0, see CheckIOModule.vi for what to do.
Definition: FPGAIO5771.cpp:92
const uint32_t user_command_status_indicator
the User Command Status indicator on the FPGA
Definition: FPGAIO5771.h:27
Handels the NI FlexRIO adapter module IO-5771.
Definition: FPGAIO5771.h:11
const uint32_t user_data_1_control
the User Data 1 control on the FPGA
Definition: FPGAIO5771.h:36
const uint32_t configured_indicator
the Configure? indicator on the FPGA
Definition: FPGAIO5771.h:21
const uint32_t pll_locked_indicator
the PLL locked indicator on the FPGA
Definition: FPGAIO5771.h:18
const uint32_t user_command_idle_indicator
the User Command Idle indicator on the FPGA
Definition: FPGAIO5771.h:15
void SetClockSource(NiFpga_Session _session, const uint8_t &_clock_source=0)
Possible clock sources (see adapter modules help and Configure Clock.vi from NI 5771 Clock Select exa...
Definition: FPGAIO5771.cpp:41
const uint32_t user_data_0_control
the User Data 0 control on the FPGA
Definition: FPGAIO5771.h:33
FPGAStatusSafe iostatus
Current status of the module.
Definition: FPGAIO5771.h:43
const uint32_t user_command_commit_control
the User Command Commit control on the FPGA
Definition: FPGAIO5771.h:39
FPGAIO5771(const uint32_t &_user_command_idle, const uint32_t &_pll_locked, const uint32_t &_configured, const uint32_t &_user_error, const uint32_t &_user_command_status, const uint32_t &_user_command_control, const uint32_t &_user_data_0_control, const uint32_t &_user_data_1_control, const uint32_t &_user_command_commit)
Get the FPGA VI control/indicator ids.
Definition: FPGAIO5771.cpp:6
void WaitForIdle(NiFpga_Session _session)
Wait for user command idle.
Definition: FPGAIO5771.cpp:27