The default timeout for Inertial commands (100 milliseconds)
explicit InertialNode_Impl( |
| ) |
Creates an InertialNode_Impl object.
connection | The Connection object used for communication. |
Destroys the InertialNode object
The Inertial packet collector used to store interial data packets
The response collector used to find and store wireless command responses
The Inertial parser in charge of parsing all incoming data to this device
The timeout to use for Inertial commands
The InertialNodeInfo object that gives access to information of the Inertial Node
The Sensor sample rate base (if any).
The GPS sample rate base (if any).
The Estimation Filter sample rate base (if any).
Contains the sample rates for the Sensor group.
Contains the sample rates for the GPS group.
Contains the sample rates for the Estimation Filter group.
A Timestamp representing the last time communication was achieved with the InertialNode.
The InertialNodeFeatures containing the features for this device.
void parseResponse( |
| ) |
Callback function that parses any bytes that are in the read buffer to find packets or command responses
data | The DataBuffer containing all the data to be parsed |
virtual GenericInertialCommandResponse doInertialCmd( |
| ) |
Performs a generic Inertial Command, sending the command bytes and waiting for the response.
response GenericInertialCommand::Response& | A <GenericInertialCommand::Response> that will be used to wait and contain all the command/result information. |
command const ByteStream& | The ByteStream containing the bytes to send for the command. |
commandId | The InertialTypes::Command for this command, used in initially checking whether the Inertial Node supports the command. |
verifySupported bool | Whether to verify if the command is supported before performing the command (default of true). |
The GenericInertialCommandResponse that contains the actual data from the response
Error_NotSupported: The command is not supported by this Node.
Error_InertialCmdFailed: The command has failed.
Gets the InertialNodeInfo for this Node. The first time this function is called, it will send multiple commands to the device to get all required information.
A reference to the InertialNodeInfo for this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: Information failed to be loaded for this Node.
Gets a reference to the InertialNodeFeatures for this device.
Error_NotSupported: The model is not supported by MSCL.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: Information failed to be loaded for this Node.
Gets the Timestamp for the last time we communicated with the InertialNode.
const SampleRates& supportedSampleRates( |
| ) |
Gets a list of the supported sample rates for an InertialTypes::InertialCategory.
category | The InertialTypes::InertialCategory to get the sample rate list for. |
A SampleRates list containing all the supported sample rates for the provided channel.
Error: The InertialTypes::InertialCategory is invalid.
void getDataPackets( |
| ) |
Gets up to the requested amount of data packets that have been collected.
packets std::vector<InertialDataPacket>& | A vector of InertialDataPacket to hold the result. |
timeout uint32 | the timeout, in milliseconds, to wait for the data if necessary (default of 0) |
maxPackets uint32 | The maximum number of packets to return. If this is 0 (default), all packets will be returned. |
Error_Connection: A connection error has occurred with the InertialNode.
Gets the total number of data packets that are currently in the buffer.
The total number of data packets that are currently in the buffer.
void timeout( |
| ) |
Sets the timeout to use when waiting for responses from Inertial commands.
timeout uint64 | The timeout (in milliseconds) to set for Inertial commands. |
Gets the timeout to use when waiting for responses from Inertial commands.
The timeout (in milliseconds) used for Inertial commands.
Gets information about the InertialNode. Sends the "Get Device Information" command to the device.
A InertialDeviceInfo object that holds the response of the "Get Device Information" command.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
Gets the supported descriptor sets for this node, representing which commands and data sets are available. Sends the "Get Device Descriptor Sets" command to the device.
The supported descriptors retrieved from the "Get Device Descriptor Sets" command.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
Pings the node to check for communication. Sends the "Ping" command to the device.
true if successfully pinged the node, false if failed.
Error_Connection: A connection error has occurred with the InertialNode.
Suspends streaming (if enabled) or wakes the device from sleep (if sleeping), putting the device in an idle mode. After this command is used, the resume command may be used to put the Node back into the mode it was previously in before setToIdle was called.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
Places the Node back in the mode it was in before issuing the setToIdle command. If the setToIdle command was not issues, then the device is placed in default mode.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
virtual uint16 getDataRateBase( |
| ) |
Gets the Data decimation base for the data rate calculations of the specified InertialTypes::InertialCategory.
category | The InertialTypes::InertialCategory to get the Data decimation base for. |
The decimation base for the data rate calculations.
Error_NotSupported: The command or InertialTypes::InertialCategory is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
virtual InertialChannels getMessageFormat( |
| ) |
Gets the current message format of the specified InertialTypes::InertialCategory's data packet.
category | The InertialTypes::InertialCategory to get the current message format for. |
An InertialChannels object containing the channels that make up the data message format for the specified InertialTypes::InertialCategory
Error_NotSupported: The command or InertialTypes::InertialCategory is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
virtual void setMessageFormat( |
| ) |
Sets the current message format of the specified InertialTypes::InertialCategory's data packet. Note that this function does not add to the existing message format, but overwrites it entirely.
category | The InertialTypes::InertialCategory to set the message format for. |
channels const InertialChannels& | The InertialChannels object containing the channels to set the message format to. Passing an empty InertialChannels object will effectively disable all channels. |
Error_NotSupported: The command or InertialTypes::InertialCategory is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
Error: An InertialChannel in the channels parameter is not part of the specified InertialTypes::InertialCategory's descriptor set.
Gets the current communication mode that the node is in.
The communication mode the node is in. This is an advanced command, and therefore the communication modes for your device should be researched to determine what each communication mode is.
Error_NotSupported: The command is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
virtual void setCommunicationMode( |
| ) |
Sets the communication mode for the node. Note: The node info will be reset when doing this and therefore will require being fetched again the next time it is requested.
communicationMode uint8 | The communication mode to set. This is an advanced command, and therefore the communication modes for your device should be researched to determine what each communication mode is. |
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed.
Error_Connection: A connection error has occurred with the InertialNode.
void enableDataStream( |
| ) |
Enables or disables continuous data streaming for the node.
category | The InertialTypes::InertialCategory to enable/disable streaming for. |
enable bool | Whether to enable (true) or disable (false) continuous streaming (Default of true). |
Error_NotSupported: The command, or <InertialTypes::InertialTypeCategory>, is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed.
Error_Connection: A connection error has occurred with the InertialNode.
Resets the filter to the initialize state.
Error_NotSupported: The command is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed.
Error_Connection: A connection error has occurred with the InertialNode.
Gets the state of the automatic initialization upon device startup.
true if auto-initialization is enabled, false if it is disabled.
Error_NotSupported: The command is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed.
Error_Connection: A connection error has occurred with the InertialNode.
void setAutoInitialization( |
| ) |
Sets the state of the automatic initialization upon device startup.
enable bool | Whether to enable (true) or disable(false) auto-initialization. |
Error_NotSupported: The command is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed.
Error_Connection: A connection error has occurred with the InertialNode.
void setInitialAttitude( |
| ) |
Sets the initial attitude.
attitude const EulerAngles& | The EulerAngles (in radians) representing the sensor body frame with respect to the local NED frame. |
Error_NotSupported: The command is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed.
Error_Connection: A connection error has occurred with the InertialNode.
void setInitialHeading( |
| ) |
Sets the initial heading.
heading float | The heading to set (in radians). |
Error_NotSupported: The command is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed.
Error_Connection: A connection error has occurred with the InertialNode.
Gets the sensor to vehicle frame transformation matrix using roll, pitch, and yaw Euler angles (in radians).
Error_NotSupported: The command or InertialTypes::InertialCategory is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
void setSensorToVehicleTransformation( |
| ) |
Sets the sensor to vehicle frame transformation matrix using roll, pitch, and yaw Euler angles (in radians).
angles const EulerAngles& | The EulerAngles object containing the roll, pitch, and yaw to set. |
Error_NotSupported: The command is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
Gets the sensor to vehicle frame offset, expressed in the sensor frame.
Error_NotSupported: The command is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
Sets the sensor to vehicle frame offset, expressed in the sensor frame.
offset | The PositionOffset object containing the x, y, and z position (in meters) to set. |
Error_NotSupported: The command is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
Gets the antenna offset, expressed in the sensor frame.
Error_NotSupported: The command is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.
void setAntennaOffset( |
| ) |
Sets the antenna offset, expressed in the sensor frame.
offset const PositionOffset& | The PositionOffset object containing the x, y, and z position (in meters) to set. |
Error_NotSupported: The command is not supported by this Node.
Error_Communication: There was no response to the command. The command timed out.
Error_InertialCmdFailed: The command has failed. Check the error code for more details.
Error_Connection: A connection error has occurred with the InertialNode.