A base class to handle digital inputs and outputs(Device specific interface layout only).
More...
#include <mvIMPACT_acquire.h>
A base class to handle digital inputs and outputs(Device specific interface layout only).
This class can't be instantiated by the user, but acts as a base class for hardware specific classes. Please use a device specific class suitable for the device you are working with instead. The documentation of the device specific class will also contain some example code.
- Note
- This class will only be available if mvIMPACT::acquire::Device::interfaceLayout is set to mvIMPACT::acquire::dilDeviceSpecific before the device is opened.
- Examples
- DigitalIOs.cpp, DigitalIOs.legacy.cpp, SingleCaptureMasterSlave.cpp, and SingleCaptureMasterSlave.legacy.cpp.
◆ IOSubSystem()
◆ ~IOSubSystem()
◆ getInputCount()
unsigned int getInputCount |
( |
void | | ) |
const |
|
inline |
◆ getOutputCount()
unsigned int getOutputCount |
( |
void | | ) |
const |
|
inline |
◆ getPulseStartConfiguration()
Returns a pointer to a mvIMPACT::acquire::PulseStartConfiguration associated with this device.
If nr is invalid(too large) an STL out_of_range exception will be thrown.
- Parameters
-
[in] | nr | The number of the pulse start configuration to return |
◆ getPulseStartConfigurationCount()
unsigned int getPulseStartConfigurationCount |
( |
void | | ) |
const |
|
inline |
◆ getRTCtrProgram()
Returns a pointer to a mvIMPACT::acquire::RTCtrProgram associated with this device.
If nr is invalid(too large) an STL out_of_range exception will be thrown.
- Parameters
-
[in] | nr | The number of the real time controller program to return |
◆ input()
◆ operator=()
◆ output()
◆ readInputRegister()
virtual unsigned int readInputRegister |
( |
void | | ) |
const |
|
pure virtual |
Returns the current state of the digital input register.
This function can be used to read all digital inputs as a single value. Each bit represents the status of one digital output pin.
EXAMPLE
A value of '3' returned by this function means that digital inputs 0 and 1 are currently have a voltage considered as logical '1' applied to them.
Implemented in IOSubSystemBlueFOX, and IOSubSystemCommon.
- Examples
- DigitalIOs.cpp, and DigitalIOs.legacy.cpp.
◆ readOutputRegister()
virtual unsigned int readOutputRegister |
( |
void | | ) |
const |
|
pure virtual |
Returns the current state of the digital output register.
This function can be used to read all digital outputs as a single value. Each bit represents the status of one digital output pin.
EXAMPLE
A value of '3' returned by this function means that digital output 0 and 1 are currently set to high.
Implemented in IOSubSystemBlueFOX, and IOSubSystemCommon.
- Examples
- DigitalIOs.cpp, and DigitalIOs.legacy.cpp.
◆ RTCtrProgramCount()
unsigned int RTCtrProgramCount |
( |
void | | ) |
const |
|
inline |
◆ writeOutputRegister()
virtual void writeOutputRegister |
( |
unsigned int | value, |
|
|
unsigned int | mask = UINT_MAX ) |
|
pure virtual |
Alters the state of the digital output register.
This function can be used to alter the state of certain (or all) digital outputs with a single function call. By working with the parameter mask certain bits can remain unaffected.
EXAMPLE
If the previous state of a digital output register was '5', which means that outputs 0 and 2 are set to high a call to mvIMPACT::acquire::IOSubSystem::writeOutputRegister with value set to 2 and mask set to 3 would result in '6' as the new value for the output register. Pin 2 will remain unaffected, as mask states just to modify pin 0 and 1 ( 3 = 00000011 binary ).
currentValue = 5, mask = 3, value = 2
( currentValue & ~mask ) | value -> new Value
( 00000101b(current value) & 11111100(~mask) ) | 00000010(value) -> 0000110(new value of the register)
- Parameters
-
[in] | value | The value to be applied to the output register |
[in] | mask | The mask to specify which pins to modify. A bit set to '1' in this parameter means that the state of this output has to adopt its style according to the value in value. |
Implemented in IOSubSystemBlueFOX, and IOSubSystemCommon.
- Examples
- DigitalIOs.cpp, and DigitalIOs.legacy.cpp.