Impact Acquire SDK Java
IOSubSystem Class Reference

A base class to handle digital inputs and outputs(Device specific interface layout only). More...

Inheritance diagram for IOSubSystem:
[legend]

Public Member Functions

synchronized void delete ()
 
long getInputCount ()
 Returns the number of mvIMPACT.acquire.DigitalInput s available for the mvIMPACT.acquire.Device associated with this object.
 
long getOutputCount ()
 Returns the number of digital outputs available for the mvIMPACT.acquire.Device associated with this object.
 
PulseStartConfiguration getPulseStartConfiguration (long nr)
 Returns a pointer to a mvIMPACT.acquire.PulseStartConfiguration associated with this device.
 
long getPulseStartConfigurationCount ()
 Returns the number of mvIMPACT.acquire.PulseStartConfiguration objects available for the mvIMPACT.acquire.Device associated with this object.
 
RTCtrProgram getRTCtrProgram (long nr)
 Returns a pointer to a mvIMPACT.acquire.RTCtrProgram associated with this device.
 
DigitalInput input (long nr)
 Returns a const pointer to a mvIMPACT.acquire.DigitalInput object.
 
DigitalOutput output (long nr)
 Returns a pointer to a mvIMPACT.acquire.DigitalOutput object.
 
long readInputRegister ()
 Returns the current state of the digital input register.
 
long readOutputRegister ()
 Returns the current state of the digital output register.
 
long RTCtrProgramCount ()
 Returns the number of mvIMPACT.acquire.RTCtrProgram s available for the mvIMPACT.acquire.Device associated with this object.
 
void writeOutputRegister (long value)
 Alters the state of the digital output register.
 
void writeOutputRegister (long value, long mask)
 Alters the state of the digital output register.
 

Protected Member Functions

void finalize ()
 
 IOSubSystem (long cPtr, boolean cMemoryOwn)
 

Static Protected Member Functions

static long swigRelease (IOSubSystem obj)
 

Protected Attributes

transient boolean swigCMemOwn
 

Detailed Description

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.getInterfaceLayout() is set to mvIMPACT.acquire.TDeviceInterfaceLayout.dilDeviceSpecific before the device is opened.

Constructor & Destructor Documentation

◆ IOSubSystem()

IOSubSystem ( long cPtr,
boolean cMemoryOwn )
protected

Member Function Documentation

◆ delete()

synchronized void delete ( )

◆ finalize()

void finalize ( )
protected

◆ getInputCount()

long getInputCount ( )

Returns the number of mvIMPACT.acquire.DigitalInput s available for the mvIMPACT.acquire.Device associated with this object.

◆ getOutputCount()

long getOutputCount ( )

Returns the number of digital outputs available for the mvIMPACT.acquire.Device associated with this object.

◆ getPulseStartConfiguration()

PulseStartConfiguration getPulseStartConfiguration ( long nr)

Returns a pointer to a mvIMPACT.acquire.PulseStartConfiguration associated with this device.

Parameters
nr[in] The number of the pulse start configuration to return

◆ getPulseStartConfigurationCount()

long getPulseStartConfigurationCount ( )

Returns the number of mvIMPACT.acquire.PulseStartConfiguration objects available for the mvIMPACT.acquire.Device associated with this object.

◆ getRTCtrProgram()

RTCtrProgram getRTCtrProgram ( long nr)

Returns a pointer to a mvIMPACT.acquire.RTCtrProgram associated with this device.

Parameters
nr[in] The number of the real time controller program to return

◆ input()

DigitalInput input ( long nr)

Returns a const pointer to a mvIMPACT.acquire.DigitalInput object.

Note
The possibility to access the digital inputs of a device as single objects is just provided for convenience. The same thing can be achieved by calling the function mvIMPACT.acquire.IOSubSystem.readInputRegister.
Parameters
nr[in] The number of the digital input.

◆ output()

DigitalOutput output ( long nr)

Returns a pointer to a mvIMPACT.acquire.DigitalOutput object.

Note
The possibility to access the digital outputs of a device as single objects is just provided for convenience. The same thing can be achieved by calling the function mvIMPACT.acquire.IOSubSystem.writeOutputRegister with the corresponding bit mask.
Parameters
nr[in] The number of the digital output.

◆ readInputRegister()

long readInputRegister ( )

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.

◆ readOutputRegister()

long readOutputRegister ( )

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.

◆ RTCtrProgramCount()

long RTCtrProgramCount ( )

Returns the number of mvIMPACT.acquire.RTCtrProgram s available for the mvIMPACT.acquire.Device associated with this object.

◆ swigRelease()

static long swigRelease ( IOSubSystem obj)
staticprotected

◆ writeOutputRegister() [1/2]

void writeOutputRegister ( long value)

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
value[in] The value to be applied to the output register set to '1' in this parameter means that the state of this output has to adopt its style according to the value in value.

Reimplemented in IOSubSystemBlueFOX, and IOSubSystemCommon.

◆ writeOutputRegister() [2/2]

void writeOutputRegister ( long value,
long mask )

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
value[in] The value to be applied to the output register
mask[in] 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.

Reimplemented in IOSubSystemBlueFOX, and IOSubSystemCommon.

Member Data Documentation

◆ swigCMemOwn

transient boolean swigCMemOwn
protected