public interface ISensorControlInterface extends IEventProducer
Interface to be implemented by all sensor drivers connected to the system Commands can be sent to each sensor controllable input via this interface. Commands can be executed synchronously or asynchronously by sensors. If asynchronous mode is supported, implementations of this class MUST produce events of type SensorControlEvent.
Modifier and Type | Method and Description |
---|---|
CommandStatus |
cancelCommand(java.lang.String commandID)
Cancels a command before it is executed (for async or scheduled commands)
|
CommandStatus |
execCommand(DataBlock command)
Executes the command synchronously, blocking until completion of command
|
CommandStatus |
execCommandGroup(java.util.List<DataBlock> commands)
Executes multiple commands synchronously and in the order specified.
|
DataComponent |
getCommandDescription()
Retrieves description of command message
Note that this can be a choice of multiple messages
|
CommandStatus |
getCommandStatus(java.lang.String commandID)
Retrieves command status
|
java.util.List<CommandStatus> |
getCommandStatusHistory(java.lang.String commandID)
Gets complete status history for the specified command
|
java.lang.String |
getName()
Gets the interface name.
|
ISensorModule<?> |
getParentSensor()
Allows by-reference access to parent sensor interface
|
boolean |
isAsyncExecSupported()
Checks asynchronous execution capability
|
boolean |
isEnabled()
Checks if this interface is enabled
|
boolean |
isSchedulingSupported()
Checks scheduled execution capability
|
boolean |
isStatusHistorySupported()
Checks status history capability
|
CommandStatus |
scheduleCommand(DataBlock command,
org.vast.util.DateTime execTime)
Schedules a command to be executed asynchronously at the specified time
|
CommandStatus |
scheduleCommandGroup(java.util.List<DataBlock> commands,
org.vast.util.DateTime execTime)
Schedules a group of commands to be executed asynchronously at the specified time.
|
CommandStatus |
sendCommand(DataBlock command)
Sends a command that will be executed asynchronously
|
CommandStatus |
sendCommandGroup(java.util.List<DataBlock> commands)
Sends a group of commands for asynchronous execution.
|
registerListener, unregisterListener
ISensorModule<?> getParentSensor()
java.lang.String getName()
ISensorModule.getCommandInputs()
boolean isEnabled()
boolean isAsyncExecSupported()
boolean isSchedulingSupported()
boolean isStatusHistorySupported()
DataComponent getCommandDescription()
CommandStatus execCommand(DataBlock command) throws SensorException
command
- command message dataSensorException
CommandStatus execCommandGroup(java.util.List<DataBlock> commands) throws SensorException
commands
- list of command messages dataSensorException
CommandStatus sendCommand(DataBlock command) throws SensorException
command
- command message dataSensorException
isAsyncExecSupported()
CommandStatus sendCommandGroup(java.util.List<DataBlock> commands) throws SensorException
commands
- list of command messages dataSensorException
isAsyncExecSupported()
CommandStatus scheduleCommand(DataBlock command, org.vast.util.DateTime execTime) throws SensorException
command
- command message dataexecTime
- desired time of executionSensorException
isSchedulingSupported()
CommandStatus scheduleCommandGroup(java.util.List<DataBlock> commands, org.vast.util.DateTime execTime) throws SensorException
commands
- execTime
- SensorException
isSchedulingSupported()
CommandStatus cancelCommand(java.lang.String commandID) throws SensorException
commandID
- id of command to be canceledSensorException
isAsyncExecSupported()
CommandStatus getCommandStatus(java.lang.String commandID) throws SensorException
commandID
- id of command to get status forSensorException
isAsyncExecSupported()
java.util.List<CommandStatus> getCommandStatusHistory(java.lang.String commandID) throws SensorException
commandID
- id of command to get status history forSensorException
isStatusHistorySupported()