10 #ifndef CNationalInstrumentsDAQ_H
11 #define CNationalInstrumentsDAQ_H
168 virtual void initialize();
182 std::vector<mrpt::obs::CObservationRawDAQPtr> &outObservations,
183 bool & hardwareError );
189 void writeAnalogOutputTask(
size_t task_index,
size_t nSamplesPerChannel,
const double * volt_values,
double timeout,
bool groupedByChannel);
195 void writeDigitalOutputTask(
size_t task_index,
bool line_value,
double timeout);
198 bool checkDAQIsWorking()
const;
210 bool has_ci_period, has_ci_count_edges,has_ci_pulse_width,has_ci_lin_encoder,has_ci_ang_encoder,
has_co_pulses;
221 desc_ai_t() : terminalConfig(
"DAQmx_Val_NRSE"),minVal(-10), maxVal(10),physicalChannelCount(0) { }
231 desc_ao_t() : physicalChannelCount(0),minVal(-10), maxVal(10) { }
266 std::string counter,
edge, countDirection;
275 std::string counter,
units, startingEdge;
294 desc_ci_ang_encoder_t() : ZidxEnable(false),ZidxVal(0),pulsesPerRev(512),initialAngle(0),decimate(1),decimate_cnt(0) { }
307 desc_co_pulses_t() : idleState(
"DAQmx_Val_Low"),initialDelay(0),freq(1000),dutyCycle(0.5) { }
323 void loadConfig_sensorSpecific(
325 const std::string &iniSection );
337 std::auto_ptr<mrpt::synch::CPipeReadEndPoint>
read_pipe;