ixcom: Communication with iMAR devices

The ixcom python package makes communication with iMAR’s inertial navigation systems speaking the iXCOM protocol very simple.

Installation

The ixcom package can be installed from pypi.org:

pip install ixcom

Examples

Connect to the system with IP 192.168.1.30 and start a new alignment:

import ixcom

client = ixcom.Client('192.168.1.30')
client.open_last_free_channel()
client.realign()

Contact

For questions going beyond this documentation or about the iMAR navigation systems, please contact support@imar-navigation.de .

Client

class ixcom.parser.Client(host, port=3000, timeout=10)

Bases: ixcom.parser.MessageParser

XCOM TCP Client

Implements a TCP-socket based XCOM client and offers convenience methods to interact with the device. Other classes may subscribe to decoded messages.

join_comm_thread()

Join the communication thread Blocks the calling location until the communications thread terminates. Can e.g. be used if callbacks have been set up, logs have been requested and we just want to leave the program running like this until the communications with the device stop. :param self:

open_channel(channelNumber=0)

Opens an XCOM logical channel

Opens an XCOM logical channel on the associated socket and waits for an ‘OK’ response.

Parameters:

chnannelNumber – XCOM channel to open. Default = 0

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
open_last_free_channel()

Opens an XCOM logical channel

Opens an XCOM logical channel on the associated socket and waits for an ‘OK’ response.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
  • RuntimeError – If no free channel is available on the system.
Returns:

number of the opened channel

Return type:

channelNumber

open_first_free_channel()

Opens an XCOM logical channel

Opens an XCOM logical channel on the associated socket and waits for an ‘OK’ response.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
  • RuntimeError – If no free channel is available on the system.
Returns:

number of the opened channel

Return type:

channelNumber

close_channel()

Closes XCOM logical channel

Closes XCOM channel on the associated socket and waits for an ‘OK’ response.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
reboot()

Reboots the system

Sends an XCOM reboot command on the associated socket and waits for an ‘OK’ response.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
get_parameter(parameterID: int)

Gets parameter from device with specified ID

Gets the specified parameter. Blocks until parameter is retrieved.

Parameters:

parameterID – ID of the parameter to retrieve

Returns:

An XcomMessage object containing the parameter

Raises:
  • ClientTimeoutError – Timeout while waiting for response or parameter from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
set_aligncomplete()

Completes the alignment

Completes system alignment by sending the EKF ALIGN_COMPLETE command. Blocks until system repsonse is received.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
realign()

Initiates a new alignment

Initiates a new system alignment by sending the EKF ALIGN command. Blocks until system repsonse is received.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
save_pos()

Saves the current position

Saves the current system position in ROM. Uses the EKF SAVE_POS command

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
save_hdg()

Saves the current heading

Saves the current heading value in ROM. Uses the EKF SAVE_HDG command

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
forced_zupt(enable: bool)

Enables or disables forced Zero Velocity updates

Enables or disables forced Zero Velocity updates using the EKF FORCED_ZUPT command.

Parameters:

enable – boolean value to enable or disable ZUPTs.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
save_antoffset(antenna: int)

Saves the currently estimated GNSS antenna offset

Saves the currently estimated GNSS antenna offset using the EKF SAVE_ANTOFFSET command.

Parameters:

antenna – Antenna # to save the offset for.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
save_config()

Saves the current configuration

Saves the current configuration to ROM using the CONF SAVE_CONFIG command.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
load_config()

Loads the configuration from ROM

Loads the configuration from ROM using the CONF LOAD_CONFIG command.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
factory_reset()

Performs a factory reset

Performs a factory reset using the CONF FACTORY_RESET command.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’
add_log_with_rate(msgID: int, rate: float)

Add a log with specified rate

Adds a log with a specific message ID with a specified rate. The divider is computed by taking into account the MAINTIMING and PRESCALER system parameters.

Parameters:
  • msgID – Mesage ID which should be requested.
  • rate – Requested log rate in Hz
Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’ or if rate too high.
get_divider_for_rate(rate: float)

Determines the divider resulting in a certain log output rate for this system.

Parameters:

rate – output rate in Hz

Returns:

Divider which results in an output rate as close as possible to the requested rate.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’ or if rate too high.
  • ValueError – If the selected rate os higher than the inertial sensor sampling rate.
add_log_sync(msgID: int, divider: int)

Add a log with specified divider

Adds a log with a specific message ID with a divider.

Parameters:
  • msgID – Mesage ID which should be requested.
  • divider – divider to use
Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
add_log_event(msgID: int)

Add an event-triggered log

Adds a log with a specific message ID to be sent at event. The triggering event depends on the specific log, e.g. for GNSSSOL, an event trigger will trigger the log with every new solution.

Parameters:

msgID – Mesage ID which should be requested.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
clear_all()

Clears all logs

Sends a CLEAR_ALL command to the system.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
clear_log(msgID: int)

Clears a log with a specific message ID.

Clears a log with a specific message ID.

Parameters:

msgID – Mesage ID which should be requested.

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
poll_log(msgID)

Polls a log

Polls a log with a specified message ID. Blocks until the log is retrieved and returns the log.

Parameters:

msgID – Message ID to poll

Returns:

The polled log

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
wait_for_parameter()

Waits for reception of parameter

Blocks until a parameterEvent is received.

Raises:ClientTimeoutError – Timeout while waiting for parameter from the XCOM server
wait_for_polled_log()

Waits for reception of log

Blocks until a messageEvent is received.

Raises:ClientTimeoutError – Timeout while waiting for message from the XCOM server
wait_for_log(msgID: int)

Waits for reception of log with specified message ID

Parameters:msgID – message ID of the log to be retrieved
Raises:ClientTimeoutError – Timeout while waiting for message from the XCOM server
enable_recorder(channel: int, enable_autostart: bool)

Enable the system recorder on the specified channel

Parameters:
  • channel – XCOM channel to use for autostart
  • enable_autostart – selects whether to start the recorder directly
Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
disable_recorder()

Disable the system recorder

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
start_recorder(path: str)

Start the system recorder

Parameters:

path – log directory to use

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
stop_recorder()

Stop the system recorder

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
disable_udp_broadcast()

Stop the UDP broadcast

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_recorder_suffix(suffix: str)

Sets the suffix of the system recorder

The suffix will be the part between the GNSS time and before the idx, e.g. the log path will be 2019_08_07_1230_suffix, or suffix_001

Parameters:

suffix – suffix to use

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
enable_full_sysstatus()

Enables all available system status payloads

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
get_device_info()

Get information about the connected device

Returns:

A dictionary containing information about the device, e.g. part number, serial number, etc.

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_zupt_parameters(thr_acc: float = 1, thr_omg: float = 1, thr_vel: float = 0, cut_off: float = 1, interval: float = 3, final_std_dev: float = 0.002, start_std_dev: float = 0.01, time_constant: float = 1, delay_samples: int = 300, activation_mask: int = 0, auto_zupt: bool = 1)

Sets the parameters for the motion detection engine

Parameters:
  • thr_acc – Acceleration threshold in m/s^2.
  • thr_omg – Angular rate threshold in rad/s.
  • thr_vel – Threshold in m/s for the ZUPT inhibitor, i.e. ZUPTs will be inhibited if GNSS detects a velocity higher than this threshold
  • cut_off – Cutoff frequency in Hz for the low-pass filter filtering the accelerations and angular rates for the ZUPT detector
  • interval – ZUPT interval in seconds
  • final_std_dev – Final ZUPT standard deviation in m/s. For details, please refer to the protocol documentation
  • start_std_dev – Initial ZUPT standard deviation in m/s. For details, please refer to the protocol documentation
  • time_constant – Time constant for the exponential ZUPT standard deviation falloff. For details, please refer to the protocol documentation
  • delay_samples – Number of samples for which a all detection conditions have to be met before a stationary condition is proclaimed.
  • activation_mask – Selects which sensors to use in ZUPT detecion. Bit 0: Accelerometer, Bit 1: Angular rate, Bit 2: Odometer.
  • auto_zupt – Selects whether to do zero velocity updates in the navigation filter if a stationary condition has been detected.
Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_autozupt(enable: bool)

Enable or disable automatic ZUPT execution if a stationary condition has been detected.

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
get_startup()

Convenience getter for startup parameters of the device.

Raises:
  • ClientTimeoutError – Timeout while waiting for response or parameter from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_startup(initPos=PositionTuple(Lon=0.1249596927, Lat=0.8599914412, Alt=311.9), initPosStdDev: Sequence[float] = [10, 10, 10], posMode: ixcom.protocol.StartupPositionMode = <StartupPositionMode.GNSSPOS: 0>, initHdg: float = 0, initHdgStdDev: float = 1, hdgMode: ixcom.protocol.StartupHeadingMode = <StartupHeadingMode.DEFAULT: 0>, realign: bool = False, inMotion: bool = False, leverArm: Sequence[float] = [0, 0, 0], leverArmStdDev: Sequence[float] = [1, 1, 1], autorestart: bool = False, gnssTimeout: int = 0)

Sets the startup parameters of the device.

Parameters:
  • initPos – Initial position to use. Type: PositionTuple(Lon, Lat, Alt) in (rad, rad, m)
  • initPosStdDev – Standard deviation of initial position in m.
  • posMode (ixcom.protocol.StartupPositionMode) – Source of initial position
  • initHdg – Initial heading in rad
  • initHdgStdDev – Initial heading standard deviation rad
  • hdgMode (ixcom.protocol.StartupHeadingMode) – Source of initial heading
  • realign – Select whether a realignment shall be performed with the reception of the parameter
  • inMotion – If set, an in-motion alignment will be performed, regardless of the method selected in PAREKF_ALIGNMENT
  • leverArm – Lever arm for the starting position in m
  • leverArmStdDev – Standard deviation of the lever arm
  • autorestart – Select whether the alignment shall be automatically restarted upon detected motion (during levelling) or finished (during stationary alignment)
  • gnssTimeout – Timeout in seconds after which the system will resort to fallback positions after a realignment if the posMode is set to GNSS but no valid GNSS signal can be obtained. For details, please refer to the protocol documentation
Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_alignment(mode: ixcom.protocol.AlignmentMode = None, levelling_time: int = None, stationary_time: int = None, enable_gyro_avg: bool = None, enable_track_align: bool = None, track_align_thresh: float = None, track_align_direction: Sequence[float] = None, zupt_std_dev: float = None)

Change the configured alignment method

Changes only parameters which are not None.

Parameters:
  • mode (protocol.AlignmentMode) – Selected alignment mode
  • levelling_time – Levelling duration in seconds.
  • stationary_time – Stationary alignment duration in seconds. Automatic ZUPTs will be executed during this period.
  • enable_gyro_avg – Selects whether an initial guess of the gyro bias shall be formed by averaging during levelling.
  • enable_track_align – Selects whether the direction of the GNSS velocity vector shall be used for attitude initialization by matching it with the body vector given it in the track_align_direction argument.
  • track_align_thresh – Velocity threshold in m/s which has to be exceeded to use the GNSS track for aiding.
  • track_align_direction – Main motion direction in the INS enclosure coordinate frame.
Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_aligntime(levelling_time: int, zupt_time: int)

Sets the alignment duration to the commanded values

Parameters:
  • levelling_time – Duration of levelling in seconds
  • zupt_time – Duration of stationary alignment in seconds
Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_alignmode(mode: ixcom.protocol.AlignmentMode)

Change the configured alignment mode

Parameters:

mode (protocol.AlignmentMode) – Selected alignment mode

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_thresholds(pos_medium: float = 1, pos_high: float = 0.1, heading_good: float = 1.7453292519943296e-05)

Sets the thresholds used for the position and heading accuracy status bits in the global status.

Parameters:
  • pos_medium – Threshold to fall below for POS_MEDIUM_ACCURACY in m
  • pos_high – Threshold to fall below for POS_HIGH_ACCURACY in m
  • heading_good – Threshold to fall below for HEADING_GOOD_ACCURACY in rad. Note: A stationary alignment will be ended if this value has been reached!
Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_imu_misalign(x: float, y: float, z: float)

Adjusts PARIMU_MISALIGN

Parameters:
  • x – rotation around the x axis in rad
  • y – rotation around the y axis in rad
  • z – rotation around the z axis in rad
Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
enable_postproc(channel: int)

Enables the logging of data used for analysis and postprocessing on the selected channel

Parameters:

channel – Channel to use for the system recorder

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
disable_postproc(channel: int = -1)

Disables the logging of data used for analysis and postprocessing for a specific channel

Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
aid_pos(lonLatAlt: Sequence[float], llhStdDev: Sequence[float], leverarmXYZ: Sequence[float], leverarmStdDev: Sequence[float], enableMSLaltitude=0, time: float = 0, timeMode: ixcom.protocol.ExtAidingTimeMode = <ExtAidingTimeMode.LATENCY: 1>)

External position aiding

Parameters:
  • lonLatAlt – (Lon, Lat, Alt) in (rad, rad, m)
  • llhStdDev – Standard deviation in the directions of (Lon, Lat, Alt) in (m, m, m)
  • leverarmXYZ – Leverarm in m
  • leverarmStdDev – Standard deviation of the leverarm in m
  • enableMSLaltitude – Set 1 if Altitude is meansealevel
  • time – Timestamp or latency, depending on the timeMode argument
  • timeMode (protocol.ExtAidingTimeMode) – Selects whether the timestamp is a GPS second of week or a latency.
Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
aid_vel(vNED: Sequence[float], vNEDStdDev: Sequence[float], time: float = 0, timeMode: ixcom.protocol.ExtAidingTimeMode = <ExtAidingTimeMode.LATENCY: 1>)

External velocity aiding

Parameters:
  • vNED – NED velocity in m/s
  • vNEDStdDev – Standard deviation of vNED in m/s
  • time – Timestamp or latency, depending on the timeMode argument
  • timeMode (protocol.ExtAidingTimeMode) – Selects whether the timestamp is a GPS second of week or a latency.
Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
aid_heading(heading: float, standard_dev: float, time: float = 0, timeMode: ixcom.protocol.ExtAidingTimeMode = <ExtAidingTimeMode.LATENCY: 1>)

External heading aiding

Parameters:
  • heading – heading in rad
  • standard_dev – Standard deviation of heading in rad
  • time – Timestamp or latency, depending on the timeMode argument
  • timeMode (protocol.ExtAidingTimeMode) – Selects whether the timestamp is a GPS second of week or a latency.
Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
aid_height(height: float, standard_dev: float, time: float = 0, timeMode: ixcom.protocol.ExtAidingTimeMode = <ExtAidingTimeMode.LATENCY: 1>)

External height aiding

Parameters:
  • heading – height in m
  • standard_dev – Standard deviation of height in m
  • time – Timestamp or latency, depending on the timeMode argument
  • timeMode (protocol.ExtAidingTimeMode) – Selects whether the timestamp is a GPS second of week or a latency.
Raises:
  • ClientTimeoutError – Timeout while waiting for response or log from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
send_and_wait_for_okay(inBytes)

Waits for reception of OK response

Send the bytes and waits for an OK response from the system

Parameters:

inBytes – bytes to send

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
send_and_dont_wait_for_okay(inBytes)

Waits for reception of OK response

Send the bytes and waits for an OK response from the system

Parameters:

inBytes – bytes to send

Raises:
  • ClientTimeoutError – Timeout while waiting for response from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
get_antoffset(antenna)

Convenience getter for antenna offset

Gets the antenna offset for the specified antenna #

Parameters:

antenna – Antenna # to retrieve the antenna offset for.

Raises:
  • ClientTimeoutError – Timeout while waiting for response or parameter from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_antoffset(antenna=0, offset=[0, 0, 0], stdDev=[0.1, 0.1, 0.1])

Convenience setter for antenna offset

Sets the antenna offset for the specified antenna #

Parameters:
  • antenna – Antenna # to retrieve the antenna offset for.
  • offset – antenna offset in m.
  • stdDev – standard deviation of antenna offset in m.
Raises:
  • ClientTimeoutError – Timeout while waiting for response or parameter from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_odooffset(offset=[0, 0, 0])

Convenience setter for odometer offset

Sets the odometer offset

Parameters:

offset – antenna offset in m.

Raises:
  • ClientTimeoutError – Timeout while waiting for response or parameter from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
get_virtual_meas_pt()

Convenience getter for virtual measpoint offset

Gets the virtual measpoint offset for the output values defined with the mask #

Raises:
  • ClientTimeoutError – Timeout while waiting for response or parameter from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.
set_virtual_meas_pt(offset=[0, 0, 0], activationMask=0, cutOffFreq=0)

Convenience setter for virtual measpoint offset

Sets the virtual measpoint offset #

Parameters:
  • offset – Distance between INS center of measurement and virtual measurement point [m, m, m].
  • activationMask – Bit 0 -> INS/GNSS Position, Bit 1 -> INS/GNSS Velocity, Bit 2 -> Specific Force, Bit 3 -> Angular Rate
  • cutOffFreq – The parameter CUTOFF-FREQ specifies the cut-off 1st frequency in [Hz] of the 1 order low pass. The low pass is used to filter ω for the transformation. Due to the noise, the derivation of ω will not be transformed.
Raises:
  • ClientTimeoutError – Timeout while waiting for response or parameter from the XCOM server
  • ResponseError – The response from the system was not ‘OK’.

Protocol

class ixcom.protocol.msg_iterator(msg, in_bytes)

Bases: object

class ixcom.protocol.Response

Bases: enum.IntEnum

Enumeration for response IDs

OK = 0
InvalidParameter = 1
InvalidChecksum = 2
InvalidLog = 3
InvalidRate = 4
InvalidPort = 5
InvalidCommand = 6
InvalidID = 7
InvalidChannel = 8
OutOfRange = 9
LogExists = 10
InvalidTrigger = 11
InternalError = 12
class ixcom.protocol.DatatSelectionMask

Bases: enum.IntEnum

Enumeration for the mask bits in the datsel field of the INSSOL message

IMURAW = 1

Inertial data as measured by the ISA

IMUCORR = 2

Inertial data as measured by the ISA, corrected for sensor errors (scale factor, bias, misalignments, nontorthogonality, etc…) estimated by the EKF

IMUCOMP = 4

Inertial data corrected for sensor errors (scale factor, bias, misalignments, nontorthogonality, etc…) estimated by the EKF and compensated for gravity/earth rate

VELNED = 8

Velocity is in NED frame

VELECEF = 16

Velocity is in ECEF frame

VELBDY = 32

Velocity is in body frame

ALTITUDE_WGS84 = 64

Altitude is height above WGS84 ellipsoid

ALTITUDE_MSL = 128

Altitude is height above geoid

ALTITUDE_BARO = 256

Altitude is baro altitude

WGS84POS = 512

Position is longitude, latitude, altitude

ECEFPOS = 1024

Position is ECEF X,Y,Z

class ixcom.protocol.MessageID

Bases: enum.IntEnum

Enumeration for special message IDs

COMMAND = 253
RESPONSE = 254
PARAMETER = 255
class ixcom.protocol.EkfCommand

Bases: enum.IntEnum

Enumeration for the EKF command subcommands

ALIGN = 0
SAVEPOS = 1
SAVEHDG = 2
SAVEANTOFFSET = 3
FORCED_ZUPT = 4
ALIGN_COMPLETE = 5
class ixcom.protocol.LogTrigger

Bases: enum.IntEnum

Logs can be triggered with a certain divider from the inertial sensor samples, polled, or triggered by events.

SYNC = 0
EVENT = 1
POLLED = 2
class ixcom.protocol.LogCommand

Bases: enum.IntEnum

This enum contains possible log command

ADD = 0

Add the log

STOP = 1

Stop the current log, but do not remove from loglist

START = 2

Start a previously stopped log

CLEAR = 3

Clear log from loglist

CLEAR_ALL = 4

Clear all logs from loglist

STOP_ALL = 5

Stop all logs

START_ALL = 6

Start all logs

class ixcom.protocol.StartupPositionMode

Bases: enum.IntEnum

Enumeration for the available startup position modes

GNSSPOS = 0

Feed initial position from GNSS

STOREDPOS = 1

Feed initial position from stored position

FORCEDPOS = 2

Feed initial position from forced position

CURRENTPOS = 3

Feed initial position from current position

class ixcom.protocol.StartupHeadingMode

Bases: enum.IntEnum

Enumeration for the available startup heading modes

DEFAULT = 0

Start with unknown heading

STOREDHDG = 1

Feed initial heading from stored heading

FORCEDHDG = 2

Feed initial heading from forced heading

MAGHDG = 3

Feed initial heading from magnetic heading

DUALANTHDG = 4

Feed initial heading from dual antenna heading

class ixcom.protocol.AlignmentMode

Bases: enum.IntEnum

Enumeration for the available alignment modes

STATIONARY = 0

Stationary alignment, INS has to be at standstill

IN_MOTION = 1

In-motion alignment, INS can move arbitrarily, needs aiding (e.g. GNSS)

class ixcom.protocol.ExtAidingTimeMode

Bases: enum.IntEnum

External aiding can be executed with two timestamp modes.

GPS_SEC_OF_WEEK = 0

The time field contains the second of week

LATENCY = 1

The time field contains the measurement latency

class ixcom.protocol.GlobalAlignStatus

Bases: enum.IntEnum

The alignment status will transition from levelling to aligning to alignment complete. Only if the heading standard deviation falls below the threshold defined in PAREKF_HDGPOSTHR, the alignment status will be “heading good”

LEVELLING = 0

Roll and pitch are being estimated from accelerometer measurement

ALIGNING = 1

Heading is being estimated from available aiding data

ALIGN_COMPLETE = 2

Alignment is complete, the system is allowed to be moved.

HDG_GOOD = 3

Heading standard deviation is lower than the threshold defined in PAREKF_HDGPOSTHR

class ixcom.protocol.GlobalPositionStatus

Bases: enum.IntEnum

The position status depends on the 3D position standard deviation

BAD = 0

Position standard deviation is worse than the medium position standard deviation threshold defined in PAREKF_HDGPOSTHR

MEDIUM = 1

Position standard deviation is better than the medium position standard deviation threshold defined in PAREKF_HDGPOSTHR, but worse than the high accuracy position standard deviation threshold

HIGH = 2

Position standard deviation is better than the high accuracy position standard deviation threshold

UNDEFINED = 3

Position has not yet been set

class ixcom.protocol.GlobalStatusBit

Bases: enum.IntFlag

The global status is contained in the footer of every iXCOM message

HWERROR = 1

The hardware has detected an error condition during build-in-test

COMERROR = 2

There is a communication error between the navigation processor and the IMU

NAVERROR = 4

The navigation solution is erroneous, e.g. due to sensor overranges

CALERROR = 8

The calibration routines have encountered an error, e.g. due to temperature being out of range

GYROOVR = 16

A gyro overrange has been encountered

ACCOVR = 32

An accelerometer overrange has been encountered

GNSSINVALID = 64

No valid GNSS solution available

STANDBY = 128

The system is in standby-mode, i.e. the inertial sensor assembly is not powered up.

DYNAMICALIGN = 256

The system is in dynamic alignment.

TIMEINVALID = 512

The system time has not been set from GNSS

NAVMODE = 1024

The system is in navigation mode

AHRSMODE = 2048

The system is in fallback AHRS mode

alignment_status
position_status
class ixcom.protocol.SysstatBit

Bases: enum.IntFlag

An enumeration for the status bits in the extended system status

IMU_INVALID = 1
IMU_CRC_ERROR = 2
IMU_TIMEOUT = 4
IMU_SAMPLE_LOST = 8
ACC_X_OVERRANGE = 16
ACC_Y_OVERRANGE = 32
ACC_Z_OVERRANGE = 64
RESERVED = 128
OMG_X_OVERRANGE = 256
OMG_Y_OVERRANGE = 512
OMG_Z_OVERRANGE = 1024
INVALID_CAL = 2048
BIT_FAIL = 4096
DEFAULT_CONF = 8192
GNSS_INVALID = 16384
ZUPT_CALIB = 32768
GNSS_CRC_ERROR = 65536
GNSS_TIMEOUT = 131072
EKF_ERROR = 262144
SAVEDPOS_ERROR = 524288
SAVEDHDG_ERROR = 1048576
MAG_TIMEOUT = 2097152
MADC_TIMEOUT = 4194304
LICENSE_EXPIRED = 8388608
IN_MOTION = 16777216
ODO_PLAUSIBILITY = 33554432
ODO_HW_ERROR = 67108864
WAITING_INITVAL = 134217728
PPS_LOST = 268435456
LIMITED_ACCURACY = 536870912
REC_ENABLED = 1073741824
FPGA_NOGO = 2147483648
class ixcom.protocol.EKF_STATUS_LOW

Bases: enum.IntFlag

An enumeration for the status bits in the lower EKF status word

POSLLH_UPDATE = 1
POSLLH_LAT_OUTLIER = 2
POSLLH_LON_OUTLIER = 4
POSLLH_ALT_OUTLIER = 8
VNED_UPDATE = 16
VNED_VN_OUTLIER = 32
VNED_VE_OUTLIER = 64
VNED_VD_OUTLIER = 128
HEIGHT_UPDATE = 256
HEIGHT_OUTLIER = 512
BAROHEIGHT_UPDATE = 1024
BAROHEIGHT_OUTLIER = 2048
VBDY_UPDATE = 4096
VBDY_VX_OUTLIER = 8192
VBDY_VY_OUTLIER = 16384
VBDY_VZ_OUTLIER = 32768
VODO_UPDATE = 65536
VODO_OUTLIER = 131072
VAIR_UPDATE = 262144
VAIR_OUTLIER = 524288
HDGT_UPDATE = 1048576
HDGT_OUTLIER = 2097152
HDGM_UPDATE = 4194304
HDGM_OUTLIER = 8388608
MAGFIELD_UPDATE = 16777216
MAGFIELD_HX_OUTLIER = 33554432
MAGFIELD_HY_OUTLIER = 67108864
MAGFIELD_HZ_OUTLIER = 134217728
PSEUDORANGE_UPDATE = 268435456
RANGERATE_UPDATE = 536870912
TIME_UPDATE = 1073741824
ZUPT_UPDATE = 2147483648
class ixcom.protocol.EKF_STATUS_HIGH

Bases: enum.IntFlag

An enumeration for the status bits in the higher EKF status word

EKF_RTKLLH_UPDATE = 1
EKF_RTKLLH_LAT_OUTLIER = 2
EKF_RTKLLH_LON_OUTLIER = 4
EKF_RTKLLH_ALT_OUTLIER = 8
EKF_DUALANT_UPDATE = 16
EKF_DUALANT_OUTLIER = 32
EKF_COG_UPDATE = 64
EKF_COG_OUTLIER = 128
EKF_TDCP_UPDATE = 256
EKF_TDCP_DD_UPDATE = 512
EKF_ODO_ALONGTRACK_UPDATE = 1024
EKF_ODO_ALONGTRACK_OUTLIER = 2048
EKF_ODO_CONSTRAINT_UPDATE = 4096
EKF_ODO_CONSTRAINT_OUTLIER = 8192
EKF_GRAVITY_UPDATE = 16384
EKF_GRAVITY_OUTLIER = 32768
EKF_EXTPOS_UPDATE = 65536
EKF_EXTPOS_OUTLIER = 131072
EKF_EXTVEL_UPDATE = 262144
EKF_EXTVEL_OUTLIER = 524288
EKF_ZARU_UPDATE = 1048576
EKF_WAHBA_UPDATE = 16777216
EKF_WAHBA_FILTER = 33554432
EKF_FILTER_MODE_1 = 67108864
EKF_FILTER_MODE_2 = 134217728
EKF_WAHBA_INTERNAL = 268435456
EKF_LEVELLING_COMPLETE = 536870912
EKF_STATIONARY_ALIGN_COMPLETE = 1073741824
EKF_POSITION_VALID = 2147483648
class ixcom.protocol.XcomCommandParameter

Bases: enum.IntEnum

Parameters to the XCOM command

channel_close = 0

Close the current XCOM channel

channel_open = 1

Open an XCOM channel

reboot = 2

Reboot the device

class ixcom.protocol.ParameterAction

Bases: enum.IntEnum

Allowed parameter actions

CHANGING = 0
REQUESTING = 1
class ixcom.protocol.EkfStatus(value)

Bases: object

class ixcom.protocol.PayloadItem(name, dimension, datatype, description, unit)

Bases: tuple

name

Alias for field number 0

dimension

Alias for field number 1

datatype

Alias for field number 2

description

Alias for field number 3

unit

Alias for field number 4

metatype = None
c_type()
describe()
get_struct_string()
get_size()
get_null_item()
consume(input_values)
class ixcom.protocol.Message(item_list: [<class 'ixcom.protocol.PayloadItem'>], name='')

Bases: object

unpack_from(buffer, offset=0)
describe()
get_struct_string()
generate_final_struct_string()
generate_data_dict()
get_null_item()
get_size()
consume(values)
class ixcom.protocol.MessageItem

Bases: object

to_bytes()
from_bytes(inBytes)
size()
class ixcom.protocol.ProtocolHeader

Bases: ixcom.protocol.MessageItem

structString = '=BBBBHHII'
get_time()
set_time(time_of_week)
to_bytes()
from_bytes(inBytes)
get_data()
class ixcom.protocol.ProtocolBottom

Bases: ixcom.protocol.MessageItem

structString = '=HH'
to_bytes()
from_bytes(inBytes)
class ixcom.protocol.ProtocolPayload

Bases: ixcom.protocol.MessageItem

message_id = 0
message_description = None
data = {}
structString
to_bytes()
from_bytes(inBytes)
classmethod get_name()
classmethod construct_message()
class ixcom.protocol.ProtocolMessage

Bases: ixcom.protocol.MessageItem

to_bytes()
from_bytes(inBytes)
data
structString
to_double_array()
iter_unpack(buffer)
get_numpy_dtype()
size()
class ixcom.protocol.DefaultCommandPayload

Bases: ixcom.protocol.ProtocolPayload

message_id = 253
command_id = 0
command_header = Message([...])
command_payload = Message([...])
class ixcom.protocol.DefaultParameterPayload

Bases: ixcom.protocol.ProtocolPayload

message_id = 255
parameter_id = 0
parameter_header = Message([...])
parameter_payload = Message([...])
message_description = None
payload_from_bytes(in_bytes)
ixcom.protocol.message(message_id)
ixcom.protocol.parameter(parameter_id)
ixcom.protocol.command(command_id)
ixcom.protocol.getMessageWithID(msgID)
ixcom.protocol.getCommandWithID(cmdID)
ixcom.protocol.getParameterWithID(parameterID)

Message definitions

class ixcom.messages.ResponsePayload(msgLength)

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0xfe) with the following payload:

  • uint16_t responseID
  • uint16_t repsonseLength
message_description = Message([...])
message_id = 254
class ixcom.messages.POSTPROC_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x40) with the following payload:

  • int8_t acc [3]: Specific force (Unit: m/s²)
  • int8_t omg [3]: Angular rate (Unit: rad/s)
  • int8_t delta_theta [12]
  • int8_t delta_v [12]
  • int8_t q_nb [4]
  • int8_t pos [3]
  • int8_t vel [3]: NED Velocity (Unit: m/s)
  • uint32_t sysStat
  • uint32_t ekfStat [2]
  • int8_t odoSpeed
  • int32_t odoTicks
  • uint32_t odoInterval
  • uint32_t odoTrigEvent
  • uint32_t odoNextEvent
message_description = Message([...])
message_id = 64
class ixcom.messages.INSSOL_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x3) with the following payload:

  • int8_t acc [3]: Acceleration (Unit: m/s²)
  • int8_t omg [3]: Specific force (Unit: rad/s)
  • int8_t rpy [3]: Angle (Unit: rad)
  • int8_t vel [3]: Velocity (Unit: m/s)
  • int8_t lon: Longitude (Unit: rad)
  • int8_t lat: Latitude (Unit: rad)
  • int8_t alt: Altitude (Unit: m)
  • int16_t undulation: Undulation (Unit: cm)
  • uint16_t DatSel
message_description = Message([...])
message_id = 3
class ixcom.messages.INSSOLECEF_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x47) with the following payload:

  • int8_t acc [3]
  • int8_t omg [3]
  • int8_t pos_ecef [3]
  • int8_t vel_ecef [3]
  • int8_t q_nb [4]
message_description = Message([...])
message_id = 71
class ixcom.messages.EKFSTDDEVECEF_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x48) with the following payload:

  • int8_t Pos [3]
  • int8_t Vel [3]
  • int8_t Rpy [3]
  • int8_t BiasAcc [3]
  • int8_t BiasOmg [3]
  • int8_t MaAcc [9]
  • int8_t MaOmg [9]
  • int8_t ScfOdo
  • int8_t MaOdo [2]
message_description = Message([...])
message_id = 72
class ixcom.messages.LOADFACTOR_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x49) with the following payload:

  • int8_t LoadFactor [3]
message_description = Message([...])
message_id = 73
class ixcom.messages.OMGDOT_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x50) with the following payload:

  • int8_t AngAcc [3]
message_description = Message([...])
message_id = 80
class ixcom.messages.IMU_FILTERED_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x56) with the following payload:

  • int8_t Omg [3]
  • int8_t Acc [3]
message_description = Message([...])
message_id = 86
class ixcom.messages.MAGDATA2_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x65) with the following payload:

  • int32_t rawx
  • int32_t rawy
  • int32_t rawz
  • uint8_t bit_error
  • uint8_t reserved [3]
message_description = Message([...])
message_id = 101
class ixcom.messages.IPST_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x66) with the following payload:

  • int8_t omg [3]
  • int8_t acc [3]
  • uint32_t system_status
  • uint32_t fpga_status
  • int32_t odo_0_ticks
  • uint32_t odo_0_event
  • uint32_t odo_0_event_next
  • int32_t odo_1_ticks
  • uint32_t odo_1_event
  • uint32_t odo_1_event_next
  • int32_t odo_2_ticks
  • uint32_t odo_2_event
  • uint32_t odo_2_event_next
message_description = Message([...])
message_id = 102
class ixcom.messages.IMU_Payload

Bases: ixcom.protocol.ProtocolPayload

message_description = Message([...])
class ixcom.messages.IMURAW_Payload

Bases: ixcom.messages.IMU_Payload

Message (ID = 0x0) with the following payload:

  • int8_t acc [3]
  • int8_t omg [3]
message_id = 0
class ixcom.messages.IMUCORR_Payload

Bases: ixcom.messages.IMU_Payload

Message (ID = 0x1) with the following payload:

  • int8_t acc [3]
  • int8_t omg [3]
message_id = 1
class ixcom.messages.IMUCOMP_Payload

Bases: ixcom.messages.IMU_Payload

Message (ID = 0x2) with the following payload:

  • int8_t acc [3]
  • int8_t omg [3]
message_id = 2
class ixcom.messages.INSROTTEST_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0xd) with the following payload:

  • int8_t accNED [3]
message_description = Message([...])
message_id = 13
class ixcom.messages.STATFPGA_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x20) with the following payload:

  • uint16_t usParID
  • uint8_t uReserved
  • uint8_t ucAction
  • uint32_t uiPowerStatLower
  • uint32_t uiPowerStatUpper
  • uint16_t usFpgaStatus
  • uint16_t usSupervisorStatus
  • uint8_t ucImuStatus
  • uint8_t ucTempStatus
  • uint16_t usRes
message_description = Message([...])
message_id = 32
class ixcom.messages.PASSTHROUGH_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x63) with the following payload:

  • uint8_t port
  • uint8_t reserved [3]
  • uint8_t passthroughdata [256]
message_description = Message([...])
from_bytes(inBytes)
message_id = 99
class ixcom.messages.SYSSTAT_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x19) with the following payload:

  • uint32_t statMode
  • uint32_t sysStat
message_description = Message([...])
from_bytes(inBytes)
message_id = 25
class ixcom.messages.MAGHDG_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x1a) with the following payload:

  • int8_t MagHdg
  • int8_t MagCOG
  • int8_t Deviation
message_description = Message([...])
message_id = 26
class ixcom.messages.INSRPY_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x4) with the following payload:

  • int8_t rpy [3]
message_description = Message([...])
message_id = 4
class ixcom.messages.INSDCM_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x5) with the following payload:

  • int8_t DCM [9]
message_description = Message([...])
message_id = 5
class ixcom.messages.INSQUAT_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x6) with the following payload:

  • int8_t quat [4]
message_description = Message([...])
message_id = 6
class ixcom.messages.INSPOSLLH_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0xa) with the following payload:

  • int8_t lon
  • int8_t lat
  • int8_t alt
message_description = Message([...])
message_id = 10
class ixcom.messages.INSPOSUTM_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0xc) with the following payload:

  • int32_t zone
  • int8_t easting
  • int8_t northing
  • int8_t height
message_description = Message([...])
message_id = 12
class ixcom.messages.INSPOSECEF_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0xb) with the following payload:

  • int8_t pos [3]
message_description = Message([...])
message_id = 11
class ixcom.messages.INSVEL_Payload

Bases: ixcom.protocol.ProtocolPayload

message_description = Message([...])
class ixcom.messages.INSVELNED_Payload

Bases: ixcom.messages.INSVEL_Payload

Message (ID = 0x7) with the following payload:

  • int8_t vel [3]
message_id = 7
class ixcom.messages.INSVELECEF_Payload

Bases: ixcom.messages.INSVEL_Payload

Message (ID = 0x8) with the following payload:

  • int8_t vel [3]
message_id = 8
class ixcom.messages.INSVELBODY_Payload

Bases: ixcom.messages.INSVEL_Payload

Message (ID = 0x9) with the following payload:

  • int8_t vel [3]
message_id = 9
class ixcom.messages.INSVELENU_Payload

Bases: ixcom.messages.INSVEL_Payload

Message (ID = 0x23) with the following payload:

  • int8_t vel [3]
message_id = 35
class ixcom.messages.MAGDATA_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x18) with the following payload:

  • int8_t field [3]
  • int8_t magHdg
  • int8_t magBank
  • int8_t magElevation
  • int8_t magDeviation
  • uint32_t status
message_description = Message([...])
message_id = 24
class ixcom.messages.AIRDATA_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x17) with the following payload:

  • int8_t TAS
  • int8_t IAS
  • int8_t baroAlt
  • int8_t baroAltRate
  • int8_t Pd
  • int8_t Ps
  • int8_t OAT
  • int8_t estBias
  • int8_t estScaleFactor
  • int8_t estBiasStdDev
  • int8_t estScaleFactorStdDev
  • uint32_t status
message_description = Message([...])
message_id = 23
class ixcom.messages.INSTRACKACC_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0xe) with the following payload:

  • int8_t AccACV [3]
message_description = Message([...])
message_id = 14
class ixcom.messages.EKFSTDDEV_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0xf) with the following payload:

  • int8_t pos [3]
  • int8_t vel [3]
  • int8_t tilt [3]
  • int8_t biasAcc [3]
  • int8_t biasOmg [3]
  • int8_t scfAcc [3]
  • int8_t scfOmg [3]
  • int8_t scfOdo
message_description = Message([...])
message_id = 15
class ixcom.messages.EKFSTDDEV2_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x28) with the following payload:

  • int8_t pos [3]
  • int8_t vel [3]
  • int8_t rpy [3]
  • int8_t biasAcc [3]
  • int8_t biasOmg [3]
  • int8_t fMaAcc [9]
  • int8_t fMaOmg [9]
  • int8_t scfOdo
  • int8_t fMaOdo [2]
message_description = Message([...])
message_id = 40
class ixcom.messages.EKFERROR2_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x27) with the following payload:

  • int8_t biasAcc [3]
  • int8_t biasOmg [3]
  • int8_t fMaAcc [9]
  • int8_t fMaOmg [9]
  • int8_t scfOdo
  • int8_t maOdo [2]
message_description = Message([...])
message_id = 39
class ixcom.messages.EKFERROR_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x10) with the following payload:

  • int8_t biasAcc [3]
  • int8_t biasOmg [3]
  • int8_t scfAcc [3]
  • int8_t scfOmg [3]
  • int8_t scfOdo
  • int8_t maOdo [2]
message_description = Message([...])
message_id = 16
class ixcom.messages.EKFTIGHTLY_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x11) with the following payload:

  • uint8_t ucSatsAvailablePSR
  • uint8_t ucSatsUsedPSR
  • uint8_t ucSatsAvailableRR
  • uint8_t ucSatsUsedRR
  • uint8_t ucSatsAvailableTDCP
  • uint8_t ucSatsUsedTDCP
  • uint8_t ucRefSatTDCP
  • uint8_t usReserved
  • uint32_t uiUsedSatsPSR_GPS
  • uint32_t uiOutlierSatsPSR_GPS
  • uint32_t uiUsedSatsPSR_GLONASS
  • uint32_t uiOutlierSatsPSR_GLONASS
  • uint32_t uiUsedSatsRR_GPS
  • uint32_t uiOutlierSatsRR_GPS
  • uint32_t uiUsedSatsRR_GLONASS
  • uint32_t uiOutlierSatsRR_GLONASS
  • uint32_t uiUsedSatsTDCP_GPS
  • uint32_t uiOutlierSatsTDCP_GPS
  • uint32_t uiUsedSatsTDCP_GLONASS
  • uint32_t uiOutlierSatsTDCP_GLONASS
message_description = Message([...])
message_id = 17
class ixcom.messages.EKFPOSCOVAR_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x29) with the following payload:

  • int8_t fPosCovar [9]
message_description = Message([...])
message_id = 41
class ixcom.messages.POWER_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x21) with the following payload:

  • int8_t power [32]
message_description = Message([...])
message_id = 33
class ixcom.messages.TEMP_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x22) with the following payload:

  • int8_t temp_power_pcb
  • int8_t temp_switcher
  • int8_t temp_oem628
  • int8_t temp_oem615
  • int8_t temp_cpu
  • int8_t temp_acc [3]
  • int8_t temp_omg [3]
  • int8_t temp_other [5]
message_description = Message([...])
message_id = 34
class ixcom.messages.HEAVE_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x1f) with the following payload:

  • int8_t StatFiltPos
  • int8_t AppliedFreqHz
  • int8_t AppliedAmplMeter
  • int8_t AppliedSigWaveHeightMeter
  • int8_t PZpos
  • int8_t ZDpos
  • int8_t ZDvel
  • int8_t AccZnavDown
  • int8_t HeavePosVelDown [2]
  • uint32_t HeaveAlgoStatus1
  • uint32_t HeaveAlgoStatus2
message_description = Message([...])
message_id = 31
class ixcom.messages.CANSTAT_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x24) with the following payload:

  • uint32_t uiErrorMask
  • uint8_t ucControllerStatus
  • uint8_t ucTransceiverStatus
  • uint8_t ucProtocolStatus
  • uint8_t ucProtocolLocation
message_description = Message([...])
message_id = 36
class ixcom.messages.ARINC429STAT_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x1d) with the following payload:

  • uint32_t uiStatus
message_description = Message([...])
message_id = 29
class ixcom.messages.TIME_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x26) with the following payload:

  • int8_t sysTime
  • int8_t ImuInterval
  • int8_t TimeSincePPS
  • int8_t PPS_IMUtime
  • int8_t PPS_GNSStime
  • int8_t GNSSbias
  • int8_t GNSSbiasSmoothed
message_description = Message([...])
message_id = 38
class ixcom.messages.GNSSSOL_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x12) with the following payload:

  • int8_t lon
  • int8_t lat
  • int8_t alt
  • int8_t undulation
  • int8_t velNED [3]
  • int8_t stdDevPos [3]
  • int8_t stdDevVel [3]
  • uint16_t solStatus
  • uint16_t posType
  • int8_t pdop
  • uint8_t satsUsed
  • uint8_t solTracked
  • uint16_t baseID
  • int8_t diffAge
  • int8_t solAge
  • uint32_t gnssStatus
message_description = Message([...])
message_id = 18
class ixcom.messages.INSGNDSPEED_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x13) with the following payload:

  • int8_t SOG
  • int8_t COG
  • int8_t VDown
message_description = Message([...])
message_id = 19
class ixcom.messages.GNSSTIME_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x14) with the following payload:

  • int8_t utcOffset
  • int8_t offset
  • uint32_t year
  • uint8_t month
  • uint8_t day
  • uint8_t hour
  • uint8_t minute
  • uint32_t millisec
  • uint32_t status
message_description = Message([...])
message_id = 20
class ixcom.messages.GNSSSOLCUST_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x15) with the following payload:

  • int8_t dLon
  • int8_t dLat
  • int8_t fAlt
  • int8_t fUndulation
  • int8_t fStdDev_Pos [3]
  • int8_t fVned [3]
  • int8_t fStdDev_Vel [3]
  • int8_t fDisplacement [3]
  • int8_t fStdDev_Displacement [3]
  • uint16_t usSolStatus
  • int8_t fDOP [2]
  • uint8_t ucSatsPos
  • uint8_t ucSatsVel
  • uint8_t ucSatsDisplacement
  • uint16_t usReserved
  • int8_t fDiffAge
  • int8_t fSolAge
  • uint32_t uiGnssStatus
message_description = Message([...])
message_id = 21
class ixcom.messages.GNSSHDG_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x33) with the following payload:

  • int8_t hdg
  • int8_t stdDevHdg
  • int8_t pitch
  • int8_t stdDevPitch
  • uint16_t solStat
  • uint16_t solType
  • uint16_t res
  • uint8_t satsUsed
  • uint8_t satsTracked
  • uint32_t gnssStatus
message_description = Message([...])
message_id = 51
class ixcom.messages.GNSSLEVERARM_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x1b) with the following payload:

  • int8_t primary [3]
  • int8_t stdDevPrimary [3]
  • int8_t relative [3]
  • int8_t stdDevRelative [3]
message_description = Message([...])
message_id = 27
class ixcom.messages.GNSSVOTER_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x1c) with the following payload:

  • uint8_t ucSatsUsed_INT
  • uint8_t ucSatsUsed_EXT
  • uint16_t usReserved
  • int8_t fStdDevHDG_INT
  • int8_t fStdDevHDG_EXT
  • int8_t fStdDevPOS_INT
  • int8_t fStdDevPOS_EXT
  • uint32_t uiStatus
message_description = Message([...])
message_id = 28
class ixcom.messages.GNSSHWMON_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x1e) with the following payload:

message_description = Message([...])
message_id = 30
class ixcom.messages.GNSSALIGNBSL_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x38) with the following payload:

  • int8_t east
  • int8_t north
  • int8_t up
  • int8_t eastStddev
  • int8_t northStddev
  • int8_t upStddev
  • uint16_t solStatus
  • uint16_t posVelType
  • uint8_t satsTracked
  • uint8_t satsUsedInSolution
  • uint8_t extSolStat
  • uint8_t reserved
message_description = Message([...])
message_id = 56
class ixcom.messages.WHEELDATA_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x16) with the following payload:

  • int8_t odoSpeed
  • int32_t ticks
message_description = Message([...])
message_id = 22
class ixcom.messages.WHEELDATADBG_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x32) with the following payload:

  • int8_t odoSpeed
  • int32_t ticks
  • uint32_t interval
  • uint32_t trigEvent
  • uint32_t trigNextEvent
message_description = Message([...])
message_id = 50
class ixcom.messages.EVENTTIME_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x34) with the following payload:

  • int8_t dGpsTime_EVENT_0
  • int8_t dGpsTime_EVENT_1
message_description = Message([...])
message_id = 52
class ixcom.messages.OMGINT_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x35) with the following payload:

  • int8_t omgINT [3]
  • int8_t omgINTtime
message_description = Message([...])
message_id = 53
class ixcom.messages.ADC24STATUS_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x36) with the following payload:

  • uint32_t uiRRidx [4]
  • uint32_t uiRRvalue [4]
message_description = Message([...])
message_id = 54
class ixcom.messages.ADC24DATA_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x37) with the following payload:

  • uint32_t acc [3]
  • uint16_t frameCounter
  • int16_t temperature
  • uint8_t errorStatus
  • uint8_t intervalCounter [3]
message_description = Message([...])
message_id = 55
class ixcom.messages.CSACDATA_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x42) with the following payload:

  • uint32_t status
  • uint32_t alarm
  • char serialNum [32]
  • uint32_t mode
  • uint32_t contrast
  • int8_t laserCurrent
  • int8_t tcx0
  • int8_t heatP
  • int8_t sig
  • int8_t temperature
  • int32_t steer
  • int8_t atune
  • int32_t phase
  • uint32_t discOk
  • uint32_t timeSincePowerOn
  • uint32_t timeSinceLock
  • uint8_t dataValid
  • uint8_t reserved
  • uint16_t fwStatus
message_description = Message([...])
message_id = 66
class ixcom.messages.INSMGRS_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x46) with the following payload:

  • uint32_t Error Code
  • char MGRS Position [64]
message_description = Message([...])
message_id = 70
class ixcom.messages.TAG_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x57) with the following payload:

  • char tag [128]
message_description = Message([...])
message_id = 87
class ixcom.messages.GNSSSATINFO_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x25) with the following payload:

  • uint32_t SvID
  • int8_t PositionECEF [3]
  • int8_t VelocityECEF [3]
  • int8_t CN0 [3]
  • int8_t ClockError
  • int8_t IonoError
  • int8_t TropoError
  • int8_t Elevation
  • int8_t Azimuth
message_description = Message([...])
message_id = 37
class ixcom.messages.NTRIPSTAT_Payload

Bases: ixcom.protocol.ProtocolPayload

Message (ID = 0x45) with the following payload:

  • uint32_t NtripStatus
  • char LastErrorMsg [256]
  • uint32_t ErrorCounter
message_description = Message([...])
message_id = 69

Command definitions

class ixcom.commands.CMD_LOG_Payload

Bases: ixcom.protocol.DefaultCommandPayload

Command (ID = 0) with the following payload:

  • uint8_t messageID
  • uint8_t trigger
  • uint16_t parameter
  • uint16_t divider
command_payload = Message([...])
command_id = 0
class ixcom.commands.CMD_CONF_Payload

Bases: ixcom.protocol.DefaultCommandPayload

Command (ID = 3) with the following payload:

  • uint32_t configAction
command_payload = Message([...])
command_id = 3
class ixcom.commands.CMD_EKF_Payload

Bases: ixcom.protocol.DefaultCommandPayload

Command (ID = 4) with the following payload:

  • uint16_t subcommand
  • uint16_t numberOfParams
command_payload = Message([...])
command_id = 4
class ixcom.commands.XcomCommandPayload

Bases: ixcom.protocol.DefaultCommandPayload

Command (ID = 5) with the following payload:

  • uint16_t mode
  • uint16_t channelNumber
command_payload = Message([...])
command_id = 5
class ixcom.commands.CMD_EXTAID_Payload

Bases: ixcom.protocol.DefaultCommandPayload

Command (ID = 7) with the following payload:

  • int8_t time
  • uint16_t timeMode
  • uint16_t cmdParamID
command_payload = Message([...])
command_id = 7

Parameter definitions

class ixcom.parameters.PARSYS_STRING_Payload

Bases: ixcom.protocol.DefaultParameterPayload

parameter_payload = Message([...])
class ixcom.parameters.PARSYS_STRING64_Payload

Bases: ixcom.protocol.DefaultParameterPayload

parameter_payload = Message([...])
class ixcom.parameters.PARSYS_STRING128_Payload

Bases: ixcom.protocol.DefaultParameterPayload

parameter_payload = Message([...])
class ixcom.parameters.PARSYS_PRJNUM_Payload

Bases: ixcom.parameters.PARSYS_STRING_Payload

Parameter (ID = 0) with the following payload:

  • char str [32]
parameter_id = 0
class ixcom.parameters.PARSYS_PARTNUM_Payload

Bases: ixcom.parameters.PARSYS_STRING_Payload

Parameter (ID = 1) with the following payload:

  • char str [32]
parameter_id = 1
class ixcom.parameters.PARSYS_SERIALNUM_Payload

Bases: ixcom.parameters.PARSYS_STRING_Payload

Parameter (ID = 2) with the following payload:

  • char str [32]
parameter_id = 2
class ixcom.parameters.PARSYS_MFG_Payload

Bases: ixcom.parameters.PARSYS_STRING_Payload

Parameter (ID = 3) with the following payload:

  • char str [32]
parameter_id = 3
class ixcom.parameters.PARSYS_FWVERSION_Payload

Bases: ixcom.parameters.PARSYS_STRING_Payload

Parameter (ID = 5) with the following payload:

  • char str [32]
parameter_id = 5
class ixcom.parameters.PARSYS_NAVLIB_Payload

Bases: ixcom.parameters.PARSYS_STRING_Payload

Parameter (ID = 6) with the following payload:

  • char str [32]
parameter_id = 6
class ixcom.parameters.PARSYS_EKFLIB_Payload

Bases: ixcom.parameters.PARSYS_STRING_Payload

Parameter (ID = 7) with the following payload:

  • char str [32]
parameter_id = 7
class ixcom.parameters.PARSYS_NAVNUM_Payload

Bases: ixcom.parameters.PARSYS_STRING_Payload

Parameter (ID = 9) with the following payload:

  • char str [32]
parameter_id = 9
class ixcom.parameters.PARSYS_NAVPARSET_Payload

Bases: ixcom.parameters.PARSYS_STRING_Payload

Parameter (ID = 10) with the following payload:

  • char str [32]
parameter_id = 10
class ixcom.parameters.PARSYS_MAINTIMING_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 11) with the following payload:

  • uint16_t maintiming
  • uint16_t password
parameter_payload = Message([...])
parameter_id = 11
class ixcom.parameters.PARSYS_CALDATE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 4) with the following payload:

  • uint16_t password
  • uint16_t reserved2
  • char str [32]
parameter_payload = Message([...])
parameter_id = 4
class ixcom.parameters.PARSYS_PRESCALER_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 12) with the following payload:

  • uint16_t prescaler
  • uint16_t password
parameter_payload = Message([...])
parameter_id = 12
class ixcom.parameters.PARSYS_UPTIME_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 13) with the following payload:

  • int8_t uptime
parameter_payload = Message([...])
parameter_id = 13
class ixcom.parameters.PARSYS_OPHOURCOUNT_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 14) with the following payload:

  • uint32_t ophours
parameter_payload = Message([...])
parameter_id = 14
class ixcom.parameters.PARSYS_BOOTMODE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 15) with the following payload:

  • uint32_t bootmode
parameter_payload = Message([...])
parameter_id = 15
class ixcom.parameters.PARSYS_FPGAVER_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 16) with the following payload:

  • uint8_t major
  • uint8_t minor
  • uint16_t imutype
parameter_payload = Message([...])
parameter_id = 16
class ixcom.parameters.PARSYS_CONFIGCRC_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 17) with the following payload:

  • uint16_t romCRC
  • uint16_t ramCRC
parameter_payload = Message([...])
parameter_id = 17
class ixcom.parameters.PARSYS_OSVERSION_Payload

Bases: ixcom.parameters.PARSYS_STRING64_Payload

Parameter (ID = 18) with the following payload:

  • char str [64]
parameter_id = 18
class ixcom.parameters.PARSYS_SYSNAME_Payload

Bases: ixcom.parameters.PARSYS_STRING64_Payload

Parameter (ID = 19) with the following payload:

  • char str [64]
parameter_id = 19
class ixcom.parameters.PARIMU_MISALIGN_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 105) with the following payload:

  • int8_t rpy [3]
parameter_payload = Message([...])
parameter_id = 105
class ixcom.parameters.PARIMU_BANDSTOP_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 112) with the following payload:

  • int8_t bandwidth
  • int8_t center
parameter_payload = Message([...])
parameter_id = 112
class ixcom.parameters.PARIMU_RANGE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 117) with the following payload:

  • int8_t range_accel
  • int8_t range_gyro
parameter_payload = Message([...])
parameter_id = 117
class ixcom.parameters.PARGNSS_LATENCY_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 203) with the following payload:

  • int8_t baud
  • uint16_t reserved2
parameter_payload = Message([...])
parameter_id = 203
class ixcom.parameters.PARGNSS_ANTOFFSET_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 204) with the following payload:

  • int8_t antennaOffset [3]
  • int8_t stdDev [3]
parameter_payload = Message([...])
get_name()
parameter_id = 204
class ixcom.parameters.PARGNSS_LOCKOUTSYSTEM_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 212) with the following payload:

  • uint8_t lockoutMask
  • uint8_t reserved2
  • uint16_t reserved3
parameter_payload = Message([...])
parameter_id = 212
class ixcom.parameters.PARGNSS_RTCMV3CONFIG_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 213) with the following payload:

  • uint8_t port
  • uint8_t enable
  • uint16_t reserved2
  • uint32_t baud
parameter_payload = Message([...])
parameter_id = 213
class ixcom.parameters.PARGNSS_MODEL_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 217) with the following payload:

  • uint8_t rtkCode
  • uint8_t reserved2
  • uint16_t reserved3
  • struct models [6]
parameter_payload = Message([...])
parameter_id = 217
class ixcom.parameters.PARGNSS_VERSION_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 218) with the following payload:

  • uint32_t type
  • char model [16]
  • char psn [16]
  • char hwversion [16]
  • char swversion [16]
  • char bootversion [16]
  • char compdate [16]
  • char comptime [16]
parameter_payload = Message([...])
parameter_id = 218
class ixcom.parameters.PARGNSS_SWITCHER_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 226) with the following payload:

  • uint8_t enable
  • uint8_t switcher
  • uint16_t reserved2
parameter_payload = Message([...])
parameter_id = 226
class ixcom.parameters.PARGNSS_HDGOFFSET_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 229) with the following payload:

  • int8_t offset
parameter_payload = Message([...])
parameter_id = 229
class ixcom.parameters.PARMAG_COM_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 300) with the following payload:

  • uint8_t port
  • uint8_t reserved3 [3]
  • uint32_t baud
parameter_payload = Message([...])
parameter_id = 300
class ixcom.parameters.PARMAG_MISALIGN_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 304) with the following payload:

  • int8_t rpy [3]
parameter_payload = Message([...])
parameter_id = 304
class ixcom.parameters.PARMAG_CAL_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 307) with the following payload:

  • int8_t C [9]
  • int8_t bias [3]
  • uint32_t valid
parameter_payload = Message([...])
parameter_id = 307
class ixcom.parameters.PARMAG_CALSTATE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 308) with the following payload:

  • int32_t calstate
parameter_payload = Message([...])
parameter_id = 308
class ixcom.parameters.PARMAG_FOM_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 309) with the following payload:

  • int8_t FOM
parameter_payload = Message([...])
parameter_id = 309
class ixcom.parameters.PARMADC_ENABLE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 400) with the following payload:

  • uint32_t enable
parameter_payload = Message([...])
parameter_id = 400
class ixcom.parameters.PARMADC_LEVERARM_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 401) with the following payload:

  • int8_t leverArm [3]
  • int8_t leverArmStdDev [3]
parameter_payload = Message([...])
parameter_id = 401
class ixcom.parameters.PARREC_CONFIG_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 600) with the following payload:

  • uint8_t channelNumber
  • uint8_t autostart
  • uint16_t reserved2
parameter_payload = Message([...])
parameter_id = 600
class ixcom.parameters.PARREC_START_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 603) with the following payload:

  • char str [128]
parameter_payload = Message([...])
parameter_id = 603
class ixcom.parameters.PARREC_STOP_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 604) with the following payload:

parameter_id = 604
class ixcom.parameters.PARREC_SUFFIX_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 606) with the following payload:

  • char suffix [128]
parameter_payload = Message([...])
parameter_id = 606
class ixcom.parameters.PARREC_DISKSPACE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 607) with the following payload:

  • int8_t freespace
parameter_payload = Message([...])
parameter_id = 607
class ixcom.parameters.PAREKF_ALIGNMODE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 700) with the following payload:

  • uint32_t alignmode
parameter_payload = Message([...])
parameter_id = 700
class ixcom.parameters.PAREKF_ALIGNTIME_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 701) with the following payload:

  • uint32_t aligntime
parameter_payload = Message([...])
parameter_id = 701
class ixcom.parameters.PAREKF_COARSETIME_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 702) with the following payload:

  • uint32_t coarsetime
parameter_payload = Message([...])
parameter_id = 702
class ixcom.parameters.PAREKF_VMP_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 703) with the following payload:

  • int8_t leverArm [3]
  • uint16_t mask
  • uint16_t cutoff
parameter_payload = Message([...])
parameter_id = 703
class ixcom.parameters.PAREKF_AIDING_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 704) with the following payload:

  • uint32_t aidingMode
  • uint32_t aidingMask
parameter_payload = Message([...])
parameter_id = 704
class ixcom.parameters.PAREKF_STARTUP_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 707) with the following payload:

  • int8_t initLon
  • int8_t initLat
  • int8_t initAlt
  • int8_t stdDev [3]
  • int8_t initHdg
  • int8_t stdDevHdg
  • uint8_t posMode
  • uint8_t hdgMode
  • uint16_t gnssTimeout
  • uint8_t reserved2
  • uint8_t realign
  • uint8_t inMotion
  • uint8_t autoRestart
parameter_payload = Message([...])
parameter_id = 707
class ixcom.parameters.PAREKF_HDGPOSTHR_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 708) with the following payload:

  • int8_t hdgGoodThr
  • int8_t posMedThr
  • int8_t posHighThr
parameter_payload = Message([...])
parameter_id = 708
class ixcom.parameters.PAREKF_SMOOTH_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 709) with the following payload:

  • uint32_t smooth
parameter_payload = Message([...])
parameter_id = 709
class ixcom.parameters.PAREKF_ZUPT_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 712) with the following payload:

  • int8_t accThr
  • int8_t omgThr
  • int8_t velThr
  • int8_t cutoff
  • int8_t zuptrate
  • int8_t minStdDev
  • int8_t weightingFactor
  • int8_t timeConstant
  • uint16_t delay
  • uint8_t mask
  • uint8_t autoZupt
parameter_payload = Message([...])
parameter_id = 712
class ixcom.parameters.PAREKF_DEFPOS_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 714) with the following payload:

  • int8_t lon
  • int8_t lat
  • int8_t alt
parameter_payload = Message([...])
parameter_id = 714
class ixcom.parameters.PAREKF_DEFHDG_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 715) with the following payload:

  • int8_t hdg
parameter_payload = Message([...])
parameter_id = 715
class ixcom.parameters.PAREKF_STARTUPV2_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 731) with the following payload:

  • int8_t initLon
  • int8_t initLat
  • int8_t initAlt
  • int8_t stdDev [3]
  • int8_t initHdg
  • int8_t stdDevHdg
  • int8_t leverArm [3]
  • int8_t stdLeverArm [3]
  • uint8_t posMode
  • uint8_t hdgMode
  • uint16_t gnssTimeout
  • uint8_t altMSL
  • uint8_t realign
  • uint8_t inMotion
  • uint8_t autoRestart
parameter_payload = Message([...])
parameter_id = 731
class ixcom.parameters.PAREKF_POWERDOWN_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 717) with the following payload:

  • uint32_t savestate
parameter_payload = Message([...])
parameter_id = 717
class ixcom.parameters.PAREKF_STOREDPOS_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 719) with the following payload:

  • int8_t lon
  • int8_t lat
  • int8_t alt
  • int8_t stdDevLon
  • int8_t stdDevLat
  • int8_t stdDevAlt
parameter_payload = Message([...])
parameter_id = 719
class ixcom.parameters.PAREKF_STOREDATT_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 723) with the following payload:

  • int8_t rpy [3]
  • int8_t stdDev [3]
parameter_payload = Message([...])
parameter_id = 723
class ixcom.parameters.PAREKF_ALIGNZUPTSTDDEV_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 720) with the following payload:

  • int8_t zuptStdDev
parameter_payload = Message([...])
parameter_id = 720
class ixcom.parameters.PAREKF_POSAIDSTDDEVTHR_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 721) with the following payload:

  • int8_t thr
parameter_payload = Message([...])
parameter_id = 721
class ixcom.parameters.PAREKF_ODOMETER_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 724) with the following payload:

  • int8_t sfError
  • int8_t sfStdDev
  • int8_t rwScalefactor
  • int8_t misalignmentY
  • int8_t misalignmentZ
  • int8_t stdMisalignmentY
  • int8_t stdMisalignmentZ
  • int8_t rwMisalignmentY
  • int8_t rwMisalignmentZ
  • int8_t minVel
  • int8_t maxVel
  • uint16_t useAvgInno
  • uint16_t enableCoarseCal
parameter_payload = Message([...])
parameter_id = 724
class ixcom.parameters.PAREKF_ODOBOGIE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 725) with the following payload:

  • int8_t distance
  • uint32_t enable
parameter_payload = Message([...])
parameter_id = 725
class ixcom.parameters.PAREKF_GNSSLEVERARMEST_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 726) with the following payload:

  • uint16_t primary
  • uint16_t secondary
parameter_payload = Message([...])
parameter_id = 726
class ixcom.parameters.PAREKF_GNSSAIDINGRATE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 727) with the following payload:

  • uint16_t psrpos
  • uint16_t psrvel
  • uint16_t rtk
  • uint16_t rtktimeout
  • uint16_t hdg
  • uint16_t duringzupt
parameter_payload = Message([...])
parameter_id = 727
class ixcom.parameters.PAREKF_KINALIGNTHR_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 728) with the following payload:

  • int8_t thr
parameter_payload = Message([...])
parameter_id = 728
class ixcom.parameters.PAREKF_PDOPTHR_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 729) with the following payload:

  • int8_t thr
parameter_payload = Message([...])
parameter_id = 729
class ixcom.parameters.PAREKF_DUALANTAID_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 730) with the following payload:

  • int8_t thrHdg
  • int8_t thrPitch
  • int8_t thrINSHdg
  • uint32_t mode
parameter_payload = Message([...])
parameter_id = 730
class ixcom.parameters.PAREKF_MAGATTAID_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 732) with the following payload:

  • uint32_t samplePeriods
  • int8_t thrHdg
  • int8_t latency
  • int8_t thrINSHdg
  • uint8_t aidingMode
  • uint8_t updateMode
  • uint16_t aidingInterval
  • int8_t magFieldStdDev [3]
parameter_payload = Message([...])
parameter_id = 732
class ixcom.parameters.PAREKF_MADCAID_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 733) with the following payload:

  • int8_t altStdDev
  • int8_t latency
  • uint16_t aidInterval
  • uint16_t reserved2
  • int8_t sfError
  • int8_t sfStdDev
  • int8_t rwSf
  • int8_t bias
  • int8_t biasStdDev
  • int8_t rwBias
parameter_payload = Message([...])
parameter_id = 733
class ixcom.parameters.PAREKF_ALIGNMENT_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 734) with the following payload:

  • uint32_t method
  • uint16_t levellingDuration
  • uint16_t stationaryDuration
  • int8_t alignZuptStdDev
  • uint8_t enableGyroAvg
  • uint8_t enableTrackAlign
  • int8_t trackAlignThresh
  • int8_t trackAlignDirection [3]
  • uint16_t reserved2
  • uint32_t reserved3 [3]
parameter_payload = Message([...])
parameter_id = 734
class ixcom.parameters.PAREKF_ZARU_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 737) with the following payload:

  • uint8_t enable
  • uint8_t reserved2 [3]
parameter_payload = Message([...])
parameter_id = 737
class ixcom.parameters.PAREKF_ZUPTCALIB_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 739) with the following payload:

  • uint16_t zuptCalibTime
  • uint16_t reserved2
parameter_payload = Message([...])
parameter_id = 739
class ixcom.parameters.PARDAT_POS_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 800) with the following payload:

  • uint16_t posMode
  • uint16_t altMode
parameter_payload = Message([...])
parameter_id = 800
class ixcom.parameters.PARDAT_VEL_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 801) with the following payload:

  • uint32_t velMode
parameter_payload = Message([...])
parameter_id = 801
class ixcom.parameters.PARDAT_IMU_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 802) with the following payload:

  • uint32_t imuMode
parameter_payload = Message([...])
parameter_id = 802
class ixcom.parameters.PARDAT_SYSSTAT_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 803) with the following payload:

  • uint32_t statMode
parameter_payload = Message([...])
parameter_id = 803
class ixcom.parameters.PARDAT_STATFPGA_Payload

Bases: ixcom.protocol.DefaultParameterPayload

parameter_payload = Message([...])
class ixcom.parameters.PARXCOM_SERIALPORT_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 902) with the following payload:

  • uint8_t port
  • uint8_t switch
  • uint16_t reserved2
  • uint32_t baudRate
parameter_payload = Message([...])
get_name()
parameter_id = 902
class ixcom.parameters.PARXCOM_NETCONFIG_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 903) with the following payload:

  • uint8_t mode
  • uint8_t protocol
  • uint8_t interface
  • uint8_t speed
  • uint32_t port
  • uint32_t ip
  • uint32_t subnetmask
  • uint32_t gateway
parameter_payload = Message([...])
get_name()
parameter_id = 903
class ixcom.parameters.PARXCOM_LOGLIST_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 905) with the following payload:

  • struct logs [16]
parameter_payload = Message([...])
parameter_id = 905
class ixcom.parameters.PARXCOM_AUTOSTART_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 906) with the following payload:

  • uint16_t channelNumber
  • uint16_t autoStart
  • uint16_t port
  • uint16_t reserved2
parameter_payload = Message([...])
parameter_id = 906
class ixcom.parameters.PARXCOM_NTRIP_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 907) with the following payload:

  • char stream [128]
  • char user [128]
  • char password [128]
  • char server [128]
  • uint8_t send_pos_on_login
  • uint8_t enable
  • uint16_t remote_port
  • uint32_t gga_send_period
parameter_payload = Message([...])
parameter_id = 907
class ixcom.parameters.PARXCOM_POSTPROC_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 908) with the following payload:

  • uint8_t enable
  • uint8_t channel
  • uint16_t reserved2
parameter_payload = Message([...])
parameter_id = 908
class ixcom.parameters.PARXCOM_UDPCONFIG_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 910) with the following payload:

  • uint32_t ip
  • uint32_t port
  • uint8_t enable
  • uint8_t channel
  • uint8_t enableABD
  • uint8_t reserved2
parameter_payload = Message([...])
parameter_id = 910
class ixcom.parameters.PARXCOM_DEFAULTIP_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 915) with the following payload:

  • uint32_t defaultAddress
parameter_payload = Message([...])
parameter_id = 915
class ixcom.parameters.PARXCOM_LOGLIST2_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 917) with the following payload:

  • struct loglist [16]
parameter_payload = Message([...])
get_name()
parameter_id = 917
class ixcom.parameters.PARODO_SCF_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1100) with the following payload:

  • int8_t scfOdo
  • int8_t scfEst
  • uint32_t selection
parameter_payload = Message([...])
parameter_id = 1100
class ixcom.parameters.PARODO_TIMEOUT_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1101) with the following payload:

  • int8_t timeout
parameter_payload = Message([...])
parameter_id = 1101
class ixcom.parameters.PARODO_MODE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1102) with the following payload:

  • uint16_t enable
  • uint16_t mode
  • uint16_t deglitcherA
  • uint16_t deglitcherB
parameter_payload = Message([...])
parameter_id = 1102
class ixcom.parameters.PARODO_LEVERARM_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1103) with the following payload:

  • int8_t leverArm [3]
parameter_payload = Message([...])
parameter_id = 1103
class ixcom.parameters.PARODO_VELSTDDEV_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1104) with the following payload:

  • int8_t stdDev
parameter_payload = Message([...])
parameter_id = 1104
class ixcom.parameters.PARODO_DIRECTION_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1105) with the following payload:

  • int8_t direction [3]
parameter_payload = Message([...])
parameter_id = 1105
class ixcom.parameters.PARODO_CONSTRAINTS_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1106) with the following payload:

  • uint8_t enable
  • uint8_t reserved2
  • uint16_t reserved3
  • int8_t stdDev
parameter_payload = Message([...])
parameter_id = 1106
class ixcom.parameters.PARODO_RATE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1107) with the following payload:

  • int8_t rate
parameter_payload = Message([...])
parameter_id = 1107
class ixcom.parameters.PARODO_THR_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1108) with the following payload:

  • int8_t thrAcc
  • int8_t thrOmg
parameter_payload = Message([...])
parameter_id = 1108
class ixcom.parameters.PARARINC825_PORT_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1200) with the following payload:

  • uint32_t port
parameter_payload = Message([...])
parameter_id = 1200
class ixcom.parameters.PARARINC825_BAUD_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1201) with the following payload:

  • uint32_t baud
parameter_payload = Message([...])
parameter_id = 1201
class ixcom.parameters.PARARINC825_ENABLE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1202) with the following payload:

  • uint16_t reserved2
  • uint16_t enable
parameter_payload = Message([...])
parameter_id = 1202
class ixcom.parameters.PARARINC825_LOGLIST_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1204) with the following payload:

  • struct logs [30]
parameter_payload = Message([...])
parameter_id = 1204
class ixcom.parameters.PARARINC825_BUSRECOVERY_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1205) with the following payload:

  • uint16_t enable
  • uint16_t reserved2
parameter_payload = Message([...])
parameter_id = 1205
class ixcom.parameters.PARARINC825_SCALEFACTOR_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1207) with the following payload:

  • int8_t ScfAcc
  • int8_t ScfOmg
  • int8_t ScfRPY [3]
  • int8_t ScfVel
  • int8_t ScfTime
  • int8_t ScfPos [3]
  • int8_t ScfRPYStdDev
  • int8_t ScfInsPosStdDev
  • int8_t ScfVelStdDev
  • int8_t ScfGnssPosStdDev
  • int8_t ScfSideSlip
parameter_payload = Message([...])
parameter_id = 1207
class ixcom.parameters.PARARINC825_EVENTMASK_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1208) with the following payload:

  • uint32_t eventMask
parameter_payload = Message([...])
parameter_id = 1208
class ixcom.parameters.PARNMEA_COM_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1300) with the following payload:

  • uint8_t port
  • uint8_t reserved2
  • uint16_t reserved3
  • uint32_t baud
parameter_payload = Message([...])
get_name()
parameter_id = 1300
class ixcom.parameters.PARNMEA_ENABLE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1301) with the following payload:

  • uint8_t reserved2
  • uint8_t qualityMode
  • uint8_t selectionSwitch
  • uint8_t reserved4
parameter_payload = Message([...])
parameter_id = 1301
class ixcom.parameters.PARNMEA_TXMASK_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1302) with the following payload:

  • uint32_t txMask
  • uint32_t txMaskUDP
parameter_payload = Message([...])
parameter_id = 1302
class ixcom.parameters.PARNMEA_DECPLACES_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1303) with the following payload:

  • uint8_t digitsPos
  • uint8_t digitsHdg
  • uint16_t reserved2
parameter_payload = Message([...])
parameter_id = 1303
class ixcom.parameters.PARNMEA_RATE_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1304) with the following payload:

  • uint32_t divisor
  • uint32_t divisorUDP
parameter_payload = Message([...])
parameter_id = 1304
class ixcom.parameters.PARNMEA_UDP_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1305) with the following payload:

  • uint32_t serverAddress
  • uint32_t port
  • uint8_t enable
  • uint8_t reserved2
  • uint16_t reserved3
parameter_payload = Message([...])
parameter_id = 1305
class ixcom.parameters.PARNMEA_VTGSELECT_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1306) with the following payload:

  • uint32_t Selector
parameter_payload = Message([...])
parameter_id = 1306
class ixcom.parameters.PARARINC429_CFG_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1402) with the following payload:

  • uint16_t Divisor
  • uint8_t Channel
  • uint8_t High Speed
parameter_payload = Message([...])
parameter_id = 1402
class ixcom.parameters.PARIO_HW245_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1500) with the following payload:

  • uint32_t configIO
parameter_payload = Message([...])
parameter_id = 1500
class ixcom.parameters.PARIO_HW288_Payload

Bases: ixcom.protocol.DefaultParameterPayload

Parameter (ID = 1501) with the following payload:

  • uint32_t toDef
parameter_payload = Message([...])
parameter_id = 1501

Exceptions

exception ixcom.exceptions.XcomError(message='', thrower=None)

Bases: Exception

exception ixcom.exceptions.ParseError(message='', thrower=None)

Bases: ixcom.exceptions.XcomError

exception ixcom.exceptions.ResponseError(message='', thrower=None)

Bases: ixcom.exceptions.XcomError

exception ixcom.exceptions.StatusError(message='', thrower=None)

Bases: ixcom.exceptions.XcomError

exception ixcom.exceptions.ClientTimeoutError(message='', thrower=None)

Bases: ixcom.exceptions.XcomError

exception ixcom.exceptions.CommunicationError(message='', thrower=None)

Bases: ixcom.exceptions.XcomError

Basic communications

import ixcom

client = ixcom.Client('192.168.1.30')
client.open_last_free_channel()
client.realign()

Subscribing to logs

import ixcom

client = ixcom.Client('192.168.1.30')
client.open_last_free_channel()

def callback(msg, source_device):
    if isinstance(msg.payload, ixcom.messages.INSSOL_Payload):
        print(msg)

client.add_callback(callback)

client.add_log_with_rate(ixcom.messages.INSSOL_Payload.message_id, 10)

Command line utilities

configdump2txt

configdump2txt can be used to convert a configuration from the XCOM format to a human readable form.

split_config

split_config is used to filter given parameter IDs from a config.dump file.

monitor2xcom

monitor2xcom is used to convert the XCOM frames given in hexadecimal representation in the monitor.log file to a human readable format. It is useful to debug communication with the devices.

xcom_lookup

xcom_lookup searches for XCOM devices on the local network and displays name, IP and a link to the FTP of the device in the terminal.