5#ifndef VRPN_NATIONALINSTRUMENTS_H
6#define VRPN_NATIONALINSTRUMENTS_H
8#ifdef VRPN_USE_NATIONAL_INSTRUMENTS_MX
12#include "vrpn_Analog.h"
13#include "vrpn_Analog_Output.h"
14#include "vrpn_Configure.h"
15#include "vrpn_Connection.h"
16#include "vrpn_Shared.h"
17#include "vrpn_Types.h"
19#define vrpn_NI_INPUT_MODE_DIFFERENTIAL (0)
20#define vrpn_NI_INPUT_MODE_REF_SINGLE_ENDED (1)
21#define vrpn_NI_INPUT_MODE_NON_REF_SINGLE_ENDED (2)
22#define vrpn_NI_INPUT_RANGE_5V (5)
23#define vrpn_NI_INPUT_RANGE_10V (10)
24#define vrpn_NI_INPUT_RANGE_20V (20)
33 const char *boardName =
"PCI-6713",
34 int numInChannels = vrpn_CHANNEL_MAX,
35 int numOutChannels = vrpn_CHANNEL_MAX,
36 double minInputReportDelaySecs = 0.0,
37 bool inBipolar =
false,
38 int inputMode = vrpn_NI_INPUT_MODE_DIFFERENTIAL,
39 int inputRange = vrpn_NI_INPUT_RANGE_10V,
40 bool driveAIS =
false,
42 bool outBipolar =
false,
43 double minOutVoltage = 0.0,
44 double maxOutVoltage = 10.0);
51#ifdef VRPN_USE_NATIONAL_INSTRUMENTS_MX
52 TaskHandle d_analog_task_handle;
53 TaskHandle d_analog_out_task_handle;
55 void reportError(int32 errnumber, vrpn_bool exitProgram = vrpn_false);
57 short d_device_number;
61 double d_in_min_delay;
62 double d_out_min_voltage;
63 double d_out_max_voltage;
65 struct timeval d_last_report_time;
95 virtual bool report_num_channels( vrpn_uint32 class_of_service = vrpn_CONNECTION_RELIABLE );
96 virtual vrpn_int32 encode_num_channels_to(
char* buf, vrpn_int32 num );
106 const char *boardName =
"PCI-6713",
107 vrpn_int16 numChannels = vrpn_CHANNEL_MAX,
108 bool bipolar =
false,
109 double minVoltage = 0.0,
110 double maxVoltage = 10.0);
116 short NI_device_number;
117 short NI_num_channels;
145 virtual bool report_num_channels( vrpn_uint32 class_of_service = vrpn_CONNECTION_RELIABLE );
146 virtual vrpn_int32 encode_num_channels_to(
char* buf, vrpn_int32 num );
定义 vrpn_NationalInstruments.h:103
static int VRPN_CALLBACK handle_request_message(void *userdata, vrpn_HANDLERPARAM p)
static int VRPN_CALLBACK handle_request_channels_message(void *userdata, vrpn_HANDLERPARAM p)
static int VRPN_CALLBACK handle_got_connection(void *userdata, vrpn_HANDLERPARAM p)
vrpn_int32 setNumChannels(vrpn_int32 sizeRequested)
定义 vrpn_Analog_Output.h:26
Generic connection class not specific to the transport mechanism.
定义 vrpn_Connection.h:562
定义 vrpn_NationalInstruments.h:30
int setNumOutChannels(int sizeRequested)
static int VRPN_CALLBACK handle_request_message(void *userdata, vrpn_HANDLERPARAM p)
int setNumInChannels(int sizeRequested)
static int VRPN_CALLBACK handle_request_channels_message(void *userdata, vrpn_HANDLERPARAM p)
static int VRPN_CALLBACK handle_got_connection(void *userdata, vrpn_HANDLERPARAM p)
This structure is what is passed to a vrpn_Connection message callback.
定义 vrpn_Connection.h:41