SBG Systems - Inertial Navigation System RESTful API (1.3.1188-stable)

Download OpenAPI specification:Download

Introduction

All high performance SBG Systems Inertial Navigation Systems (INS) can be configured and interfaced using an easy to use RESTful API. This powerful API allows any developer to configure the device, execute specific actions such as starting/stopping the data logger and retrieve the device status.

This API however is not designed to return high frequency IMU or INS measurements and the sbgECom binary logs should be used instead.

The best example to illustrate what this API can be used for is the web interface embedded in SBG Systems' INS. This web interface relies only on this RESTful API to display the device status, allow the user configure the unit and access specific functions such as the data logger or the EKF Auto calibration module.

This RESTful API can be accessed through a traditional HTTP client/server scheme but also through a serial (UART) connection using sbgECom if the host has no Ethernet capabilities.

This document contains all paths and schemas implemented and supported by SBG Systems Inertial Navigation Systems (INS) RESTful API.

How to read this documentation

Each API endpoint in this documentation is described using several parts:

  • The HTTP method. Includes GET (reading data) and POST (modifying data or executing an action)
  • The base path. It's your device IP address or name such as http://ekinox_045000005.local It goes before the endpoint path.
  • The endpoint path. For example, /settings/default to restore the device default settings.
  • Required parameters. These parameters must be included in a request otherwise the request will fail.
  • Optional parameters. These parameters can be included in a request and if not the value will not be updated keeping the old one.
  • Code examples. Each endpoint has example requests in cURL format and sbgECom library written in C.

Authentication

This API provides a simple user authentication mechanism to restrict access to certain actions such as changing the device's settings. For instance, a survey operator should be able to start and stop the data logger, monitor the device and download acquired log files. However, he shouldn't change the device settings or update the device firmware.

It is also very interesting for OEM integrators to have a full access to setup the unit over a serial connection but avoid a end user to change the device settings through the device embedded web interface.

Finally, some users don't want to bother at all with access rights and users management with a full access to all actions without any login step.

All these scenarios are perfectly handled by this API using a simple user database with an associated use role.

AuthToken

User authentication is implemented by this API by a standard AUTH_TOKEN to use in each subsequent request as an URL parameter. This AUTH_TOKEN is created and returned following a successful user login. The table below summarize the standard OpenAPI security scheme used by this REST API.

Security Scheme Type: API Key
Query parameter name: auth

Users & Roles

SBG Systems' INS have a pre-defined list of users with associated access rights that can't be changed. However, for each user, you can change the default password that is empty when you receive your unit.

The table below lists all available users and if a default password is set:

User Password Description
viewer
NO
Can monitor the device status and download files from the data logger
operator
NO
Can use the data logger (start/stop) or reboot the device but can't change the settings
setup
NO
Manages initial INS installation and configuration and can change other users' password
factory
YES
Specific role reserved for SBG Systems to perform maintenance operations

The table below details for each user the associated pre-defined access rights:

User Monitor Setting Calibration Reboot Logger FTP Firmware License Factory
viewer
VIEW
VIEW
VIEW
NO
VIEW
READ
NO
NO
NO
operator
VIEW
VIEW
VIEW
YES
USE
WRITE
NO
NO
NO
setup
VIEW
WRITE
USE
YES
USE
WRITE
YES
YES
NO
factory
VIEW
WRITE
USE
YES
USE
WRITE
YES
YES
YES

User Login

All user related operations such as login, logout and password change are available in the User Section.

When a user is successfully logged in, a unique AUTH_TOKEN is generated and returned in the JSON response body. This AUTH_TOKEN, that is basically a string, should then be used in each subsequent request to identify the user.

This REST API only supports URL parameter method to provide this AUTH_TOKEN as shown in the example below. HTTP header based methods are not supported at all to ease sbgECom C implementation support.

http://ekinox_045000005.local/api/v1/reboot?auth=AUTH_TOKEN

Default User

The default user is automatically selected by the unit at startup. It's the user with the highest role that has no password.

For instance, if the operator has a password but the setup has no password, the default user will be setup. An other example, if both the operator and setup have a password, the default user will be viewer.

If no authorization token is provided in URLs auth parameter, the API automatically fallbacks to the default user. This way, if you are not interested in access right management, you can just leave the default empty password and don't provide any auth URL parameter.

If all users have a password set, any request to the API without a valid AUTH_TOKEN will fails. In other word, you can't access the INS at all without valid user credentials.

Power On/Reboot

After a power on or following a device reset, no user is logged in and any previously obtained AUTH_TOKEN is not valid anymore. For instance, if you were logged in as a setup user and execute a device reboot, you will have to redo the login process if you still need setup access rights.

However, to improve the user experience, SBG Systems' INS web interfaces have an auto login feature. The login credentials are stored locally in the browser so if you change the device settings and the device has to reboot, the web interface will automatically redo the login process once the device is ready. This way you don't have to enter twice your user name and user password.

It's integrator implementation responsibility to gracefully handle auto-login following a device reset if it's a needed behavior

Users password

By default, only the factory user account has a pre-defined password set that is only known by SBG Systems. All other user accounts have no password meaning you have access to setup rights without requiring any login process.

To start using access rights, you should thus first set a password to user accounts to restrict permissions on the product.

Changing user password

Any logged user can change his password at any time. However, only the setup user can change other users' password.

To change a password, you should be successfully logged in using the route user/login and then you can use the route user/password with the AUTH_TOKEN returned during the login process to update the user password.

By default, when you receive a unit, no password is define. You should still first login using an empty password before you can change it. This is required to make sure the user to change his password is explicitly selected.

Remove a user password

If you would like to clear a user password, you just have to provide an empty password in the route user/password.

Security considerations

When used as a traditional RESTful API, only HTTP connections are supported and not HTTPS. An HTTP connection transmit all information in plain text so it's easy to intercept data between the server (the INS) and the client (the web interface). This type of 'attacks' is called a main-in-the-middle.

It's not a big concern for an INS as no sensitive information is transmitted except the user login and user password if you have set one. On the other hand use HTTPS connections raise a lot of complicated issues and concerns related to SSL certificates and as of today there is no good solution that doesn't impact negatively the user experience.

SBG Systems consequently recommends you don't use a sensitive user password as it could be relatively easy for an attacker to spy the password during login or password change operations.

HTTP methods

This API only uses two HTTP methods to either retrieve resources or execute actions:

  • The GET method is used to retrieve a representation of a resource. If successful, GET returns a representation in JSON and an HTTP response code of 200 (OK). In an error case, it most often returns a 404 (NOT FOUND) or 400 (BAD REQUEST). The GET method never modify any resource or state on the server.
  • The POST method is used to update resources (device settings) or to execute actions (device reboot). On successful update or action, a HTTP status code 200 (OK) is returned with a JSON body detailing the operation status. In case of error the corresponding HTTP status code is returned such as 400 (Bad Request).

All over HTTP verbs such as PUT, PATCH or DELETE are not supported by the server to keep things simple.

HTTP status codes

This API uses standard HTTP status codes to report either a success or a failure. A success is only reported by the status code 200 and the response body always contains the requested resource or the result of an action using JSON.

All other status codes are used to report an error and the response body always contains a JSON detailing the error.

The table below list all HTTP response status codes used by the API.

Status Code Description
200 OK Indicates that request has succeeded.
400 Bad Request The request could not be understood by the server due to incorrect syntax.
401 Unauthorized The request requires user authentication information.
403 Forbidden The client does not have access rights to the content. Unlike 401, the client’s identity is known to the server.
404 Not Found The server can not find the requested resource.
409 Conflict Unable to comply due to a conflict with the current state of the target resource.
422 Unprocessable Entity The client has provided invalid input parameters.
500 Internal Server Error The server encountered an unexpected condition which prevented it from fulfilling the request.

200 (OK)

It indicates that the REST API successfully carried out whatever action the client requested.

The 200 response includes always a response body. The information returned with the response is dependent on the method used in the request, for example:

  • GET an entity corresponding to the requested resource is sent in the response;
  • POST an entity describing or containing the result of the action;

400 (Bad Request)

400 is the generic client-side error status, used when no other 4xx error code is appropriate. Errors can be like malformed request syntax, invalid request message format, or deceptive request routing etc.

The client SHOULD NOT repeat the request without modifications.

401 (Unauthorized)

A 401 error response indicates that the client tried to operate on a protected resource without providing the proper authorization. It may have provided the wrong credentials or none at all. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource.

The client MAY repeat the request with a suitable authorization token in the path parameter. If the request already included authorization credentials, then the 401 response indicates that authorization has been refused for those credentials.

403 (Forbidden)

A 403 error response indicates that the client’s request is formed correctly, but the REST API refuses to honor it, i.e., the user does not have the necessary permissions for the resource. A 403 response is not a case of insufficient client credentials; that would be 401 (“Unauthorized”).

Authentication will not help, and the request SHOULD NOT be repeated. Unlike a 401 Unauthorized response, authenticating will make no difference.

404 (Not Found)

The 404 error status code indicates that the REST API can’t map the client’s URI to a resource but may be available in the future. Subsequent requests by the client are permissible.

No indication is given of whether the condition is temporary or permanent. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.

409 (Conflict)

A 409 status code indicates that the request is in conflict with the current state of the target resource. However, the user might be able to resolve the conflict and resubmmit the request.

This code is for instance used if a user would like to modify the device settings while an other one is already doing so.

422 (Unprocessable Entity)

The 422 response status code indicates that the server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions. It's probably due to invalid input parameters such as in invalid enum value.

The client SHOULD NOT repeat the request without modifications.

500 (Internal Server Error)

500 is the generic REST API error response. Most web frameworks automatically respond with this response status code whenever they execute some request handler code that raises an exception.

A 500 error is never the client’s fault, and therefore, it is reasonable for the client to retry the same request that triggered this response and hope to get a different response.

The API response is the generic error message, given when an unexpected condition was encountered and no more specific message is suitable.

How to use this API

SBG Systems provides two way to access this RESTful API. Either using a traditional HTTP client/server implementation like for any REST API or by using the sbgECom C library that is able to transport the JSON content API other a standard serial (UART) connection.

This RESTful API has been designed to configure the device, execute specific actions such as starting/stopping the data logger and can also be used to return some status on the INS.

Please remember this API is used to configure the device, get its status and execute specific operations such as starting the data logger. If you would like to get high frequency measurements such as IMU or navigation data, please check sbgECom binary logs.

It's recommended you have already review the sbgECom C library documentation before you continue reading this document.

Accessing the API by HTTP

This REST API exposes resources and actions URLs also called paths. It returns HTTP response codes to indicate a success or an error. The API accepts and returns JSON payloads in the HTTP body. Only HTTP connections are accepted on standard port 80.

You can use your favorite HTTP/REST library for your programming language to use this API.

This example shows how to enable the SBG_ECOM_LOG_EKF_NAV message (ekfNav) at 100 Hz using only curl command line tool. Two methods are presented to illustrate how it is easy to change only specific configurations.

You can either use a POST method on the general settings path with a JSON payload containing only the settings you would like to update:

curl  --request POST \
      --url http://ekinox_023000029.local/api/v1/settings?auth=QSZXHDPG3J \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '{"output":{"comA":{"messages":{"ekfNav":"10ms"}}}}'

Or you can point directly to the settings you would like to change as shown below:

curl  --request POST \
      --url http://ekinox_023000029.local/api/v1/settings/output/comA/messages/ekfNav?auth=QSZXHDPG3J \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '"10ms"'

Accessing the API with sbgECom

If you would like to setup your INS with a serial connection, SBG Systems provides the open source sbgECom C library. The sbgECom C library can be used to access all the REST API features as well as all binary output logs such as SBG_ECOM_LOG_EKF_NAV.

This example below, enables the SBG_ECOM_LOG_EKF_NAV message over the serial port B using two different methods as for the HTTP example.

You can for example use the general settings path and only provide in the JSON request the settings you would like to change. You will have to send the JSON below to change only the imuShort message on COM A.

{
  "output": {
    "comA" : {
      "messages": {
        "ekfNav": "10ms"
      }
    }
  }
}

This JSON will then have to be sent using sbgECom on the settings path as shown below:

// We consider the sbgECom has been correction initialized
errorCode = sbgEComCmdApiPost(&protocol, "settings", "auth=QSZXHDPG3J", "{\"output\":{\"comA\":{\"messages\":{\"ekfNav\":\"10ms\"}}}}", &httpResponse);

Or you can also directly use the final end point as demonstrated in the example below:

// We consider the sbgECom has been correction initialized
errorCode = sbgEComCmdApiPost(&protocol, "settings/output/comA/messages/ekfNav", "auth=QSZXHDPG3J", "\"onChange\"", &httpResponse);

Using the API with CLI/Bash

SBG Systems has developed a command line tool (CLI) to let you configure your unit with no development.

This CLI tool uses the sbgECom to let you access from a command line all GET and POST methods from this API. You

This example below, enables the SBG_ECOM_LOG_EKF_NAV message over the serial port B using two different methods as for the HTTP example.

$ ./build/bin/sbgEComApi -s /dev/ttyUSB0 -r 921600 -p settings/output/comA/messages/ekkNav -b "onChange"

Getting started guide

This API has been designed to be as easy to use as possible.

We have however written some step by step guides so you can start using it in no time.

Click here to visit our API Guide Tutorial.

Compatibility

SBG Systems tries to avoid as much as possible evolutions that might break user code integration. However, this API intends to be updated with improvements, new features and much more.

A REST API, based on JSON files, is by design, much more resilient to future evolutions. If correctly implemented by the host application, a lot of changes can be made in the API without breaking the compatibility.

As for any REST API, there are two types of API evolutions:

  • Changes that are backward compatibles: Adding a new field in a json payload or a new path.
  • Changes that might break the compatibility: Removing a path or updating completely an existing path payload schema.

This API is versioned using a Major.Minor.Build-Qualifier information. Only the Major and Minor fields are of interest for API compatibility. Any backward compatible modification is identified by a Minor evolution.

If an API evolution breaks the backward compatibility, this change is indicated by a Major increment. This is also reflected in the API path that contains the Major version (api/v1/... or api/v2/...).

When a new Major API is introduced, the previous versions will still be available to maintain existing integration compatibility. For example, if the api/v1/info path is renamed with a completely new payload schema to whoAmI, it should be made available at the path api/v2/whoAmI However, you should still be able to query the path api/v1/info to get the legacy response.

Each time a new API release is issued, the version number is updated and a detailed change log is provided in this documentation.

You can also easily retrieve the full API version indication in use by your product with the api/v1/info path. Please refer to path info endpoint for more details.

Change Log

Please find below the list of changes for each API release.

Release - 1.3.1188-stable

New Feature

  • [INSAPI-117] - REST API: Add a path to return SV status & info
  • [INSAPI-125] - Update api/v1/status documentation with EKF smart position
  • [INSAPI-126] - Added a "Railway" motion profile for train applications
  • [INSAPI-129] - Add support to request CAN log availability based on device features
  • [INSAPI-131] - Add a new PSBGA NMEA message that output the INS attitude
  • [INSAPI-132] - Add supported API version to the device information

Improvement

  • [INSAPI-108] - Improve clock selection documentation
  • [INSAPI-127] - Update api/v1/firmware path documentation and state machine

Bug

  • [INSAPI-123] - Fix the REST API link to step by step getting started guide
  • [INSAPI-124] - Remove the last dot for mDNS based urls
  • [INSAPI-130] - Fixed settings/ports example syntax issue

Release - 1.1.594-stable

New Feature

  • [INSAPI-119] - Add pedestrian and UAV motion profiles
  • [INSAPI-121] - Add support for the Teledyne Wayfinder DVL protocol
  • [INSAPI-115] - Add option to control SSL/TLS encryption with NTRIP
  • [INSAPI-116] - Add documentation about querying a list of NTRIP mountpoints

Bug

  • [INSAPI-111] - Fix device available feature checks when updating settings
  • [INSAPI-107] - Fix data type for initial GPS leap seconds settings value

Settings

All the device settings can be read and changed from this API. For example, all SBG Systems units use this API to change and read the configuration.

The API also provides some commands to restore default settings and import/export settings from JSON files. Finally, a basic lock/unlock mechanism is also present to nicely prevent settings concurrent editions.

Retrieve device settings

Returns all the device settings at once.

Because the returned payload can be quite large, you can also query settings subsets. To do this, this RESTful API exposes routes that map the settings JSON layout.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Update device settings

Update completely or partially the device settings at once.

Because the returned payload can be quite large, you can also query settings subsets. To do this, this RESTful API expose routes that map the settings JSON layout.

Authorizations:
AuthToken
query Parameters
checkOnly
boolean
Example: checkOnly=true

Optional path parameter to check settings without applying them

Request Body schema: application/json

You can only include the modules you would like to configure.

object (OEM (integrators))

Set of specific settings for OEM integrators

object (IMU Setup)

Select IMU model, installation alignment and reference point.

object (Mechanical Installation)

Define how the INS is aligned in the vehicle with associated lever arms.

object (INS Filter)

Configure and tune the INS operations

object (Aiding Equipments)

Manage and configure aiding equipments such as GNSS, odometers, etc

object (Network Setup)

Configure all network services and its ip address.

object (Ports)

Setup serial, virtual ethernet and CAN bus ports.

object (Event In/Out)

Setup event input and output used for instance to synchronize external hardware.

object (Output Logs)

Output logs and messages configuration

object (Clock Settings)

Configure input clock and synchronization

object (Internal Data Logger)

Internal data logger configuration and operating mode.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Restore default settings and reboot.

This command will reset all the device to factory default and automatically perform a software reboot.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/settings/default?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Save current settings

Save the current settings to permanent memory so they will be applied at the new power cycle.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/settings/save?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Export the device settings to a JSON file

Export the device settings that have been changed from the device default configuration to a JSON file.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/settings/export?auth=QSZXHDPG3J&format=pretty \
  --header 'Accept: application/octet-stream' \
  --header 'Content-Type: application/octet-stream'

Response samples

Content type
application/json
{
}

Import device settings from a JSON file

Import a compatible JSON settings file that updates the current device settings, save them and reboot the unit.

Authorizations:
AuthToken
Request Body schema: multipart/form-data

A JSON file containing the settings to import. The JSON file can contain either all the device settings or only the ones to change. This JSON should comply to the schema documented in the path settings/export

string <binary>

The JSON settings file stream to upload

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/settings/import?auth=QSZXHDPG3J \
  --header 'Accept:' \
  --header 'Content-Type: multipart/form-data' \
  -F file=@settingFile.json

Response samples

Content type
application/json
{
}

Lock device settings for edition

Request a lock on the device settings to safely modify them. This route is used to protect concurrent settings modifications on the same device from several clients (browsers)

For instance, SBG Systems' INS web interface uses this route each time the Settings button is pressed to lock settings.

If the settings are already locked to someone else, this route should return a 409 Conflict HTTP status code. You can then warn the user and ask him if he wants to force this lock and thus discard the previous one.

If yes, just retry the lock request with the optional request body and the force parameter set to true.

Authorizations:
AuthToken
Request Body schema: application/json

This optional body is helpful to force access to settings if they are already locked to someone else. This situation can occur if the user closes the browser while he was editing the settings. In this case, you can force the device to revoke the previous lock and generate a new one.

force
boolean

Set to true to force revoke the previous lock and generate a new one.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Unlock access to device settings

Release the access to device settings, for a device that has been previously locked.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/settings/unlock?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

OEM

OEM device settings are useful for integrators that would like to store specific information or identification data.

Please feel free to contact SBG Systems support@sbg-systems if you are an OEM integrator and need additional settings.

Read OEM settings

Returns the device OEM settings.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/settings/oem \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Update OEM settings

Update the device OEM settings.

Authorizations:
AuthToken
Request Body schema: application/json

You can provide all or part of the settings you would like to update. Of course, all the fields marked as required are mandatory to successfully update the settings.

If the settings have been updated successfully, you will be informed if a reboot is required.

label
string <= 32 characters

User defined label that can be used for product identification

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

IMU

You can view and change the IMU (Inertial Measurement Unit) configuration in this section.

These settings are very important to guarantee correct operations and are the first parameters to configure on a new product.

IMU Model

Some SBG Systems products such as Navsight processing units can use different external IMU models whereas other INS such as the Ekinox have an integrated (IMU).

An IMU model defines both the sensor error model used by the INS filter to deliver optimal results and some mechanical parameters. For example, each IMU model defines several IMU Reference Points (bare IMU, Cover Target, Base Plate Hole, ...) so the user can easily reference all the installation parameters to the selected reference point.

For products that support an external IMU, you have to select which IMU model is connected. For other products such as Ekinox, Apogee or Quanta, you can't change the IMU model that has to be set to internal.

Reference Point

You can select a reference point so all lever arm and outputs will be referenced to this point. This can greatly ease the INS installation and replacement.

You can even enter a custom reference point so you can use lever arms previously measured for an other INS without having to do the maths.

Custom Reference Point

The IMU reference point is expressed in the IMU body frame and referenced to the IMU physical sensor measurement point (Bare IMU). For example, a reference point of (0.5, 0, 0) will be 50 cm ahead the physical IMU measurement point.

You can refer to your IMU/INS documentation to get more information such as the precise location of the physical IMU sensor point.

Alignment

This advanced setting is reserved for OEM integrators only and shouldn't be used without SBG Systems advices.

You can specify an additional rotation on the IMU. This can be helpful if you are planing to integrate an IMU in your own housing. Most of the time it's very complicated to align the IMU X/Y/Z frame with the frame defined by your housing.

To coop with that situation, you can specify a rotation between the IMU and your housing. If you combine this setting with the custom IMU reference point, you can offer a simplified experience to your users. You can introduce your own frame and reference point on your housing so your user can measure lever arms in respect to this frame.

On top of this alignment, your user can still configure the sensor to vehicle frame alignment parameter as simple as if it was a standard SBG Systems INS. Finally, Qinertia also supports all these settings to offer the best user experience available on the market for an integrated INS solution.

Please contact SBG Systems support team at support@sbg-systems.com to get more details on this setting.

The custom reference point is not affected by the alignment parameter. You should measure and enter it the same way whatever the alignment setting is.

Get IMU configuration

Get the IMU (Inertial Measurement Unit) configuration.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set IMU configuration

Update the IMU (Inertial Measurement Unit) configuration.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

model
string (IMU Models)
Enum: "internal" "ekinoxISurfaceV1" "ekinoxISubseaV1" "ekinoxISurfaceV2" "ekinoxISubseaV2" "pulse40V1" "apogeeISurfaceV1" "apogeeISubseaV1" "apogeeIOemV1" "horizonV1"

Select the connected IMU model if supported by your product.

refPoint
string
Enum: "custom" "bareImu" "coverTarget" "basePlateHole"

Defines where all lever arms and INS data should be referenced

customRefPoint
Array of numbers <float> = 3 items [ items <float > ]

IMU reference point lever arm to use in meters if custom refPoint is selected

object

You can specify a custom a pre-alignment on IMU data (reserved for integrators)

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Mechanical

Mechanical device settings are used to configure how the INS is installed within the vehicle and you can also define here additional output monitoring points.

You can also specify the vehicle dimensions so the 3D mechanical installation representation will be more accurate.

Get Mechanical Setup

Returns the mechanical setup configuration.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Mechanical Setup

Update the mechanical setup configuration.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

object (alignment)

Defines how the INS is aligned within the vehicle.

object (mechanicalLeverArms)

You should define the Center of Gravity (COG) lever arm for best accuracy. You can also define additional output lever arms to deport measurements at a specific location.

object (vehicleSize)

Specify the vehicle size for nice 3D representation

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get Vehicle Alignment

Returns the alignment configuration between the IMU and the vehicle.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Vehicle Alignment

Update the alignment configuration between the IMU and the vehicle.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

rough
Array of strings = 2 items
Items Enum: "forward" "backward" "right" "left" "down" "up"

Defines the rough X and Y axis direction

fine
Array of numbers <float> = 3 items [ items <float > [ -180 .. 180 ] ]

Defines the small additional roll, pitch and yaw corrections in degrees

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get Lever Arms

Returns the primary (cog) and output lever arm configuration.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Lever Arms

Update the primary (cog) and output lever arm configuration.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

cog
Array of numbers <float> (leverArm) = 3 items [ items <float > [ -1000 .. 1000 ] ]

X, Y, Z lever arm in meters

output1
Array of numbers <float> (leverArm) = 3 items [ items <float > [ -1000 .. 1000 ] ]

X, Y, Z lever arm in meters

output2
Array of numbers <float> (leverArm) = 3 items [ items <float > [ -1000 .. 1000 ] ]

X, Y, Z lever arm in meters

output3
Array of numbers <float> (leverArm) = 3 items [ items <float > [ -1000 .. 1000 ] ]

X, Y, Z lever arm in meters

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get Vehicle Size

Returns the vehicle size configuration that is used in the web interface 3D view.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Vehicle Size

Update the vehicle size configuration that is used in the web interface 3D view.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

customSize
boolean

True if you would like to define custom vehicle size or false to use the default one.

size
Array of numbers <float> = 3 items [ items <float > [ 0 .. 1000 ] ]

Custom vehicle length, width and height in meters

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

INS

SBG Systems INS are using an advanced Extended Kalman Filter to always deliver the best accuracy in all conditions.

Each application and vehicle has its own dynamics and constraints so the INS filter has to be tuned specifically to achieve the best accuracy. For optimal results, you have to select the right motion profile that best fit your application.

You can also define here specific advanced configurations related to the INS filter behavior.

Get INS Config

Returns the Navigation Filter configuration.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set INS Config

Update the Navigation Filter configuration.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

motionProfile
string (Motion Profile)
Enum: "airplane" "automotive" "helicopter" "marineHarshSurvey" "marineSurface" "marineUnderwater" "pedestrian" "truck" "railway" "uav"

Unique motion profile identifier that can be set to best fit your application.

useRtkHeave
boolean

Set to true to enhance the altitude with heave information during GNSS outages.

object

Defines custom threshold for INS data validity

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Aiding

SBG Systems INS can use a lof of different aiding equipments such as RTK GNSS receivers or odometers to improve the navigation accuracy. You can configure in this section which equipments are connected and for each aiding equipment its configuration.

Get Aiding Setup

Returns the configuration for each aiding equipment.

Each aiding input/equipment is returned as a specific JSON node.

All aiding equipments are not available on all products. Please refer to your product user manual to get the list of supported aiding inputs.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Aiding Setup

Set the configuration for all aiding equipments.

You can include one or more aiding equipment to configure.

All aiding equipments are not available on all products. Please refer to your product user manual to get the list of supported aiding inputs.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

object (gnss)

Configure GNSS receiver aiding

object (gnss)

Configure GNSS receiver aiding

object (odometer)

Configure odometer (DMI) velocity aiding

object (airData)

Configure barometric altitude and true airspeed aiding

object (dvl)

Setup Doppler Velocity Log (DVL) aiding

object (depth)

Setup subsea depth aiding sensor

object (usbl)

Configure USBL subsea position aiding

object (diffCorr)

Setup how GNSS differential corrections are received

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get GNSS 1 Setup

Get the GNSS 1 receiver aiding configuration.

The GNSS can provide a PVT (Position, Velocity, Time) as well as dual antenna true heading and RAW GNSS data.

Please make sure in your INS user manual if this aiding input is available.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set GNSS 1 Setup

Update the GNSS 1 receiver aiding configuration.

The GNSS can provide a PVT (Position, Velocity, Time) as well as dual antenna true heading and RAW GNSS data.

Please make sure in your INS user manual if this aiding input is available.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

model
string
Enum: "internal" "nmea" "nmeaTrimble" "novatel" "septentrio" "trimble"

Select the connected GNSS receiver

source
string (aidingSourceList)
Enum: "none" "internal" "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4"

Select on which port the aiding equipment is connected

sync
string
Enum: "none" "internal" "eventInA" "eventInB" "eventInC" "eventInD" "eventInE" "eventOutA" "eventOutB"

Select where the GNSS PPS signal is connected

antenna
string [ 0 .. 20 ] characters

Select the GNSS antenna ANTEX identifier or GENERIC if you don't know the antenna type.

headingMode
string
Enum: "singleAntenna" "dualAntennaAutoLeverArm" "dualAntennaKnownLeverArm"

Select if you would like to use GNSS dual antenna heading and if the secondary GNSS antenna lever arm is known or should be estimated:

  • singleAntenna, only the position and velocity can be used from this GNSS receiver
  • dualAntennaAutoLeverArm, true heading from the dual antenna GNSS receiver will be used but the secondary GNSS antenna lever arm is not known. In this case, you have to perform a calibration run to estimate it.
  • dualAntennaKnownLeverArm, true heading from the dual antenna GNSS receiver will be used and a precise lever arm has been specified for the secondary GNSS antenna.
leverArmPrimary
Array of numbers <float> = 3 items [ items <float > [ -1000 .. 1000 ] ]

Primary X,Y,Z lever arm in meters from the INS to the GNSS antenna ARP.

leverArmSecondary
Array of numbers <float> = 3 items [ items <float > [ -1000 .. 1000 ] ]

Secondary X,Y,Z lever arm in meters from the INS to the GNSS antenna ARP.

usePosition
string (usage)
Enum: "auto" "always" "never"

Defines if a measurement should be used or rejected. auto is recommended most of the time as the INS will reject bad measurements automatically to only use good ones.

useDualAntenna
string (usage)
Enum: "auto" "always" "never"

Defines if a measurement should be used or rejected. auto is recommended most of the time as the INS will reject bad measurements automatically to only use good ones.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get GNSS 2 Setup

Get the GNSS 2 receiver aiding configuration.

The GNSS can provide a PVT (Position, Velocity, Time) as well as dual antenna true heading and RAW GNSS data.

Please make sure in your INS user manual if this aiding input is available.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set GNSS 2 Setup

Update the GNSS 2 receiver aiding configuration.

The GNSS can provide a PVT (Position, Velocity, Time) as well as dual antenna true heading and RAW GNSS data.

Please make sure in your INS user manual if this aiding input is available.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

model
string
Enum: "internal" "nmea" "nmeaTrimble" "novatel" "septentrio" "trimble"

Select the connected GNSS receiver

source
string (aidingSourceList)
Enum: "none" "internal" "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4"

Select on which port the aiding equipment is connected

sync
string
Enum: "none" "internal" "eventInA" "eventInB" "eventInC" "eventInD" "eventInE" "eventOutA" "eventOutB"

Select where the GNSS PPS signal is connected

antenna
string [ 0 .. 20 ] characters

Select the GNSS antenna ANTEX identifier or GENERIC if you don't know the antenna type.

headingMode
string
Enum: "singleAntenna" "dualAntennaAutoLeverArm" "dualAntennaKnownLeverArm"

Select if you would like to use GNSS dual antenna heading and if the secondary GNSS antenna lever arm is known or should be estimated:

  • singleAntenna, only the position and velocity can be used from this GNSS receiver
  • dualAntennaAutoLeverArm, true heading from the dual antenna GNSS receiver will be used but the secondary GNSS antenna lever arm is not known. In this case, you have to perform a calibration run to estimate it.
  • dualAntennaKnownLeverArm, true heading from the dual antenna GNSS receiver will be used and a precise lever arm has been specified for the secondary GNSS antenna.
leverArmPrimary
Array of numbers <float> = 3 items [ items <float > [ -1000 .. 1000 ] ]

Primary X,Y,Z lever arm in meters from the INS to the GNSS antenna ARP.

leverArmSecondary
Array of numbers <float> = 3 items [ items <float > [ -1000 .. 1000 ] ]

Secondary X,Y,Z lever arm in meters from the INS to the GNSS antenna ARP.

usePosition
string (usage)
Enum: "auto" "always" "never"

Defines if a measurement should be used or rejected. auto is recommended most of the time as the INS will reject bad measurements automatically to only use good ones.

useDualAntenna
string (usage)
Enum: "auto" "always" "never"

Defines if a measurement should be used or rejected. auto is recommended most of the time as the INS will reject bad measurements automatically to only use good ones.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get Odometer Setup

Get the odometer (DMI) aiding configuration.

The odometer or DMI (Distance Measurement Instrument) can provide a 1D velocity that is very helpful for car applications in dense urban canyons. The INS position accuracy can be greatly improved in case of long GNSS outages and in very challenging conditions.

Please make sure in your INS user manual if this aiding input is available.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Odometer Setup

Update the odometer (DMI) aiding configuration.

The odometer or DMI (Distance Measurement Instrument) can provide a 1D velocity that is very helpful for car applications in dense urban canyons. The INS position accuracy can be greatly improved in case of long GNSS outages and in very challenging conditions.

Please make sure in your INS user manual if this aiding input is available.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

model
string
Enum: "pulse" "canNissanNote" "canRenaultTwingo" "canCitroenC3Picasso"

Select the connected odometer model

source
string
Enum: "none" "can" "comA" "comB" "comC" "comD" "comE"

Select on which port the odometer is connected

leverArm
Array of numbers <float> (leverArm) = 3 items [ items <float > [ -1000 .. 1000 ] ]

X, Y, Z lever arm in meters

gain
number <float> >= 0.1

Odometer gain to apply on raw measurements

gainError
number <float> [ 0.1 .. 100 ]

Odometer gain error error in percent

reverse
boolean

Set to true to reverse the velocity sign

useVelocity
string (usage)
Enum: "auto" "always" "never"

Defines if a measurement should be used or rejected. auto is recommended most of the time as the INS will reject bad measurements automatically to only use good ones.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get Air Data Setup

Returns the air data aiding equipment configuration.

The air data aiding can provides a true air speed as well as a barometric altitude.

Please make sure in your INS user manual if this aiding input is available.

This module is not implemented yet
Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Air Data Setup

Update the air data aiding equipment configuration.

The air data aiding can provides a true air speed as well as a barometric altitude.

Please make sure in your INS user manual if this aiding input is available.

This module is not implemented yet
Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

model
string
Enum: "internal" "sbgECom" "ahrs500"

Select the connected AirData sensor

source
string (aidingSourceList)
Enum: "none" "internal" "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4"

Select on which port the aiding equipment is connected

leverArm
Array of numbers <float> = 3 items [ items <float > [ -1000 .. 1000 ] ]

X, Y, Z lever arm in meters from the INS to the pitot tube.

useAirSpeed
string (usage)
Enum: "auto" "always" "never"

Defines if a measurement should be used or rejected. auto is recommended most of the time as the INS will reject bad measurements automatically to only use good ones.

useAltitude
string (usage)
Enum: "auto" "always" "never"

Defines if a measurement should be used or rejected. auto is recommended most of the time as the INS will reject bad measurements automatically to only use good ones.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get DVL Setup

Get the DVL (Doppler Velocity Log) aiding equipment configuration.

The DVL can provide both a bottom track 3D velocity or a water layer velocity. This information can be used for marine applications to improve INS position accuracy during long GNSS outages.

Please make sure in your INS user manual if this aiding input is available.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set DVL Setup

Update the DVL (Doppler Velocity Log) aiding equipment configuration.

The DVL can provide both a bottom track 3D velocity or a water layer velocity. This information can be used for marine applications to improve INS position accuracy during long GNSS outages.

Please make sure in your INS user manual if this aiding input is available.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

model
string
Enum: "teledyne" "PD6" "wayfinder"

Select the connected DVL

source
string (aidingSourceList)
Enum: "none" "internal" "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4"

Select on which port the aiding equipment is connected

sync
string (eventsList)
Enum: "none" "eventInA" "eventInB" "eventInC" "eventInD" "eventInE" "eventOutA" "eventOutB"

Select which signal can be used to timestamp aiding data

leverArm
Array of numbers <float> = 3 items [ items <float > [ -1000 .. 1000 ] ]

X, Y, Z lever arm in meters from the INS to the DVL.

object

Defines how the DVL is aligned with the INS.

useWaterVel
string (usage)
Enum: "auto" "always" "never"

Defines if a measurement should be used or rejected. auto is recommended most of the time as the INS will reject bad measurements automatically to only use good ones.

useBottomVel
string (usage)
Enum: "auto" "always" "never"

Defines if a measurement should be used or rejected. auto is recommended most of the time as the INS will reject bad measurements automatically to only use good ones.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get Depth Sensor Setup

Returns the depth (subsea pressure sensor) aiding equipment configuration.

This aiding is only used for subsea applications to stabilize the INS altitude with a subsea pressure sensor information.

Please make sure in your INS user manual if this aiding input is available.

This module is not implemented yey
Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Depth Sensor Setup

Update the depth (subsea pressure sensor) aiding equipment configuration.

This aiding is only used for subsea applications to stabilize the INS altitude with a subsea pressure sensor information.

Please make sure in your INS user manual if this aiding input is available.

This module is not implemented yey
Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

model
string
Enum: "amlMicroX" "rbrConcerto" "genericNmea"

Select the connected Depth Sensor

source
string (aidingSourceList)
Enum: "none" "internal" "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4"

Select on which port the aiding equipment is connected

useDepth
string (usage)
Enum: "auto" "always" "never"

Defines if a measurement should be used or rejected. auto is recommended most of the time as the INS will reject bad measurements automatically to only use good ones.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get USBL Setup

Returns the USBL (Ultra Short Baseline) aiding equipment configuration.

This aiding is only used for subsea applications to provide a subsea position information.

Please make sure in your INS user manual if this aiding input is available.

This module is not implemented yet
Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set USBL Setup

Update the USBL (Ultra Short Baseline) aiding equipment configuration.

This aiding is only used for subsea applications to provide a subsea position information.

Please make sure in your INS user manual if this aiding input is available.

This module is not implemented yet
Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

model
string
Enum: "nmeaSSB" "posidonia"

Select the connected USBL

source
string (aidingSourceList)
Enum: "none" "internal" "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4"

Select on which port the aiding equipment is connected

usePosition
string (usage)
Enum: "auto" "always" "never"

Defines if a measurement should be used or rejected. auto is recommended most of the time as the INS will reject bad measurements automatically to only use good ones.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get Differential Corrections Setup

Get the GNSS differential corrections configuration.

The RTCM/NTRIP module is used to provide differential corrections to the internal GNSS receiver. This allows the internal GNSS receiver to produce a RTK solution with accuracies of 1 cm.

Please make sure in your INS user manual if this aiding input is available.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Setup Differential Corrections

Update the GNSS differential corrections configuration.

The RTCM/NTRIP module is used to provide differential corrections to the internal GNSS receiver. This allows the internal GNSS receiver to produce a RTK solution with accuracies of 1 cm.

Please make sure in your INS user manual if this aiding input is available.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

source
string
Enum: "none" "ntrip" "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4"

Select the differential corrections source

ggaInterval
string
Enum: "off" "1s" "5s" "10s" "30s" "60s"

Interval between GGA messages output.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Network

Network device settings are used to configure how the device can access the network and all network services such as NTP/PTP time servers. You can setup in this section if the INS should acquire an IP address using a DHCP server or if you would like to specify a static IP.

Get network configuration

Returns the device network configuration and network services configuration.

You can only retrieve the network configuration and not the device network status. For example, you shouldn't use this route to get the IP address automatically assigned by a DHCP server.
Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set network configuration

Update the device network configuration and network services configuration.

Some configurations will only be effective following a device reboot.
Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

object (IPv4 Settings)

Device network adapter IPv4 configuration.

object (NTRIP Settings)

Device NTRIP client configuration.

object (NTP Settings)

Device NTP server configuration.

object (PTP Settings)

Device PTP server configuration.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get IPv4 network config

Returns the device IPv4 network configuration.

You can define here if the INS should use a static IPv4 address or automatically obtain an address from a DHCP server. If you would like to enable DNS (Domain Name System) resolution, you should also setup correctly DNS servers.

DNS server are useful if, for example, the INS should connect to an NTRIP server that is referenced by a host name and not an ip address.

For now, SBG Systems products only support IPv4 protocol and not IPv6.

This route retrieves the network configuration and not, for example, the device IP address automatically assigned by a DHCP server.
Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set IPv4 network config

Update the device IPv4 network configuration.

You can define here if the INS should use a static IPv4 address or automatically obtain an address from a DHCP server. If you would like to enable DNS (Domain Name System) resolution, you should also setup correctly DNS servers.

DNS server are useful if, for example, the INS should connect to an NTRIP server that is referenced by a host name and not an ip address.

For now, SBG Systems products only support IPv4 protocol and not IPv6.

This configuration will only be effective following a device reboot.
Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

mode
string
Enum: "off" "dhcp" "static"

Set how the device can access an IPv4 network.

ip
string <ipv4>

IP address (static mode)

ipGnss
string <ipv4>

IP address for the internal GNSS receiver (static mode)

netmask
string <ipv4>

Subnet mask (static mode)

gateway
string <ipv4>

Gateway IP (static mode)

dns1
string <ipv4>

Primary DNS server IP

dns2
string <ipv4>

Secondary DNS server IP

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get NTRIP client config

Returns the device NTRIP client configuration.

Systems products only support NTRIPv2 protocol.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set NTRIP client config

Update the device NTRIP client configuration.

Here you can define the connection to an NTRIP CASTER to receive differential corrections.

SBG Systems products only support NTRIPv2 protocol.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

hostname
string

Caster hostname or IP address.

port
integer <int32> [ 0 .. 65535 ]

Caster port.

encryptionEnabled
boolean

Set to true to enable SSL/TLS encryption.

mountPoint
string

Caster mount point.

authEnabled
boolean

Set to true to enable authentication.

username
string

Username if authentication is required.

password
string

Password if authentication is required.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get NTP server config

Returns the device NTP server configuration.

For now, SBG Systems products only support NTPv4 protocol.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set NTP server config

Update the device NTP server configuration.

For now, SBG Systems products only support NTPv4 protocol.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

enabled
boolean

Set to true to enable NTP server.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get PTP server config

Returns the device PTP server configuration.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set PTP server config

Update the device PTP server configuration.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

enabled
boolean

Set to true to enable PTP server.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Ports

SBG Systems products offer a lot of input and output ports such as serial, virtual ethernet and CAN bus.

You can enable/disable specific port and define its configuration such as a baudrate for a serial port.

Get ports configuration

Returns the current device ports configuration such as serial baud rates, CAN bus bitrate, ethernet UDP or TCP/IP.

In this section, only the low level / hardware part of the input/output ports can be configured. If you would like to setup output messages, please check the Output Section

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set ports configuration

Update the current device ports configuration such as serial baud rates, CAN bus bitrate, ethernet UDP or TCP/IP.

In this section, only the low level / hardware part of the input/output port can be configured. If you would like to setup output messages, please check the Output Section

This configuration will only be effective following a device reboot.
Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

object (canBus)

CAN bus configuration

object (comPort)

Serial port configuration

object (comPort)

Serial port configuration

object (comPort)

Serial port configuration

object (comPort)

Serial port configuration

object (comPort)

Serial port configuration

object (ethPort)

Virtual ethernet port configuration

object (ethPort)

Virtual ethernet port configuration

object (ethPort)

Virtual ethernet port configuration

object (ethPort)

Virtual ethernet port configuration

object (ethPort)

Virtual ethernet port configuration

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get configuration for this port

Returns the current device port configuration such as serial baud rates, CAN bus bitrate, ethernet UDP or TCP/IP.

In this section, only the low level / hardware part of the input/output port can be configured. If you would like to setup output messages, please check the Output Section

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger" "can"
Example: comA

List of all available ports on the device that can be configured.

You should replace the {port} part of the path by a valid port name.

query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
Example
{
}

Set configuration for this port

Update the current device port configuration such as serial baud rates, CAN bus bitrate, ethernet UDP or TCP/IP.

In this section, only the low level / hardware part of the input/output port can be configured. If you would like to setup output messages, please check the Output Section

This configuration will only be effective following a device reboot.
Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger" "can"
Example: comA

List of all available ports on the device that can be configured.

You should replace the {port} part of the path by a valid port name.

Request Body schema: application/json

You can only include the port you would like to configure.

Any of
mode
string
Enum: "off" "listenOnly" "normal"

CAN bus mode

bitrate
integer <int32> [ 20 .. 1000 ]

CAN bus bitrate, in kbit/sec

Responses

Request samples

Content type
application/json
Example

CAN bus enabled at 1 Mbit/s

{
}

Response samples

Content type
application/json
{
}

Events

Configuration for input and output event markers that can be used to synchronize external equipments and time stamp data.

Input event markers can be used to time stamp external signals such as camera shutter event or to synchronize aiding equipments (PPS from a GNSS).

Output events are electrical signals generated by the INS and used to trigger an external equipment. They are also used to time stamp precisely measurements output by the INS.

Get Events config

Returns the configuration for all input and output events.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Events config

Update output and input events configuration.

Authorizations:
AuthToken
Request Body schema: application/json

Update the configuration for all input and output events.

object (eventIn)

Event input marker configuration

object (eventIn)

Event input marker configuration

object (eventIn)

Event input marker configuration

object (eventIn)

Event input marker configuration

object (eventIn)

Event input marker configuration

object (eventOut)

Synchronization output signal setup.

object (eventOut)

Synchronization output signal setup.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get Event In config

Return the configuration for a single input event / sync in.

Authorizations:
AuthToken
path Parameters
id
required
string
Enum: "A" "B" "C" "D" "E"
Example: A

List of available input events that can be configured on the device.

You should replace the {id} part of the path by a valid event name.

query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Event In config

Update the configuration for a single input event / sync in.

Authorizations:
AuthToken
path Parameters
id
required
string
Enum: "A" "B" "C" "D" "E"
Example: A

List of available input events that can be configured on the device.

You should replace the {id} part of the path by a valid event name.

Request Body schema: application/json

You can only include the modules you would like to configure.

trigger
string
Enum: "off" "rising" "falling" "both"

Select the signal edge to detect

delay
integer <int32>

You can add a constant delay in nanoseconds on the event.

A positive delay means the event time stamp will be in the past compared to the real electrical signal.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get Event Out config

Return the configuration for a single output event / sync out.

Authorizations:
AuthToken
path Parameters
id
required
string
Enum: "A" "B"
Example: A

List of available output events that can be configured on the device.

You should replace the {id} part of the path by a valid event name.

query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Event Out config

Update the configuration for a single output event / sync out.

Authorizations:
AuthToken
path Parameters
id
required
string
Enum: "A" "B"
Example: A

List of available output events that can be configured on the device.

You should replace the {id} part of the path by a valid event name.

Request Body schema: application/json

You can only include the modules you would like to configure.

trigger
string
Enum: "off" "distance" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms"

Trigger condition to generate a sync out.

polarity
string
Enum: "falling" "rising" "toggle"

Signal level change to use when the event is triggered.

duration
integer <int32> [ 10 .. 500000 ]

Signal pulse duration, in microseconds.

The duration is ignored if the signal is configured to toggle.

The duration must not cause the duty cycle to exceed 50%.

distance
number <float> [ 0.01 .. 1000 ]

Distance to travel in meters to trigger a sync out signal. This field is only applicable for distance mode.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Output

These settings are used to configure for each port which messages should be sent.

Some settings apply on the port itself such as if you would like to deport the measurements at a specific location. But mainly, you can enable/disable specific output logs and define their output rate and so on.

SBG Systems products feature several output ports including:

  • Serial (UART)
  • Ethernet UDP or TCP/IP
  • Data Logger
  • CAN Bus

The Serial, Ethernet and Data Logger ports are handled exactly the same way and offer the same output logs. However, the CAN bus interface has specific and CAN messages.

Please make sure you have selected the right payloads/response bodies according to the port you are configuring.

Get all outputs configuration

Returns the output log configuration for all ports available on this product.

Ports can be a serial, ethernet, data logger or CAN bus.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set all outputs configuration

Define the output configuration for all available ports at once.

Ports can be a serial, ethernet, data logger or CAN bus.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the port(s) you would like to configure.

object (CAN Output)

CAN output messages configuration

object (Standard Output)

Serial, Ethernet or dataLogger output logs configuration

object (Standard Output)

Serial, Ethernet or dataLogger output logs configuration

object (Standard Output)

Serial, Ethernet or dataLogger output logs configuration

object (Standard Output)

Serial, Ethernet or dataLogger output logs configuration

object (Standard Output)

Serial, Ethernet or dataLogger output logs configuration

object (Standard Output)

Serial, Ethernet or dataLogger output logs configuration

object (Standard Output)

Serial, Ethernet or dataLogger output logs configuration

object (Standard Output)

Serial, Ethernet or dataLogger output logs configuration

object (Standard Output)

Serial, Ethernet or dataLogger output logs configuration

object (Standard Output)

Serial, Ethernet or dataLogger output logs configuration

object (Standard Output)

Serial, Ethernet or dataLogger output logs configuration

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get output configuration

Returns the output configuration for the specified port.

The output configuration defines which messages have to be sent and at which rate on this port. It also defines some settings related to the port itself that applies to all output messages.

For example, you can define for each port, an output lever arm and the conditions to start generating outputs.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set output configuration

Define the output configuration for the specified port.

The output configuration defines which messages have to be sent and at which rate on this port. It also defines some settings related to the port itself that applies to all output messages.

For example, you can define for each port, an output lever arm and the conditions to start generating outputs.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

Request Body schema: application/json

You can only include the fields you would like to configure.

object (NMEA configuration)

NMEA output logs configuration

leverArm
string (outputLeverArms)
Enum: "imu" "cog" "arm1" "arm2" "arm3"

Select where the measurements should be deported

startThreshold
string (startThreshold)
Enum: "never" "powerOn" "utcValid" "positionValid"

Define the criteria to meet to start output generation. Once started, logs will continue to be generated even if the criteria isn't met anymore.

object (Standard Messages)

List of all available output logs to configure.

Deprecated Messages:

  • imuData: This message is deprecated and will be removed in future firmware releases.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get output lever arm

Returns the selected output lever arm for this port.

For each port, you can selected where the measurements have to be referenced / re-localized. The velocity and position is not the same on a boat that is experiencing some motions.

For example, at the COG (Center of Gravity) of a stationary vessel, there are very few surge/sway and heave motions. However, at the ship's bow, large vertical motions can be experienced due to pitch motion caused by waves.

Please keep in mind that only INS position/velocities/surge/sway/heave and related fields are affected by this. For instance, roll/pitch/heading obviously remains the same wherever you are on the vessel.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
"cog"

Set output lever arm

Update the selected output lever arm for this port.

For each port, you can selected where the measurements have to be referenced / re-localized. The velocity and position is not the same on a boat that is experiencing some motions.

For example, at the COG (Center of Gravity) of a stationary vessel, there are very few surge/sway and heave motions. However, at the ship's bow, large vertical motions can be experienced due to pitch motion caused by waves.

Please keep in mind that only INS position/velocities/surge/sway/heave and related fields are affected by this. For instance, roll/pitch/heading obviously remains the same wherever you are on the vessel.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

Request Body schema: application/json

All required fields have to be provided.

string (outputLeverArms)
Enum: "imu" "cog" "arm1" "arm2" "arm3"

Select where the measurements should be deported

Responses

Request samples

Content type
application/json
"cog"

Response samples

Content type
application/json
{
}

Get NMEA configuration

Returns the NMEA output configuration for this port.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set NMEA configuration

Update the NMEA output configuration for this port.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

Request Body schema: application/json

Update the NMEA output configuration for this port.

talkerId
string (nmeaTalkerId) = 2 characters

NMEA talker ID two characters prefix used to identify the type of the transmitting unit.

mode
string (nmeaMode)
Enum: "standard" "extended"

NMEA output mode:

  • standard: Limit NMEA precision to meet the 82 characters standard (for compatibility with some hardware).
  • extended: Allow sentences bigger than 82 characters to allow for greater precision.

The length of 82 characters includes the starting delimiter and the terminating <CR><LF>.

alwaysOutputTime
boolean (nmeaAlwaysOutputTime)

Set to true to include UTC time in NMEA messages even if invalid.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get output threshold

Returns the selected minimum criterial to meet to start generating data.

You can, for example, only start logging data when a valid UTC time has been received by the INS. This way, you can easily avoid logging invalid/useless data and save both time and space.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
"utcValid"

Set output threshold

Update the selected minimum criterial to meet to start generating data.

You can, for example, only start logging data when a valid UTC time has been received by the INS. This way, you can easily avoid logging invalid/useless data and save both time and space.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

Request Body schema: application/json

All required fields have to be provided.

string (startThreshold)
Enum: "never" "powerOn" "utcValid" "positionValid"

Define the criteria to meet to start output generation. Once started, logs will continue to be generated even if the criteria isn't met anymore.

Responses

Request samples

Content type
application/json
"utcValid"

Response samples

Content type
application/json
{
}

Get messages configuration

Returns an array of all available output messages with their configuration for this port.

You can get in one command the configuration of all output messages available on this device.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set messages configuration

Update the configuration for multiple output messages on this port.

You can update in one command the configuration of all messages. You just have to include in the array which messages you would like to configure.

Messages not supported by this device will be ignored.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

Request Body schema: application/json

You can only include the messages you would like to configure.

status
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

diag
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

utcTime
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

imuData
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

imuShort
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

mag
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

magCalib
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

ekfEuler
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

ekfQuat
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

ekfNav
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

ekfVelBody
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

ekfRotAccelBody
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

ekfRotAccelNed
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

shipMotion
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

shipMotionHp
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

gps1Vel
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

gps1Pos
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

gps1Hdt
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

gps1Raw
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

gps2Vel
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

gps2Pos
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

gps2Hdt
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

gps2Raw
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

odoVel
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

dvlBottomTrack
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

dvlWaterTrack
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

airData
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

usbl
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

depth
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

eventA
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

eventB
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

eventC
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

eventD
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

eventE
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

eventOutA
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

eventOutB
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

GGA
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

RMC
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

ZDA
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

HDT
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

ROT
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

GST
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

VBW
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

DPT
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

VTG
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

PSBGI
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

PSBGA
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

PSBGB
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

PRDID
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

PASHR
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

PHINF
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

PHTRO
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

PHLIN
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

PHOCT
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

INDYN
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

GGK
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

PPS
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

TSS1
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

KVH
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

PD0
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

SIMRAD1000
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

SIMRAD3000
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

SEAPATHB26
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

KMB
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

DOLOGHRP
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

AHRS500
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

ADA_01
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

AT_ITINS
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

rtcmRaw
string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get one message configuration

Returns the output configuration for a specific message.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

stdMsgId
required
string (Standard messages)
Enum: "status" "diag" "utcTime" "imuData" "imuShort" "mag" "magCalib" "ekfEuler" "ekfQuat" "ekfNav" "ekfVelBody" "ekfRotAccelBody" "ekfRotAccelNed" "shipMotion" "shipMotionHp" "gps1Vel" "gps1Pos" "gps1Hdt" "gps1Raw" "gps1Sat" "gps2Vel" "gps2Pos" "gps2Hdt" "gps2Raw" "gps2Sat" "rtcmRaw" "odoVel" "dvlBottomTrack" "dvlWaterTrack" "airData" "usbl" "depth" "eventA" "eventB" "eventC" "eventD" "eventE" "eventOutA" "eventOutB" "GGA" "RMC" "ZDA" "HDT" "ROT" "GST" "VBW" "DPT" "VTG" "GSV" "GGA" "RMC" "HDT" "VTG" "PSBGI" "PSBGA" "PSBGB" "PRDID" "PASHR" "PHINF" "PHTRO" "PHLIN" "PHOCT" "INDYN" "GGK" "PPS" "TSS1" "KVH" "PD0" "SIMRAD1000" "SIMRAD3000" "SEAPATHB26" "KMB" "DOLOGHRP" "AHRS500" "ADA_01" "AT_ITINS"
Example: ekfNav

Each message that can be generated by the INS has a unique name/identifier. You have to use this message name to get/set its configuration.

You should replace the {msgId} part of the path by a valid message name.

query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
"20ms"

Set one message configuration

Update the output configuration for a specific message.

Authorizations:
AuthToken
path Parameters
port
required
string
Enum: "comA" "comB" "comC" "comD" "comE" "eth0" "eth1" "eth2" "eth3" "eth4" "dataLogger"
Example: comA

List of all available ports on the device that can be configured excluding the CAN bus.

You should replace the {port} part of the path by a valid port name.

stdMsgId
required
string (Standard messages)
Enum: "status" "diag" "utcTime" "imuData" "imuShort" "mag" "magCalib" "ekfEuler" "ekfQuat" "ekfNav" "ekfVelBody" "ekfRotAccelBody" "ekfRotAccelNed" "shipMotion" "shipMotionHp" "gps1Vel" "gps1Pos" "gps1Hdt" "gps1Raw" "gps1Sat" "gps2Vel" "gps2Pos" "gps2Hdt" "gps2Raw" "gps2Sat" "rtcmRaw" "odoVel" "dvlBottomTrack" "dvlWaterTrack" "airData" "usbl" "depth" "eventA" "eventB" "eventC" "eventD" "eventE" "eventOutA" "eventOutB" "GGA" "RMC" "ZDA" "HDT" "ROT" "GST" "VBW" "DPT" "VTG" "GSV" "GGA" "RMC" "HDT" "VTG" "PSBGI" "PSBGA" "PSBGB" "PRDID" "PASHR" "PHINF" "PHTRO" "PHLIN" "PHOCT" "INDYN" "GGK" "PPS" "TSS1" "KVH" "PD0" "SIMRAD1000" "SIMRAD3000" "SEAPATHB26" "KMB" "DOLOGHRP" "AHRS500" "ADA_01" "AT_ITINS"
Example: ekfNav

Each message that can be generated by the INS has a unique name/identifier. You have to use this message name to get/set its configuration.

You should replace the {msgId} part of the path by a valid message name.

Request Body schema: application/json

All required fields have to be provided.

string (Standard message)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

Responses

Request samples

Content type
application/json
"20ms"

Response samples

Content type
application/json
{
}

Get CAN output configuration

Returns the output configuration for the CAN interface.

The output configuration defines which messages have to be sent and at which rate on this port. It also defines some settings related to the port itself that applies to all output messages.

For example, you can define an output lever arm and the conditions to start generating outputs.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set CAN output configuration

Define the output configuration for the CAN interface.

The output configuration defines which messages have to be sent and at which rate on this port. It also defines some settings related to the port itself that applies to all output messages.

For example, you can define, an output lever arm and the conditions to start generating outputs.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the fields you would like to configure.

leverArm
string (outputLeverArms)
Enum: "imu" "cog" "arm1" "arm2" "arm3"

Select where the measurements should be deported

startThreshold
string (startThreshold)
Enum: "never" "powerOn" "utcValid" "positionValid"

Define the criteria to meet to start output generation. Once started, logs will continue to be generated even if the criteria isn't met anymore.

object (CAN Messages)

List of all available CAN messages to configure.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get CAN output lever arm

Returns the selected output lever arm for the CAN interface.

For each port, you can selected where the measurements have to be referenced / re-localized. The velocity and position is not the same on a boat that is experiencing some motions.

For example, at the COG (Center of Gravity) of a stationary vessel, there are very few surge/sway and heave motions. However, at the ship's bow, large vertical motions can be experienced due to pitch motion caused by waves.

Please keep in mind that only INS position/velocities/surge/sway/heave and related fields are affected by this. For instance, roll/pitch/heading obviously remains the same wherever you are on the vessel.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
"cog"

Set CAN output lever arm

Update the selected output lever arm for the CAN interface.

For each port, you can selected where the measurements have to be referenced / re-localized. The velocity and position is not the same on a boat that is experiencing some motions.

For example, at the COG (Center of Gravity) of a stationary vessel, there are very few surge/sway and heave motions. However, at the ship's bow, large vertical motions can be experienced due to pitch motion caused by waves.

Please keep in mind that only INS position/velocities/surge/sway/heave and related fields are affected by this. For instance, roll/pitch/heading obviously remains the same wherever you are on the vessel.

Authorizations:
AuthToken
Request Body schema: application/json

All required fields have to be provided.

string (outputLeverArms)
Enum: "imu" "cog" "arm1" "arm2" "arm3"

Select where the measurements should be deported

Responses

Request samples

Content type
application/json
"cog"

Response samples

Content type
application/json
{
}

Get CAN output threshold

Returns the selected minimum criterial to meet to start generating data over CAN interface.

You can, for example, only start outputting data when a valid UTC time has been received by the INS. This way, you can easily avoid logging invalid/useless data and save both time and space.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
"utcValid"

Set CAN output threshold

Update the selected minimum criterial to meet to start generating data over CAN interface.

You can, for example, only start outputting data when a valid UTC time has been received by the INS. This way, you can easily avoid logging invalid/useless data and save both time and space.

Authorizations:
AuthToken
Request Body schema: application/json

All required fields have to be provided.

string (startThreshold)
Enum: "never" "powerOn" "utcValid" "positionValid"

Define the criteria to meet to start output generation. Once started, logs will continue to be generated even if the criteria isn't met anymore.

Responses

Request samples

Content type
application/json
"utcValid"

Response samples

Content type
application/json
{
}

Get CAN messages conf.

Returns an array of all available output messages with their configuration for the CAN interface.

You can get in one command the configuration of all output messages available on this device.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set CAN messages conf.

Update the configuration for multiple output messages on this port.

You can update in one command the configuration of all or some CAN messages. You just have to include in the array which messages you would like to configure.

Messages not supported by this device will be ignored.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the messages you would like to configure.

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

object (CAN message)

Single CAN message configuration

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Get one CAN message conf.

Returns the output configuration for a specific CAN message.

Authorizations:
AuthToken
path Parameters
canMsgId
required
string (CAN messages)
Enum: "status01" "status02" "status03" "utc0" "utc1" "imuInfo" "imuAccel" "imuGyro" "imuDeltaVel" "imuDeltaAngle" "ekfInfo" "ekfQuat" "ekfEuler" "ekfOrientationAcc" "ekfPos" "ekfAltitude" "ekfPosAcc" "ekfVelNed" "ekfVelNedAcc" "ekfVelBody" "autoTrackSlipCurv" "shipMotionInfo" "shipMotion0" "shipMotion1" "shipMotion2" "shipMotionHpInfo" "shipMotionHp0" "shipMotionHp1" "shipMotionHp2" "mag0" "mag1" "mag2" "odoInfo" "odoVel" "airDataInfo" "airDataAltitude" "airDataAirSpeed" "depthInfo" "depthAltitude" "gps1VelInfo" "gps1Vel" "gps1VelAcc" "gps1VelCourse" "gps1PosInfo" "gps1Pos" "gps1PosAlt" "gps1PosAcc" "gps1HdtInfo" "gps1Hdt" "gps2VelInfo" "gps2Vel" "gps2VelAcc" "gps2VelCourse" "gps2PosInfo" "gps2Pos" "gps2PosAlt" "gps2PosAcc" "gps2HdtInfo" "gps2Hdt" "eventInfoA" "eventTimeA" "eventInfoB" "eventTimeB" "eventInfoC" "eventTimeC" "eventInfoD" "eventTimeD" "eventInfoE" "eventTimeE"
Example: ekfVelNed

Each message that can be generated by the INS has a unique name/identifier. You have to use this message name to get/set its configuration.

You should replace the {msgId} part of the path by a valid message name.

query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set one CAN message conf.

Update the output configuration for a specific CAN message.

Authorizations:
AuthToken
path Parameters
canMsgId
required
string (CAN messages)
Enum: "status01" "status02" "status03" "utc0" "utc1" "imuInfo" "imuAccel" "imuGyro" "imuDeltaVel" "imuDeltaAngle" "ekfInfo" "ekfQuat" "ekfEuler" "ekfOrientationAcc" "ekfPos" "ekfAltitude" "ekfPosAcc" "ekfVelNed" "ekfVelNedAcc" "ekfVelBody" "autoTrackSlipCurv" "shipMotionInfo" "shipMotion0" "shipMotion1" "shipMotion2" "shipMotionHpInfo" "shipMotionHp0" "shipMotionHp1" "shipMotionHp2" "mag0" "mag1" "mag2" "odoInfo" "odoVel" "airDataInfo" "airDataAltitude" "airDataAirSpeed" "depthInfo" "depthAltitude" "gps1VelInfo" "gps1Vel" "gps1VelAcc" "gps1VelCourse" "gps1PosInfo" "gps1Pos" "gps1PosAlt" "gps1PosAcc" "gps1HdtInfo" "gps1Hdt" "gps2VelInfo" "gps2Vel" "gps2VelAcc" "gps2VelCourse" "gps2PosInfo" "gps2Pos" "gps2PosAlt" "gps2PosAcc" "gps2HdtInfo" "gps2Hdt" "eventInfoA" "eventTimeA" "eventInfoB" "eventTimeB" "eventInfoC" "eventTimeC" "eventInfoD" "eventTimeD" "eventInfoE" "eventTimeE"
Example: ekfVelNed

Each message that can be generated by the INS has a unique name/identifier. You have to use this message name to get/set its configuration.

You should replace the {msgId} part of the path by a valid message name.

Request Body schema: application/json

All required fields have to be provided.

id
integer <int32> [ 1 .. 536870911 ]

CAN message identifier

extended
boolean

true for extended CAN messages id (29 bits instead of 11 bits)

trigger
string (Output Trigger)
Enum: "off" "500us" "1ms" "2ms" "4ms" "5ms" "10ms" "20ms" "25ms" "40ms" "50ms" "100ms" "200ms" "500ms" "1000ms" "onChange" "syncInA" "syncInB" "syncInC" "syncInD" "syncInE"

Define criteria to output a new message, it could be either time based or event driven.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Clock

In this part, you can access settings related to input clock management. SBG Systems IMU and INS support several clock modes to easily synchronize data with GNSS time or third party equipment.

Please feel free to contact SBG Systems support team at support@sbg-systems.com if you need assistance.

Get Clock Config

Returns the device clock configuration settings.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Clock Config

Changes the device clock configuration settings.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

source
string
Enum: "none" "gnss" "eventInA" "eventInB" "eventInC" "eventInD" "eventInE"

Input signal used to synchronize the device clock.

The input signal is used to determine when to trigger the main sampling/output loop, according to the selected mode.

If gnss is selected, the device selects a GNSS input signal, if any is available. In addition, it correlates UTC information received from the associated GNSS receiver with the input signal, allowing the device to provide accurate timing information.

If no input signal is available, either because none is configured, or none is received, the device uses its internal clock in a free running mode.

mode
string
Enum: "direct" "scaled"

Input signal processing mode.

The following options are available depending on the device:

  • direct: The main sampling/output loop is directly triggered by an external clock. This external clock should thus be provided at the nominal sampling loop frequency.
  • scaled: The input clock signal is scaled to drive the main sampling/output loop. This mode is perfect to synchronize a high frequency loop (200 Hz for example) to a PPS signal (Pulse Per Second) generated by a GNSS receiver.

All SBG Systems INS devices only implement the scaled mode to output data phased with GNSS time. However, SBG Systems IMUs should offer both modes.

Please refer to the User Manual of the device to get more information about supported input clock modes and input clock frequencies.

leapSec
integer <int32> [ 0 .. 100 ]

Define the default leap second between GPS and UTC time. Once the device has a valid GNSS solution, the leap second will be updated anyway.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

DataLogger

SBG Systems High performance INS feature an embedded and powerful dataLogger.

The data logger has several operating modes that can be configured. For example, you can ask the data logger to always start logging the data right after the power is applied. You can also setup the data logger to act as a blackbox that will automatically replace older logs if the disk is full.

The data logger also uses a session name to keep logged data organized. This session name is composed of a user supplied string and, at the end, a unique 4 digits sequence number. For example, a typical session name could be MySession_0043

The data logger also offers a nice feature to handle both traditional operators and power users. You can define, in the settings, a default session name that will always be offered when a new data logger session is created.

However, you can also allow or not users to override this name directly when they start the data logger manually.

A typical use case could be during INS first installation and evaluation. It could be interesting to create data logger sessions with specific names for patch tests or calibrations. However, later on, when the INS is used in production by an operator, it could be safer to always use the same naming convention across all acquisitions.

Get Data Logger Setup

Use this path to retrieve the current data logger configuration.

Authorizations:
AuthToken
query Parameters
format
string
Enum: "compact" "pretty"
Example: format=pretty

Optional path parameter to define how to format JSON output

delta
boolean
Example: delta=true

Optional path parameter to output only settings changed from default

Responses

Response samples

Content type
application/json
{
}

Set Data Logger Setup

Use this path to change the internal data logger configuration. Any change in the data logger configuration is applied immediately and doesn't requirer a reboot.

Authorizations:
AuthToken
Request Body schema: application/json

You can only include the modules you would like to configure.

mode
string
Enum: "startOff" "startOn" "resumeState" "blackBox"

The data logger has several operating modes that are:

  • startOff, following a power up, the data logger is off
  • startOn, following a power up, the data logger starts logging data
  • resumeState, following a power up, the data logger is on if it was on previously or off otherwise
  • blackBox, the INS always logs data and then the disk is full, old logs are replaced by new ones
sessionName
string

Default name to use when a new data logger session is created.

sessionNameLocked
boolean

Set to true to forbid users change the name from default when they start a new data logger session.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Lever arms auto calibration

SBG Systems INS offer a unique feature to automatically estimate and refine GNSS lever arms and alignment installation parameters.

An INS need very accurate lever arm measurements between the IMU and the GNSS antenna to deliver optimal accurate and most importantly provide reliable measurements. It's not always easy to measure mechanical installation parameters at an accuracy better than 2 cm. It's even more complicated to precisely measure the alignment between the INS and a dual antenna GNSS system.

SBG Systems has developed a unique EFK Auto Calibration module to easily estimate automatically the mechanical installation parameter at a high level of accuracy.

This is done in two simple steps, you first have to start a new EFK auto calibration acquisition and perform specific patterns with motion dynamics. During the acquisition, you should review in real time both the progress and the estimated/refined mechanical installation parameters.

Once you have achieved the desired level of accuracy, you can apply the newly estimated settings to be used for next production acquisition.

Returns auto calibration status

Returns the current EKF auto calibration status and estimated lever arm and alignment values. You should use this route to know if a calibration is running or if a valid calibration has been applied.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/ekfAutoCal \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Start auto calibration

Initiate a new calibration acquisition used to estimate easily GNSS primary and secondary antenna lever arms.
Please be aware that any previously acquired calibration session will be lost.

Authorizations:
AuthToken
Request Body schema: application/json

You can select which parameter has to be estimated by the auto calibration module.

For instance, you can have an accurate GNSS 1 primary lever arm measurement and you just would like to estimate the secondary GNSS antenna lever arm.

If you don't specify a parameter it will be considered to be disabled.

object

GNSS 1 module auto calibration configuration

object

GNSS 2 module auto calibration configuration

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Apply auto calibration

This method is used to both stop and apply an ongoing EKF auto calibration session but also to apply parameters that have been estimated previously. You can thus easily roll back to a previous successful calibration if you are not happy with the new one.

Please review below the two behaviors for this method:

  • If an EFK auto calibration is running, it will be stopped. The device settings will then be updated with all valid estimated lever arms and alignment parameters. You can safely continue your survey acquisition without resetting the device and get optimal results.
  • If there is no ongoing calibration session, the latest estimated parameters will be applied, if any, and the EKF filter will be reboot.
Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/ekfAutoCal/apply?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Cancel auto calibration

If there is an ongoing EKF auto calibration session, it will be cancelled and the INS filter will be reset. If there was a previously recorded EKF auto calibration session it we be loaded so you can review it and even apply it if you need.

This method will never update the device settings.
Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/ekfAutoCal/cancel?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Get info status and data

This sections lists all routes that can be used to read measurements from the device, get the INS status and query the device information.

Please be aware that this API doesn't replace the sbgECom binary output logs that is the way to go to access all readings at high frequencies. This RESTful API exposes routes to provide necessary information and measurements to monitor the device health on a web interface. The returned data and information should not be used for the mission itself.

You should also query the data at low update rates (up to 5Hz) to avoid too much network activity and CPU load.

All the routes in this section are still DRAFT and will probably change in the final version.

INS Status & Health [DRAFT]

Returns a summary of the device current status and state. For instance, you can check here if the unit is behaving correctly.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/status \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Device information

Returns the device information such as the product code, serial number etc.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/info \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

INS measurements [DRAFT]

Returns a summary of the device current data and measurements such as orientation, navigation, IMU.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/data \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Network status [DRAFT]

Returns the status of all network-related functionalities

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/network \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Satellites status & info

Returns satellite information such as constellation, elevation and azimuth, and signals.

Authorizations:
AuthToken
path Parameters
gnss
required
string
Enum: "gnss1" "gnss2"
Example: gnss1

Select the GNSS module to return status / data or information.

You should replace the {gnss} part of the path by a valid gnss name.

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local./api/v1/gnss1/satInfo \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Using the data logger

High Performance INS have an internal data logger to offer a smooth and efficient post-processing workflow with Qinertia. It's also very convenient to secure acquired data and to troubleshoot the device installation.

With this API you can control all the data logger actions such as starting to log data, stopping the logging or clearing data. You can also access full data logger status to monitor it and make sure everything is working as expected.

Retrieve data logger status

Returns the current data logger status and associated information.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/dataLogger \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Create a new data logger session

Create a new data logger session given the optional session name to use or return an error if there is already a running session.

Authorizations:
AuthToken
Request Body schema: application/json

User can optionally specify a name for the new session to start. The session name should contain only valid file name characters. The characters \/?%*:|"<>. are forbidden as well as non ASCII ones.

sessionName
string [ 1 .. 24 ] characters

Session name to use for new data logger sessions

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Stop logging data and close the current session

Stop the current data logger session. If there is no running data logger session an error is returned.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/dataLogger/stop?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Format the data logger disk

Empty the whole data logger disk by removing all files and sessions. If the data logger is currently logging, the current session is stopped, the disk is cleared and a new session is automatically restarted.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/dataLogger/clear?auth=QSZXHDPG3J\
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

System

Perform general system operations such as reboot.

System Status [DRAFT]

Returns the system status itself such as if the device is booting or running etc. This request should be used to check if the device is up and running.

SHOULD BE KEEP THIS COMMAND THAT REPLACES HEARTBEAT?

Authorizations:
AuthToken

Responses

Response samples

Content type
application/json
{
}

Software reboot the device

Software reboot the device 2 seconds after this command has been issued. This method doesn't change the device settings.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/system/reboot?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

User

You can find in this section all paths used to manage users and access rights such as login/logout methods.

The API offers an efficient way to manage access rights and users to limit specific operations. For instance, a standard user can only monitor the device status but not change the settings.

The access right/authentication system is based on an authorization token as it offers both flexibility and ease of use. Once logged in, a user session is tracked and represented by the authentication token auth path parameter in subsequent API requests.

Please refer to section Authentication for more details.

Returns user details

Returns the logged user details given a valid authentication token parameter in the path.

You can also use this route with no authentication token to retrieve the default user and access rights.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/user?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Log a user in

Checks if the provided username and password are valid and if yes, returns an authentication token that can be used later on for each request that requires an authentication. SBG Systems INS have a predefined list of users that can not be changed. You can however change for each user it's password. Please refer to section Authentication. for more details.

Authorizations:
AuthToken
Request Body schema: application/json

Specify which user has to be logged in with his password credentials. You can provide an empty string for password if the user has no password set.

Please remember that passwords are transmitted in plain text.

username
required
string
Enum: "viewer" "operator" "setup" "factory"

The user to log

password
required
string

The user password

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Log the user out

Log out a user that has been previously successfully logged in. The user to logout is identified thanks to the authentication token provided in the URL parameter. Once the user has been successfully logged out, the authentication token is no more valid and should not be used in further requests.

This route can only be called with a valid authentication token.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/user/logout?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Change user password

You can change the logged user password or the password of an other user if you are currently logged as a setup or factory user.

This route can only be called with a valid authentication token.

Authorizations:
AuthToken
Request Body schema: application/json

Define the new password to use for either the currently logged user or an other user.

password
required
string

The new password to set.

username
string
Enum: "viewer" "operator" "setup" "factory"

Optionally Specify which user password should be changed if it's not the currently logged one.

Responses

Request samples

Content type
application/json
{
}

Response samples

Content type
application/json
{
}

Licenses

Manage licenses related to the hardware

Retrieve license information

Returns all licensing information and relevant devices

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/licenses \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
[
]

Upload a license file

Upload a license file for one of the registered devices

The information used to identify the target device is embedded in the license file.

Authorizations:
AuthToken
Request Body schema: multipart/form-data

The license file binary stream, in multipart/format-data content type.

string <binary>

License file.

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/licenses?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: multipart/form-data' \
  -F file=@license_xxx.lic

Response samples

Content type
application/json
{
}

Firmware

You can use this API to check current firmware status and update your device firmware.

Updating the device firmware is done in two steps, first you upload a new firmware archive and then you can install the new firmware. Once the installation step is completed, the device will reboot automatically with the new firmware.

During both the upload and installation process, you can query the device to get progress and status information.

The firmware update process is completely safe even in case of power loss.

Get current firmware info & update status

This path provides information on the current firmware such as the firmware version and compatible firmware type.

It may also be used to monitor the progress of a firmware upgrade.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/firmware \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Upload a new firmware package

Upgrading the firmware is performed in two steps :

  • Upload a firmware archive.
  • Install it.

The progress of the current operation may be monitored.

Authorizations:
AuthToken
Request Body schema: multipart/form-data

The firmware archive binary stream itself, in multipart/form-data content type.

string <binary>

Firmware archive.

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/firmware/upload?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: multipart/form-data' \
  -F file=@newFirmware.sar

Response samples

Content type
application/json
{
}

Install a firmware archive

This path may only be used after a firmware archive has been successfully uploaded. If successful, the unit automatically reboots.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request POST \
  --url http://ekinox_023000029.local/api/v1/firmware/install?auth=QSZXHDPG3J \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

Antenna

SBG Systems' INS include a GNSS antennas database based on ANTEX files. It's important to specify the right GNSS antenna in the INS configuration to achieve the best accuracy and correctly take into account the antenna height measurements.

With this API, you can query the list of supported GNSS antennas with their associated ANTEX ID to use in the device configuration.

Retrieve a collection of all antennas supported by the device.

Returns a list of all GNSS antennas that can be selected for the primary or secondary GNSS antenna. Selecting the right antenna improve the accuracy by correctly taking into account the L1/L2 offset. It is also mandatory to reference lever arms to ARP instead of APC.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/antennas \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
{
}

IMU

Navsight solution is composed of a processing unit and an external Inertial measurement Unit (IMU). Different IMUs can be connected to the Navsight processing unit and the user has to select which one is connected correct operations.

Each IMUs has specific accuracies and/or packaging information such as a list of IMU reference points or the correct IMU alignment to apply.

With this API, you can retrieve the list of IMUs supported and available with associated IMU name/id to use in the device settings.

Retrieve the list of IMU models supported by this device.

Returns the list of IMU models that is supported and can be selected for this unit.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/imus \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
[
]

Messages

You can ask the device the list of supported output messages. With each message, you can also get additional information such as witch output triggers are available, for which motion profile this message make sense, ...

List available output messages

Returns the list of output messages support by this product as well as associated information.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/messages/std \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
[
]

List available CAN messages

Returns the list of CAN messages support by this product as well as associated information.

Authorizations:
AuthToken

Responses

Request samples

# URL request example using curl tool
# with all mandatory and optional path parameters

curl --request GET \
  --url http://ekinox_023000029.local/api/v1/messages/can \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json'

Response samples

Content type
application/json
[
]

NTRIP

In addition to NTRIP settings, it is possible to request a list of NTRIP mountpoints from the device. This allows testing NTRIP settings before applying them.

Query a list of NTRIP mointpoints

Returns a list of NTRIP mountpoints

Authorizations:
AuthToken
query Parameters
hostname
required
string
Example: hostname=caster.centipede.fr

Host name or IP address of an NTRIP caster

port
integer [ 1 .. 65535 ]
Default: 2101
Example: port=2102

Port of an NTRIP caster

authEnabled
boolean
Default: false
Example: authEnabled=true

Enable authentication to an NTRIP caster

username
string
Example: username=user

Username used for authentication

password
string
Example: password=pass

Password used for authentication

encryptionEnabled
boolean
Default: false
Example: encryptionEnabled=true

Enable SSL/TLS encryption to an NTRIP caster

Note that SSL/TLS support is provided for encryption only and doesn't provide authentication services.

Responses

Request samples

# URL get example over a serial port using sbgEComApi bash tool

sbgEComApi -s /dev/ttyUSB2 -r 921600 -g -q "hostname=caster.centipede.fr" /api/v1/network/ntrip/mountpoints

Response samples

Content type
application/json
[
]