Go to the documentation of this file.
82 using namespace xsens;
137 return deviceId().isImu() ? 0 : 400;
152 return deviceId().isGnss() ? 400 : 0;
154 return deviceId().isGnss() ? 400 : 0;
174 return static_cast<uint8_t
>(gmtLine);
217 sndType.setDataLong(type);
218 sndType.setDataShort(frequency, 4);
273 serializer >> config;
283 snd.setBusId(
busId());
284 bool wasEmpty = config.empty();
305 return rcv.getDataLong();
317 rv.push_back((
int)rcv.getDataLong(0));
318 rv.push_back((
int)rcv.getDataLong(4));
319 rv.push_back((
int)rcv.getDataLong(8));
330 snd.setBusId(
busId());
332 if (config.size() > 0)
333 snd.setDataLong((
uint32_t)config[0], 0);
334 if (config.size() > 1)
335 snd.setDataLong((
uint32_t)config[1], 4);
336 if (config.size() > 2)
337 snd.setDataLong((
uint32_t)config[2], 8);
343 if (currentConfig != config)
356 snd.setBusId(
busId());
357 snd.setDataLong(config);
363 if ((currentConfig & 0xFF) != (config & 0xFF))
377 snd.setBusId(
busId());
378 snd.setDataFloat((
float)arm[0], 0);
379 snd.setDataFloat((
float)arm[1], 1 *
sizeof(
float));
380 snd.setDataFloat((
float)arm[2], 2 *
sizeof(
float));
401 arm[0] = rcv.getDataFloat(0);
402 arm[1] = rcv.getDataFloat(1 *
sizeof(
float));
403 arm[2] = rcv.getDataFloat(2 *
sizeof(
float));
413 if (gnssReceivSett.size() > 3)
415 int gnssReceiverModel = gnssReceivSett[0];
416 int gnssReceiverOptions = gnssReceivSett[3];
432 if (gnssReceivSett.size() > 3)
434 int gnssReceiverModel = gnssReceivSett[0];
435 int gnssReceiverOptions = gnssReceivSett[3];
441 gnssReceivSett[3] = (int) ((((
unsigned int)gnssReceiverOptions) & 0xFFFF0000U) | uint16_t(
ubloxGnssPlatform));
#define XS_BID_MASTER
The bus identifier of the master device.
@ XSF_SyncIn
When set indicates a sync-in event has been triggered.
@ XDI_RateOfTurnHR
Rate of turn HR data.
MtiBaseDevice::BaseFrequencyResult getBaseFrequencyInternal(XsDataIdentifier dataType=XDI_None) const override
Returns the base update rate (Hz) corresponding to the dataType.
uint32_t supportedStatusFlags() const override
Returns a bitmask with all the status flags supported by this device.
@ XSOT_PHTRO
Proprietry NMEA string with Pitch and Roll.
XsDeviceId const & deviceId() const
Return the device ID of the device.
uint32_t canConfiguration() const override
Returns the currently configured CAN configuration of the device.
@ XDI_PositionGroup
Group for position related outputs.
A class that does the message deserialization.
A class that represents a vector of real numbers.
@ XSOT_HCHDM
NMEA string with Magnetic Heading.
@ XDI_AccelerationGroup
Group for acceleration related outputs.
@ XSOT_PRDID
Proprietry NMEA string with Pitch, Roll and Heading.
@ XDI_AngularVelocityGroup
Group for angular velocity related outputs.
int m_frequency
A frequency value.
static XsString stripProductCode(const XsString &code)
Helper function to strip the hardware type from the product code.
@ XSOT_TSS2
Proprietry string with Heading, Heave, Roll and Pitch.
@ XSOT_XSVEL
Proprietry NMEA string with velocity data.
@ XDI_None
Empty datatype.
@ XSF_GpsValid
Is set when the device has a GPS receiver and the receiver says that there is a GPS position fix.
XsString shortProductCode() const override
Return the shortened product code of the device suitable for display.
@ XDI_DeviceId
DeviceId output.
XsVector gnssLeverArm() const override
struct XsCanOutputConfigurationArray XsCanOutputConfigurationArray
SyncLineGmt xslToXslgmt(XsSyncLine line)
Translate an XsSyncLine into a SyncLineGmt.
XsString productCode() const
Return the product code of the device.
@ XMID_SetStringOutputConfig
@ XDI_VelocityGroup
Group for velocity related outputs.
virtual ~Mti6X0Device()
Destroys a device.
@ XMID_SetCanOutputConfig
bool setCanOutputConfiguration(XsCanOutputConfigurationArray &config) override
Set the CAN output configuration for this device.
struct XsVersion XsVersion
@ XSF_ClippingDetected
When set Indicates clipping has occurred.
XsUbloxGnssPlatform ubloxGnssPlatform() const override
Returns the device GNSS platform for u-blox GNSS receivers.
bool setPortConfiguration(XsIntArray &config) override
Change the port configuration of a device.
XsIntArray gnssReceiverSettings() const override
Gets some GNSS receiver settings.
@ XSOT_HCHDG
NMEA string with Heading and Magnetic Variation.
@ XSF_RepresentativeMotion
Indicates if the In-Run Compass Calibration is doing the representative motion analysis.
@ XSF_FilterMode
Mask for the 3 bit filter mode field.
@ XDI_MagneticGroup
Group for magnetometer related outputs.
@ XDI_FullTypeMask
Mask to get the type of data, without the data format.
@ XDI_LocationId
LocationId output.
@ XSF_NoRotationMask
If all of these flags are set, the No Rotation algorithm is running.
virtual int busId() const
The bus ID for this device.
@ XSF_ExternalClockSynced
Indicates whether the internal clock is synced with an external clock (Either GNNS or custom provided...
uint8_t syncLine(const XsSyncSetting &setting) const override
@ XSOT_PSONCMS
NMEA string with Xsens Compass Motion Sensor information.
@ XSF_OrientationValid
Is set when the computed orientation is valid. The orientation may be invalid during startup or when ...
@ XSF_RtkStatus
Mask for 2 bit RTK status field 00: No RTK; 01: RTK floating; 10: RTK fixed.
A structure for storing all xsens sync settings.
XsDataIdentifier
Defines the data identifiers.
@ XDI_RawSensorGroup
Group for raw sensor data related outputs.
A base struct for a communication interface.
bool setUbloxGnssPlatform(XsUbloxGnssPlatform ubloxGnssPlatform) override
Set the device GNSS platform for u-blox GNSS receivers.
virtual XsVersion firmwareVersion() const
Return the firmware version.
bool setCanConfiguration(uint32_t config) override
Set the CAN output configuration for this device.
@ XSOT_HEROT
NMEA string with Rate of Turn.
XsCanOutputConfigurationArray canOutputConfiguration() const override
Returns the currently configured CAN output of the device.
SyncLineGmt
Synchronization line identifiers for the generic motion tracker (GMT) devices, only to be used direct...
XsIntArray portConfiguration() const override
Get the current port configuration of a device.
@ XDI_TimestampGroup
Group for time stamp related outputs.
@ XSOT_HEHDT
NMEA string with True Heading.
@ XDI_GnssGroup
Group for Gnss related outputs.
@ XDI_StatusGroup
Group for status related outputs.
Structure for storing a single message.
virtual bool reset()
Reset the device.
#define XDI_MAX_FREQUENCY_VAL
@ XDI_FreeAcceleration
Free acceleration output in m/s2.
struct XsIntArray XsIntArray
@ XSOT_PTCF
NMEA string with motion data.
bool setStringOutputMode6x0(uint32_t type, uint16_t frequency)
Sets the string output mode for this device.
@ XSOT_GPGGA
NMEA string with Global Positioning system fix data.
XsStringOutputTypeArray supportedStringOutputTypes() const override
Ask the device for its supported string output types.
A class that does the message serialization.
@ XSF_SyncOut
When set Indicates a sync-out event has been generated.
bool setGnssReceiverSettings(const XsIntArray &gnssReceiverSettings) override
Sets some GNSS receiver settings.
bool m_divedable
A divedable value.
@ XSOT_GPZDA
NMEA string with date and time.
@ XSOT_EM1000
Binary format suitable for use with Simrad EM1000 mulitibeam sounders with Roll, Pitch,...
@ XDI_PressureGroup
Group for pressure related outputs.
Mti6X0Device(Communicator *comm)
Constructs a device.
Single data type CAN output configuration.
A list of XsStringOutputType values.
@ XDI_OrientationGroup
Group for orientation related outputs.
A list of XsCanOutputConfiguration values.
@ XSOT_HCMTW
NMEA string with (water) Temperature.
@ XDI_TemperatureGroup
Group for temperature outputs.
bool doTransaction(const XsMessage &snd) const
XsGnssReceiverType
These enums represent various GNSS receiver types that are supported.
A struct for base frequency result.
@ XSOT_GPRMC
NMEA string with recommended minimum specific GPS/Transit data.
bool hasIccSupport() const override
A 0-terminated managed string of characters.
@ XSF_HaveGnssTimePulse
Indicates that the 1PPS GNSS time pulse is present.
bool setGnssLeverArm(const XsVector &arm) override
Sets the GNSS Lever Arm vector.
@ XDI_TypeMask
Mask for checking the group which a dataidentifier belongs to, Eg. XDI_TimestampGroup or XDI_Orientat...
@ XDI_RawGyroTemp
Raw gyroscope and temperature data.
@ XDI_AccelerationHR
AccelerationHR output.
@ XMID_ReqCanOutputConfig
The internal base class for MTi devices.