HTTP API Reference Guide

This reference guide documents the interface for HTTP API and is accessible via /api/v1 on the sensor hosted HTTP server.

The sensor can be queried and configured using an HTTP GET requests. This can be done using several different tools such as HTTPie, cURL, Advanced REST Client, etc.

Here is an example using curl command:

$ curl --request GET --url http://169.254.198.184/api/v1/sensor/metadata/lidar_intrinsics

 {
   "lidar_to_sensor_transform": [-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 36.18, 0, 0, 0, 1]
 }

Sensor Metadata

GET /api/v1/sensor/metadata/sensor_info

GET 169.254.198.184/api/v1/sensor/metadata/sensor_info

Get the sensor information

http

GET /api/v1/sensor/metadata/sensor_info HTTP/1.1
 Host: 169.254.198.184

 HTTP/1.1 200 OK
 content-length: 283
 content-type: application/json

 {
   "build_date": "2022-07-29T23:56:15Z",
   "build_rev": "v2.4.0-omega.2",
   "image_rev": "ousteros-image-prod-aries-v2.4.0-omega.2+20220730010801.staging",
   "initialization_id": 9599937,
   "prod_line": "OS-1-128",
   "prod_pn": "840-103575-06",
   "prod_sn": "122201000998",
   "status": "RUNNING"
}

curl

curl -i http://nohost/api/v1/sensor/metadata/sensor_info --data-raw 'HTTP/1.1 200 OK

 content-length: 283

 content-type: application/json



 {

   "build_date": "2022-07-29T23:56:15Z",

   "build_rev": "v2.4.0-omega.2",

   "image_rev": "ousteros-image-prod-aries-v2.4.0-omega.2+20220730010801.staging",

   "initialization_id": 9599937,

   "prod_line": "OS-1-128",

   "prod_pn": "840-103575-06",

   "prod_sn": "122201000998",

   "status": "RUNNING"

}'

httpie

echo 'HTTP/1.1 200 OK

 content-length: 283

 content-type: application/json



 {

   "build_date": "2022-07-29T23:56:15Z",

   "build_rev": "v2.4.0-omega.2",

   "image_rev": "ousteros-image-prod-aries-v2.4.0-omega.2+20220730010801.staging",

   "initialization_id": 9599937,

   "prod_line": "OS-1-128",

   "prod_pn": "840-103575-06",

   "prod_sn": "122201000998",

   "status": "RUNNING"

}' | http http://nohost/api/v1/sensor/metadata/sensor_info

python-requests

requests.get('http://nohost/api/v1/sensor/metadata/sensor_info', data='HTTP/1.1 200 OK\r\n\n content-length: 283\r\n\n content-type: application/json\r\n\n\r\n\n {\r\n\n   "build_date": "2022-07-29T23:56:15Z",\r\n\n   "build_rev": "v2.4.0-omega.2",\r\n\n   "image_rev": "ousteros-image-prod-aries-v2.4.0-omega.2+20220730010801.staging",\r\n\n   "initialization_id": 9599937,\r\n\n   "prod_line": "OS-1-128",\r\n\n   "prod_pn": "840-103575-06",\r\n\n   "prod_sn": "122201000998",\r\n\n   "status": "RUNNING"\r\n\n}')

statuscode: 200 No error

Description: Returns JSON-formatted response that includes serial number, product number, FW image revision and sensor status along with other parameters as shown is provided.

GET /api/v1/sensor/metadata/lidar_data_format

GET 169.254.198.184/api/v1/sensor/metadata/lidar_data_format

Get the sensor lidar data format

http

GET /api/v1/sensor/metadata/lidar_data_format HTTP/1.1
  Host: 169.254.198.184

  HTTP/1.1 200 OK
  content-type: application/json
  content-length: 661

  {
     "column_window": [0, 1023],
     "columns_per_frame": 1024,
     "columns_per_packet": 16,
     "pixel_shift_by_row": [
       12, 4, -4, -12, 12, 4, -4,
      -12, 12, 4, -4, -12, 12, 4,
      -4, -12, 12, 4, -4, -12, 12,
       4, -4, -12, 12, 4, -4, -12,
       12, 4, -4, -12, 12, 4, -4,
      -12, 12, 4, -4, -12, 12, 4,
      -4, -12, 12, 4, -4, -12, 12,
       4, -4, -12, 12, 4, -4, -12,
       12, 4, -4, -12, 12, 4, -4,
      -12, 12, 4, -4, -12, 12, 4,
      -4, -12, 12, 4, -4, -12, 12,
       4, -4, -12, 12, 4, -4, -12,
       12, 4, -4, -12, 12, 4, -4,
      -12, 12, 4, -4, -12, 12, 4,
       4, -12, 12, 4, -4, -12, 12,
       4, -4, -12, 12, 4, -4, -12,
       12, 4, -4, -12, 12, 4, -4,
      -12, 12, 4, -4, -12, 12, 4,
      -4, -12],
     "pixels_per_column": 128,
     "udp_profile_imu": "LEGACY",
     "udp_profile_lidar": "LEGACY"
}

curl

curl -i http://nohost/api/v1/sensor/metadata/lidar_data_format --data-raw 'HTTP/1.1 200 OK

  content-type: application/json

  content-length: 661



  {

     "column_window": [0, 1023],

     "columns_per_frame": 1024,

     "columns_per_packet": 16,

     "pixel_shift_by_row": [

       12, 4, -4, -12, 12, 4, -4,

      -12, 12, 4, -4, -12, 12, 4,

      -4, -12, 12, 4, -4, -12, 12,

       4, -4, -12, 12, 4, -4, -12,

       12, 4, -4, -12, 12, 4, -4,

      -12, 12, 4, -4, -12, 12, 4,

      -4, -12, 12, 4, -4, -12, 12,

       4, -4, -12, 12, 4, -4, -12,

       12, 4, -4, -12, 12, 4, -4,

      -12, 12, 4, -4, -12, 12, 4,

      -4, -12, 12, 4, -4, -12, 12,

       4, -4, -12, 12, 4, -4, -12,

       12, 4, -4, -12, 12, 4, -4,

      -12, 12, 4, -4, -12, 12, 4,

       4, -12, 12, 4, -4, -12, 12,

       4, -4, -12, 12, 4, -4, -12,

       12, 4, -4, -12, 12, 4, -4,

      -12, 12, 4, -4, -12, 12, 4,

      -4, -12],

     "pixels_per_column": 128,

     "udp_profile_imu": "LEGACY",

     "udp_profile_lidar": "LEGACY"

}'

httpie

echo 'HTTP/1.1 200 OK

  content-type: application/json

  content-length: 661



  {

     "column_window": [0, 1023],

     "columns_per_frame": 1024,

     "columns_per_packet": 16,

     "pixel_shift_by_row": [

       12, 4, -4, -12, 12, 4, -4,

      -12, 12, 4, -4, -12, 12, 4,

      -4, -12, 12, 4, -4, -12, 12,

       4, -4, -12, 12, 4, -4, -12,

       12, 4, -4, -12, 12, 4, -4,

      -12, 12, 4, -4, -12, 12, 4,

      -4, -12, 12, 4, -4, -12, 12,

       4, -4, -12, 12, 4, -4, -12,

       12, 4, -4, -12, 12, 4, -4,

      -12, 12, 4, -4, -12, 12, 4,

      -4, -12, 12, 4, -4, -12, 12,

       4, -4, -12, 12, 4, -4, -12,

       12, 4, -4, -12, 12, 4, -4,

      -12, 12, 4, -4, -12, 12, 4,

       4, -12, 12, 4, -4, -12, 12,

       4, -4, -12, 12, 4, -4, -12,

       12, 4, -4, -12, 12, 4, -4,

      -12, 12, 4, -4, -12, 12, 4,

      -4, -12],

     "pixels_per_column": 128,

     "udp_profile_imu": "LEGACY",

     "udp_profile_lidar": "LEGACY"

}' | http http://nohost/api/v1/sensor/metadata/lidar_data_format

python-requests

requests.get('http://nohost/api/v1/sensor/metadata/lidar_data_format', data='HTTP/1.1 200 OK\r\n\n  content-type: application/json\r\n\n  content-length: 661\r\n\n\r\n\n  {\r\n\n     "column_window": [0, 1023],\r\n\n     "columns_per_frame": 1024,\r\n\n     "columns_per_packet": 16,\r\n\n     "pixel_shift_by_row": [\r\n\n       12, 4, -4, -12, 12, 4, -4,\r\n\n      -12, 12, 4, -4, -12, 12, 4,\r\n\n      -4, -12, 12, 4, -4, -12, 12,\r\n\n       4, -4, -12, 12, 4, -4, -12,\r\n\n       12, 4, -4, -12, 12, 4, -4,\r\n\n      -12, 12, 4, -4, -12, 12, 4,\r\n\n      -4, -12, 12, 4, -4, -12, 12,\r\n\n       4, -4, -12, 12, 4, -4, -12,\r\n\n       12, 4, -4, -12, 12, 4, -4,\r\n\n      -12, 12, 4, -4, -12, 12, 4,\r\n\n      -4, -12, 12, 4, -4, -12, 12,\r\n\n       4, -4, -12, 12, 4, -4, -12,\r\n\n       12, 4, -4, -12, 12, 4, -4,\r\n\n      -12, 12, 4, -4, -12, 12, 4,\r\n\n       4, -12, 12, 4, -4, -12, 12,\r\n\n       4, -4, -12, 12, 4, -4, -12,\r\n\n       12, 4, -4, -12, 12, 4, -4,\r\n\n      -12, 12, 4, -4, -12, 12, 4,\r\n\n      -4, -12],\r\n\n     "pixels_per_column": 128,\r\n\n     "udp_profile_imu": "LEGACY",\r\n\n     "udp_profile_lidar": "LEGACY"\r\n\n}')

statuscode: 200 No error

Description: Returns JSON-formatted response that describes the structure of a lidar packet.

columns_per_frame: Number of measurement columns per frame. This can be 512, 1024, or 2048, depending upon the set lidar mode.

columns_per_packet: Number of measurement blocks contained in a single lidar packet. Currently in v2.2.0 and earlier, this is 16. Note: This is not user configurable.

pixel_shift_by_row: Offset in terms of pixel count. Can be used to destagger image. Varies by lidar mode. Length of this array is equal to the number of channels of the sensor.

pixels_per_column: Number of channels of the sensor.

column_window: Index of measurement blocks that are active. Default is [0, lidar_mode-1], e.g. [0,1023]. If there is an azimuth window set, this parameter will reflect which measurement blocks of data are within the region of interest.

udp_profile_lidar: Lidar data profile format. Default LEGACY.

udp_profile_lidar: Lidar data profile format. Default LEGACY.

udp_profile_imu: IMU data profile format. Default LEGACY.

NOTE: This command only works when the sensor is in RUNNING status.

GET /api/v1/sensor/metadata/beam_intrinsics

GET 169.254.198.184/api/v1/sensor/metadata/beam_intrinsics

Get the sensor beam intrinsics

http

GET /api/v1/sensor/metadata/beam_intrinsics HTTP/1.1
Host: 169.254.198.184

HTTP/1.1 200 OK
content-type: application/json
content-length: 4506

 {
   "beam_azimuth_angles": [4.2300000000000004, 1.4099999999999999, -1.3999999999999999, -4.21,
     4.2199999999999998, 1.4199999999999999, -1.4099999999999999, -4.2199999999999998, 4.2300000000000004,
     1.4099999999999999, -1.4199999999999999, -4.21, 4.2300000000000004, 1.4199999999999999,
    -1.3999999999999999, -4.2000000000000002, 4.2300000000000004, 1.4099999999999999, -1.3899999999999999,
    -4.21, 4.25, 1.4299999999999999, -1.4099999999999999, -4.2199999999999998, 4.2400000000000002,
     1.4399999999999999, -1.4099999999999999, -4.2199999999999998, 4.2300000000000004, 1.4199999999999999,
    -1.3799999999999999, -4.2199999999999998, 4.2400000000000002, 1.4199999999999999, -1.3999999999999999,
    -4.2300000000000004, 4.2599999999999998, 1.4399999999999999, -1.4099999999999999, -4.2300000000000004,
     4.2400000000000002, 1.4399999999999999, -1.4099999999999999, -4.2300000000000004, 4.2400000000000002,
     1.4199999999999999, -1.4099999999999999, -4.2400000000000002, 4.25, 1.4199999999999999,
    -1.3899999999999999, -4.2199999999999998, 4.25, 1.4099999999999999, -1.3999999999999999,
    -4.2300000000000004, 4.2400000000000002, 1.4299999999999999, -1.4099999999999999, -4.2300000000000004,
     4.2400000000000002, 1.4199999999999999, -1.4099999999999999, -4.2300000000000004, 4.25,
     1.4199999999999999, -1.3999999999999999, -4.2400000000000002, 4.2400000000000002, 1.4399999999999999,
    -1.3999999999999999, -4.2400000000000002, 4.2400000000000002, 1.4299999999999999, -1.3999999999999999,
    -4.2400000000000002, 4.25, 1.4299999999999999, -1.4099999999999999, -4.2400000000000002, 4.25,
     1.4199999999999999, -1.4199999999999999, -4.2199999999999998, 4.2400000000000002, 1.4299999999999999,
    -1.3999999999999999, -4.2400000000000002, 4.25, 1.4399999999999999, -1.4099999999999999,
    -4.2400000000000002, 4.25, 1.4199999999999999, -1.4099999999999999, -4.2400000000000002, 4.25,
     1.4199999999999999, -1.4099999999999999, -4.25, 4.2599999999999998, 1.4299999999999999,
    -1.4099999999999999, -4.2599999999999998, 4.2699999999999996, 1.4299999999999999, -1.3999999999999999,
    -4.2400000000000002, 4.25, 1.4299999999999999, -1.3999999999999999, -4.2400000000000002,
     4.2599999999999998, 1.4199999999999999, -1.3999999999999999, -4.25, 4.2599999999999998,
     1.4299999999999999, -1.4099999999999999, -4.2599999999999998, 4.2599999999999998, 1.4199999999999999,
    -1.4199999999999999, -4.2599999999999998, 4.25, 1.4199999999999999, -1.4199999999999999,
    -4.2699999999999996],
   "beam_altitude_angles": [21.010000000000002, 20.719999999999999,
     20.420000000000002, 20.100000000000001, 19.789999999999999, 19.48, 19.170000000000002, 18.84,
     18.550000000000001, 18.219999999999999, 17.899999999999999, 17.600000000000001, 17.27,
     16.960000000000001, 16.649999999999999, 16.32, 15.970000000000001, 15.65, 15.34, 15.01, 14.67, 14.35,
     14.01, 13.68, 13.33, 13.02, 12.67, 12.34, 11.99, 11.65, 11.33, 10.98, 10.640000000000001,
     10.279999999999999, 9.9499999999999993, 9.6099999999999994, 9.2699999999999996, 8.9199999999999999,
     8.5700000000000003, 8.2300000000000004, 7.8799999999999999, 7.54, 7.1799999999999997,
     6.8399999999999999, 6.4699999999999998, 6.1299999999999999, 5.7800000000000002, 5.4500000000000002,
     5.0899999999999999, 4.7300000000000004, 4.4100000000000001, 4.0499999999999998, 3.6899999999999999,
     3.3199999999999998, 2.98, 2.6299999999999999, 2.27, 1.9299999999999999, 1.5700000000000001, 1.22,
     0.84999999999999998, 0.5, 0.14999999999999999, -0.19, -0.55000000000000004, -0.92000000000000004,
    -1.25, -1.6299999999999999, -1.98,-2.3100000000000001, -2.6699999999999999, -3.04,
    -3.3999999999999999, -3.7400000000000002, -4.0899999999999999, -4.4500000000000002,
    -4.7999999999999998, -5.1500000000000004, -5.5, -5.8700000000000001, -6.21, -6.5700000000000003,
    -6.9100000000000001, -7.25, -7.6200000000000001, -7.9500000000000002, -8.3000000000000007,
    -8.6500000000000004, -9.0099999999999998, -9.3499999999999996, -9.6899999999999995,
    -10.050000000000001, -10.390000000000001, -10.74, -11.09, -11.42, -11.77, -12.109999999999999,
    -12.449999999999999, -12.800000000000001, -13.140000000000001, -13.470000000000001,
    -13.81, -14.15, -14.48, -14.82, -15.130000000000001, -15.470000000000001, -15.81,
    -16.149999999999999, -16.48, -16.800000000000001, -17.149999999999999, -17.48, -17.789999999999999,
    -18.120000000000001, -18.469999999999999, -18.77, -19.09, -19.420000000000002, -19.73,
    -20.059999999999999, -20.359999999999999, -20.690000000000001, -21, -21.32, -21.620000000000001,
    -21.940000000000001],
   "lidar_origin_to_beam_origin_mm": 15.805999999999999
 }

curl

curl -i http://169.254.198.184/api/v1/sensor/metadata/beam_intrinsics --data-raw 'HTTP/1.1 200 OK

content-type: application/json

content-length: 4506



 {

   "beam_azimuth_angles": [4.2300000000000004, 1.4099999999999999, -1.3999999999999999, -4.21,

     4.2199999999999998, 1.4199999999999999, -1.4099999999999999, -4.2199999999999998, 4.2300000000000004,

     1.4099999999999999, -1.4199999999999999, -4.21, 4.2300000000000004, 1.4199999999999999,

    -1.3999999999999999, -4.2000000000000002, 4.2300000000000004, 1.4099999999999999, -1.3899999999999999,

    -4.21, 4.25, 1.4299999999999999, -1.4099999999999999, -4.2199999999999998, 4.2400000000000002,

     1.4399999999999999, -1.4099999999999999, -4.2199999999999998, 4.2300000000000004, 1.4199999999999999,

    -1.3799999999999999, -4.2199999999999998, 4.2400000000000002, 1.4199999999999999, -1.3999999999999999,

    -4.2300000000000004, 4.2599999999999998, 1.4399999999999999, -1.4099999999999999, -4.2300000000000004,

     4.2400000000000002, 1.4399999999999999, -1.4099999999999999, -4.2300000000000004, 4.2400000000000002,

     1.4199999999999999, -1.4099999999999999, -4.2400000000000002, 4.25, 1.4199999999999999,

    -1.3899999999999999, -4.2199999999999998, 4.25, 1.4099999999999999, -1.3999999999999999,

    -4.2300000000000004, 4.2400000000000002, 1.4299999999999999, -1.4099999999999999, -4.2300000000000004,

     4.2400000000000002, 1.4199999999999999, -1.4099999999999999, -4.2300000000000004, 4.25,

     1.4199999999999999, -1.3999999999999999, -4.2400000000000002, 4.2400000000000002, 1.4399999999999999,

    -1.3999999999999999, -4.2400000000000002, 4.2400000000000002, 1.4299999999999999, -1.3999999999999999,

    -4.2400000000000002, 4.25, 1.4299999999999999, -1.4099999999999999, -4.2400000000000002, 4.25,

     1.4199999999999999, -1.4199999999999999, -4.2199999999999998, 4.2400000000000002, 1.4299999999999999,

    -1.3999999999999999, -4.2400000000000002, 4.25, 1.4399999999999999, -1.4099999999999999,

    -4.2400000000000002, 4.25, 1.4199999999999999, -1.4099999999999999, -4.2400000000000002, 4.25,

     1.4199999999999999, -1.4099999999999999, -4.25, 4.2599999999999998, 1.4299999999999999,

    -1.4099999999999999, -4.2599999999999998, 4.2699999999999996, 1.4299999999999999, -1.3999999999999999,

    -4.2400000000000002, 4.25, 1.4299999999999999, -1.3999999999999999, -4.2400000000000002,

     4.2599999999999998, 1.4199999999999999, -1.3999999999999999, -4.25, 4.2599999999999998,

     1.4299999999999999, -1.4099999999999999, -4.2599999999999998, 4.2599999999999998, 1.4199999999999999,

    -1.4199999999999999, -4.2599999999999998, 4.25, 1.4199999999999999, -1.4199999999999999,

    -4.2699999999999996],

   "beam_altitude_angles": [21.010000000000002, 20.719999999999999,

     20.420000000000002, 20.100000000000001, 19.789999999999999, 19.48, 19.170000000000002, 18.84,

     18.550000000000001, 18.219999999999999, 17.899999999999999, 17.600000000000001, 17.27,

     16.960000000000001, 16.649999999999999, 16.32, 15.970000000000001, 15.65, 15.34, 15.01, 14.67, 14.35,

     14.01, 13.68, 13.33, 13.02, 12.67, 12.34, 11.99, 11.65, 11.33, 10.98, 10.640000000000001,

     10.279999999999999, 9.9499999999999993, 9.6099999999999994, 9.2699999999999996, 8.9199999999999999,

     8.5700000000000003, 8.2300000000000004, 7.8799999999999999, 7.54, 7.1799999999999997,

     6.8399999999999999, 6.4699999999999998, 6.1299999999999999, 5.7800000000000002, 5.4500000000000002,

     5.0899999999999999, 4.7300000000000004, 4.4100000000000001, 4.0499999999999998, 3.6899999999999999,

     3.3199999999999998, 2.98, 2.6299999999999999, 2.27, 1.9299999999999999, 1.5700000000000001, 1.22,

     0.84999999999999998, 0.5, 0.14999999999999999, -0.19, -0.55000000000000004, -0.92000000000000004,

    -1.25, -1.6299999999999999, -1.98,-2.3100000000000001, -2.6699999999999999, -3.04,

    -3.3999999999999999, -3.7400000000000002, -4.0899999999999999, -4.4500000000000002,

    -4.7999999999999998, -5.1500000000000004, -5.5, -5.8700000000000001, -6.21, -6.5700000000000003,

    -6.9100000000000001, -7.25, -7.6200000000000001, -7.9500000000000002, -8.3000000000000007,

    -8.6500000000000004, -9.0099999999999998, -9.3499999999999996, -9.6899999999999995,

    -10.050000000000001, -10.390000000000001, -10.74, -11.09, -11.42, -11.77, -12.109999999999999,

    -12.449999999999999, -12.800000000000001, -13.140000000000001, -13.470000000000001,

    -13.81, -14.15, -14.48, -14.82, -15.130000000000001, -15.470000000000001, -15.81,

    -16.149999999999999, -16.48, -16.800000000000001, -17.149999999999999, -17.48, -17.789999999999999,

    -18.120000000000001, -18.469999999999999, -18.77, -19.09, -19.420000000000002, -19.73,

    -20.059999999999999, -20.359999999999999, -20.690000000000001, -21, -21.32, -21.620000000000001,

    -21.940000000000001],

   "lidar_origin_to_beam_origin_mm": 15.805999999999999

 }'

httpie

echo 'HTTP/1.1 200 OK

content-type: application/json

content-length: 4506



 {

   "beam_azimuth_angles": [4.2300000000000004, 1.4099999999999999, -1.3999999999999999, -4.21,

     4.2199999999999998, 1.4199999999999999, -1.4099999999999999, -4.2199999999999998, 4.2300000000000004,

     1.4099999999999999, -1.4199999999999999, -4.21, 4.2300000000000004, 1.4199999999999999,

    -1.3999999999999999, -4.2000000000000002, 4.2300000000000004, 1.4099999999999999, -1.3899999999999999,

    -4.21, 4.25, 1.4299999999999999, -1.4099999999999999, -4.2199999999999998, 4.2400000000000002,

     1.4399999999999999, -1.4099999999999999, -4.2199999999999998, 4.2300000000000004, 1.4199999999999999,

    -1.3799999999999999, -4.2199999999999998, 4.2400000000000002, 1.4199999999999999, -1.3999999999999999,

    -4.2300000000000004, 4.2599999999999998, 1.4399999999999999, -1.4099999999999999, -4.2300000000000004,

     4.2400000000000002, 1.4399999999999999, -1.4099999999999999, -4.2300000000000004, 4.2400000000000002,

     1.4199999999999999, -1.4099999999999999, -4.2400000000000002, 4.25, 1.4199999999999999,

    -1.3899999999999999, -4.2199999999999998, 4.25, 1.4099999999999999, -1.3999999999999999,

    -4.2300000000000004, 4.2400000000000002, 1.4299999999999999, -1.4099999999999999, -4.2300000000000004,

     4.2400000000000002, 1.4199999999999999, -1.4099999999999999, -4.2300000000000004, 4.25,

     1.4199999999999999, -1.3999999999999999, -4.2400000000000002, 4.2400000000000002, 1.4399999999999999,

    -1.3999999999999999, -4.2400000000000002, 4.2400000000000002, 1.4299999999999999, -1.3999999999999999,

    -4.2400000000000002, 4.25, 1.4299999999999999, -1.4099999999999999, -4.2400000000000002, 4.25,

     1.4199999999999999, -1.4199999999999999, -4.2199999999999998, 4.2400000000000002, 1.4299999999999999,

    -1.3999999999999999, -4.2400000000000002, 4.25, 1.4399999999999999, -1.4099999999999999,

    -4.2400000000000002, 4.25, 1.4199999999999999, -1.4099999999999999, -4.2400000000000002, 4.25,

     1.4199999999999999, -1.4099999999999999, -4.25, 4.2599999999999998, 1.4299999999999999,

    -1.4099999999999999, -4.2599999999999998, 4.2699999999999996, 1.4299999999999999, -1.3999999999999999,

    -4.2400000000000002, 4.25, 1.4299999999999999, -1.3999999999999999, -4.2400000000000002,

     4.2599999999999998, 1.4199999999999999, -1.3999999999999999, -4.25, 4.2599999999999998,

     1.4299999999999999, -1.4099999999999999, -4.2599999999999998, 4.2599999999999998, 1.4199999999999999,

    -1.4199999999999999, -4.2599999999999998, 4.25, 1.4199999999999999, -1.4199999999999999,

    -4.2699999999999996],

   "beam_altitude_angles": [21.010000000000002, 20.719999999999999,

     20.420000000000002, 20.100000000000001, 19.789999999999999, 19.48, 19.170000000000002, 18.84,

     18.550000000000001, 18.219999999999999, 17.899999999999999, 17.600000000000001, 17.27,

     16.960000000000001, 16.649999999999999, 16.32, 15.970000000000001, 15.65, 15.34, 15.01, 14.67, 14.35,

     14.01, 13.68, 13.33, 13.02, 12.67, 12.34, 11.99, 11.65, 11.33, 10.98, 10.640000000000001,

     10.279999999999999, 9.9499999999999993, 9.6099999999999994, 9.2699999999999996, 8.9199999999999999,

     8.5700000000000003, 8.2300000000000004, 7.8799999999999999, 7.54, 7.1799999999999997,

     6.8399999999999999, 6.4699999999999998, 6.1299999999999999, 5.7800000000000002, 5.4500000000000002,

     5.0899999999999999, 4.7300000000000004, 4.4100000000000001, 4.0499999999999998, 3.6899999999999999,

     3.3199999999999998, 2.98, 2.6299999999999999, 2.27, 1.9299999999999999, 1.5700000000000001, 1.22,

     0.84999999999999998, 0.5, 0.14999999999999999, -0.19, -0.55000000000000004, -0.92000000000000004,

    -1.25, -1.6299999999999999, -1.98,-2.3100000000000001, -2.6699999999999999, -3.04,

    -3.3999999999999999, -3.7400000000000002, -4.0899999999999999, -4.4500000000000002,

    -4.7999999999999998, -5.1500000000000004, -5.5, -5.8700000000000001, -6.21, -6.5700000000000003,

    -6.9100000000000001, -7.25, -7.6200000000000001, -7.9500000000000002, -8.3000000000000007,

    -8.6500000000000004, -9.0099999999999998, -9.3499999999999996, -9.6899999999999995,

    -10.050000000000001, -10.390000000000001, -10.74, -11.09, -11.42, -11.77, -12.109999999999999,

    -12.449999999999999, -12.800000000000001, -13.140000000000001, -13.470000000000001,

    -13.81, -14.15, -14.48, -14.82, -15.130000000000001, -15.470000000000001, -15.81,

    -16.149999999999999, -16.48, -16.800000000000001, -17.149999999999999, -17.48, -17.789999999999999,

    -18.120000000000001, -18.469999999999999, -18.77, -19.09, -19.420000000000002, -19.73,

    -20.059999999999999, -20.359999999999999, -20.690000000000001, -21, -21.32, -21.620000000000001,

    -21.940000000000001],

   "lidar_origin_to_beam_origin_mm": 15.805999999999999

 }' | http http://169.254.198.184/api/v1/sensor/metadata/beam_intrinsics

python-requests

requests.get('http://169.254.198.184/api/v1/sensor/metadata/beam_intrinsics', data='HTTP/1.1 200 OK\r\n\ncontent-type: application/json\r\n\ncontent-length: 4506\r\n\n\r\n\n {\r\n\n   "beam_azimuth_angles": [4.2300000000000004, 1.4099999999999999, -1.3999999999999999, -4.21,\r\n\n     4.2199999999999998, 1.4199999999999999, -1.4099999999999999, -4.2199999999999998, 4.2300000000000004,\r\n\n     1.4099999999999999, -1.4199999999999999, -4.21, 4.2300000000000004, 1.4199999999999999,\r\n\n    -1.3999999999999999, -4.2000000000000002, 4.2300000000000004, 1.4099999999999999, -1.3899999999999999,\r\n\n    -4.21, 4.25, 1.4299999999999999, -1.4099999999999999, -4.2199999999999998, 4.2400000000000002,\r\n\n     1.4399999999999999, -1.4099999999999999, -4.2199999999999998, 4.2300000000000004, 1.4199999999999999,\r\n\n    -1.3799999999999999, -4.2199999999999998, 4.2400000000000002, 1.4199999999999999, -1.3999999999999999,\r\n\n    -4.2300000000000004, 4.2599999999999998, 1.4399999999999999, -1.4099999999999999, -4.2300000000000004,\r\n\n     4.2400000000000002, 1.4399999999999999, -1.4099999999999999, -4.2300000000000004, 4.2400000000000002,\r\n\n     1.4199999999999999, -1.4099999999999999, -4.2400000000000002, 4.25, 1.4199999999999999,\r\n\n    -1.3899999999999999, -4.2199999999999998, 4.25, 1.4099999999999999, -1.3999999999999999,\r\n\n    -4.2300000000000004, 4.2400000000000002, 1.4299999999999999, -1.4099999999999999, -4.2300000000000004,\r\n\n     4.2400000000000002, 1.4199999999999999, -1.4099999999999999, -4.2300000000000004, 4.25,\r\n\n     1.4199999999999999, -1.3999999999999999, -4.2400000000000002, 4.2400000000000002, 1.4399999999999999,\r\n\n    -1.3999999999999999, -4.2400000000000002, 4.2400000000000002, 1.4299999999999999, -1.3999999999999999,\r\n\n    -4.2400000000000002, 4.25, 1.4299999999999999, -1.4099999999999999, -4.2400000000000002, 4.25,\r\n\n     1.4199999999999999, -1.4199999999999999, -4.2199999999999998, 4.2400000000000002, 1.4299999999999999,\r\n\n    -1.3999999999999999, -4.2400000000000002, 4.25, 1.4399999999999999, -1.4099999999999999,\r\n\n    -4.2400000000000002, 4.25, 1.4199999999999999, -1.4099999999999999, -4.2400000000000002, 4.25,\r\n\n     1.4199999999999999, -1.4099999999999999, -4.25, 4.2599999999999998, 1.4299999999999999,\r\n\n    -1.4099999999999999, -4.2599999999999998, 4.2699999999999996, 1.4299999999999999, -1.3999999999999999,\r\n\n    -4.2400000000000002, 4.25, 1.4299999999999999, -1.3999999999999999, -4.2400000000000002,\r\n\n     4.2599999999999998, 1.4199999999999999, -1.3999999999999999, -4.25, 4.2599999999999998,\r\n\n     1.4299999999999999, -1.4099999999999999, -4.2599999999999998, 4.2599999999999998, 1.4199999999999999,\r\n\n    -1.4199999999999999, -4.2599999999999998, 4.25, 1.4199999999999999, -1.4199999999999999,\r\n\n    -4.2699999999999996],\r\n\n   "beam_altitude_angles": [21.010000000000002, 20.719999999999999,\r\n\n     20.420000000000002, 20.100000000000001, 19.789999999999999, 19.48, 19.170000000000002, 18.84,\r\n\n     18.550000000000001, 18.219999999999999, 17.899999999999999, 17.600000000000001, 17.27,\r\n\n     16.960000000000001, 16.649999999999999, 16.32, 15.970000000000001, 15.65, 15.34, 15.01, 14.67, 14.35,\r\n\n     14.01, 13.68, 13.33, 13.02, 12.67, 12.34, 11.99, 11.65, 11.33, 10.98, 10.640000000000001,\r\n\n     10.279999999999999, 9.9499999999999993, 9.6099999999999994, 9.2699999999999996, 8.9199999999999999,\r\n\n     8.5700000000000003, 8.2300000000000004, 7.8799999999999999, 7.54, 7.1799999999999997,\r\n\n     6.8399999999999999, 6.4699999999999998, 6.1299999999999999, 5.7800000000000002, 5.4500000000000002,\r\n\n     5.0899999999999999, 4.7300000000000004, 4.4100000000000001, 4.0499999999999998, 3.6899999999999999,\r\n\n     3.3199999999999998, 2.98, 2.6299999999999999, 2.27, 1.9299999999999999, 1.5700000000000001, 1.22,\r\n\n     0.84999999999999998, 0.5, 0.14999999999999999, -0.19, -0.55000000000000004, -0.92000000000000004,\r\n\n    -1.25, -1.6299999999999999, -1.98,-2.3100000000000001, -2.6699999999999999, -3.04,\r\n\n    -3.3999999999999999, -3.7400000000000002, -4.0899999999999999, -4.4500000000000002,\r\n\n    -4.7999999999999998, -5.1500000000000004, -5.5, -5.8700000000000001, -6.21, -6.5700000000000003,\r\n\n    -6.9100000000000001, -7.25, -7.6200000000000001, -7.9500000000000002, -8.3000000000000007,\r\n\n    -8.6500000000000004, -9.0099999999999998, -9.3499999999999996, -9.6899999999999995,\r\n\n    -10.050000000000001, -10.390000000000001, -10.74, -11.09, -11.42, -11.77, -12.109999999999999,\r\n\n    -12.449999999999999, -12.800000000000001, -13.140000000000001, -13.470000000000001,\r\n\n    -13.81, -14.15, -14.48, -14.82, -15.130000000000001, -15.470000000000001, -15.81,\r\n\n    -16.149999999999999, -16.48, -16.800000000000001, -17.149999999999999, -17.48, -17.789999999999999,\r\n\n    -18.120000000000001, -18.469999999999999, -18.77, -19.09, -19.420000000000002, -19.73,\r\n\n    -20.059999999999999, -20.359999999999999, -20.690000000000001, -21, -21.32, -21.620000000000001,\r\n\n    -21.940000000000001],\r\n\n   "lidar_origin_to_beam_origin_mm": 15.805999999999999\r\n\n }')

status code: 200 No error

Description: Returns JSON-formatted beam altitude and azimuth offsets, in degrees. Length of arrays is equal to the number of channels in the sensor. Also returns distance between lidar origin and beam origin in mm, to be used for point cloud calculations.

GET /api/v1/sensor/metadata/imu_intrinsics

GET 169.254.198.184/api/v1/sensor/metadata/imu_intrinsics

Get the sensor imu intrinsics

http

GET /api/v1/sensor/metadata/imu_intrinsics HTTP/1.1
Host: 169.254.198.184

HTTP/1.1 200 OK
content-type: application/json
content-length: 117
 {
   "imu_to_sensor_transform": [1, 0, 0, 6.2530000000000001,
    0, 1, 0, -11.775, 0, 0, 1, 7.6449999999999996, 0, 0, 0, 1]
 }

curl

curl -i http://169.254.198.184/api/v1/sensor/metadata/imu_intrinsics --data-raw 'HTTP/1.1 200 OK

content-type: application/json

content-length: 117

 {

   "imu_to_sensor_transform": [1, 0, 0, 6.2530000000000001,

    0, 1, 0, -11.775, 0, 0, 1, 7.6449999999999996, 0, 0, 0, 1]

 }'

httpie

echo 'HTTP/1.1 200 OK

content-type: application/json

content-length: 117

 {

   "imu_to_sensor_transform": [1, 0, 0, 6.2530000000000001,

    0, 1, 0, -11.775, 0, 0, 1, 7.6449999999999996, 0, 0, 0, 1]

 }' | http http://169.254.198.184/api/v1/sensor/metadata/imu_intrinsics

python-requests

requests.get('http://169.254.198.184/api/v1/sensor/metadata/imu_intrinsics', data='HTTP/1.1 200 OK\r\n\ncontent-type: application/json\r\n\ncontent-length: 117\r\n\n {\r\n\n   "imu_to_sensor_transform": [1, 0, 0, 6.2530000000000001,\r\n\n    0, 1, 0, -11.775, 0, 0, 1, 7.6449999999999996, 0, 0, 0, 1]\r\n\n }')

status code: 200 No error

Description: Returns JSON-formatted IMU transformation matrix needed to transform to the Sensor Coordinate Frame.

GET /api/v1/sensor/metadata/lidar_intrinsics

GET 169.254.198.184/api/v1/sensor/metadata/lidar_intrinsics

Get the sensor lidar intrinsics

http

GET /api/v1/sensor/metadata/lidar_intrinsics HTTP/1.1
Host: 169.254.198.184

HTTP/1.1 200 OK
content-type: application/json
content-length: 85

 {
   "lidar_to_sensor_transform": [-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 36.18, 0, 0, 0, 1]
 }

curl

curl -i http://169.254.198.184/api/v1/sensor/metadata/lidar_intrinsics --data-raw 'HTTP/1.1 200 OK

content-type: application/json

content-length: 85



 {

   "lidar_to_sensor_transform": [-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 36.18, 0, 0, 0, 1]

 }'

httpie

echo 'HTTP/1.1 200 OK

content-type: application/json

content-length: 85



 {

   "lidar_to_sensor_transform": [-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 36.18, 0, 0, 0, 1]

 }' | http http://169.254.198.184/api/v1/sensor/metadata/lidar_intrinsics

python-requests

requests.get('http://169.254.198.184/api/v1/sensor/metadata/lidar_intrinsics', data='HTTP/1.1 200 OK\r\n\ncontent-type: application/json\r\n\ncontent-length: 85\r\n\n\r\n\n {\r\n\n   "lidar_to_sensor_transform": [-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 36.18, 0, 0, 0, 1]\r\n\n }')

status code: 200 No error

Description: Returns JSON-formatted lidar transformation matrix needed to transform to the Sensor Coordinate Frame.

GET /api/v1/sensor/metadata/calibration_status

GET 169.254.198.184/api/v1/sensor/metadata/calibration_status

Get the sensor calibration status

http

GET /api/v1/sensor/metadata/calibration_status HTTP/1.1
Host: 169.254.198.184

HTTP/1.1 200 OK
content-type: application/json
content-length: 69

 {
   "reflectivity":
     {
       "timestamp": "2021-10-05T00:02:36",
       "valid": true
     }
 }

curl

curl -i http://169.254.198.184/api/v1/sensor/metadata/calibration_status --data-raw 'HTTP/1.1 200 OK

content-type: application/json

content-length: 69



 {

   "reflectivity":

     {

       "timestamp": "2021-10-05T00:02:36",

       "valid": true

     }

 }'

httpie

echo 'HTTP/1.1 200 OK

content-type: application/json

content-length: 69



 {

   "reflectivity":

     {

       "timestamp": "2021-10-05T00:02:36",

       "valid": true

     }

 }' | http http://169.254.198.184/api/v1/sensor/metadata/calibration_status

python-requests

requests.get('http://169.254.198.184/api/v1/sensor/metadata/calibration_status', data='HTTP/1.1 200 OK\r\n\ncontent-type: application/json\r\n\ncontent-length: 69\r\n\n\r\n\n {\r\n\n   "reflectivity":\r\n\n     {\r\n\n       "timestamp": "2021-10-05T00:02:36",\r\n\n       "valid": true\r\n\n     }\r\n\n }')

status code: 200 No error

Description: Returns JSON formatted calibration status of the sensor reflectivity. valid: true/false depending on calibration status. timestamp: if valid is true; time at which the calibration was completed.

GET /api/v1/sensor/config

GET 169.254.198.184/api/v1/sensor/config

Get sensor configuration parameter

http

GET /api/v1/sensor/config HTTP/1.1
Host: 169.254.198.184

HTTP/1.1 200 OK
content-length: 715
content-type: application/json

   {
       "azimuth_window": [
           0,
           360000
       ],
       "columns_per_packet": 16,
       "lidar_mode": "1024x10",
       "multipurpose_io_mode": "OFF",
       "nmea_baud_rate": "BAUD_9600",
       "nmea_ignore_valid_char": 0,
       "nmea_in_polarity": "ACTIVE_HIGH",
       "nmea_leap_seconds": 0,
       "operating_mode": "NORMAL",
       "phase_lock_enable": false,
       "phase_lock_offset": 0,
       "signal_multiplier": 1,
       "sync_pulse_in_polarity": "ACTIVE_HIGH",
       "sync_pulse_out_angle": 360,
       "sync_pulse_out_frequency": 1,
       "sync_pulse_out_polarity": "ACTIVE_HIGH",
       "sync_pulse_out_pulse_width": 10,
       "timestamp_mode": "TIME_FROM_INTERNAL_OSC",
       "udp_dest": "169.254.198.184",
       "udp_port_imu": 7503,
       "udp_port_lidar": 7502,
       "udp_profile_imu": "LEGACY",
       "udp_profile_lidar": "RNG19_RFL8_SIG16_NIR16_DUAL"
   }

curl

curl -i http://169.254.198.184/api/v1/sensor/config --data-raw 'HTTP/1.1 200 OK

content-length: 715

content-type: application/json



   {

       "azimuth_window": [

           0,

           360000

       ],

       "columns_per_packet": 16,

       "lidar_mode": "1024x10",

       "multipurpose_io_mode": "OFF",

       "nmea_baud_rate": "BAUD_9600",

       "nmea_ignore_valid_char": 0,

       "nmea_in_polarity": "ACTIVE_HIGH",

       "nmea_leap_seconds": 0,

       "operating_mode": "NORMAL",

       "phase_lock_enable": false,

       "phase_lock_offset": 0,

       "signal_multiplier": 1,

       "sync_pulse_in_polarity": "ACTIVE_HIGH",

       "sync_pulse_out_angle": 360,

       "sync_pulse_out_frequency": 1,

       "sync_pulse_out_polarity": "ACTIVE_HIGH",

       "sync_pulse_out_pulse_width": 10,

       "timestamp_mode": "TIME_FROM_INTERNAL_OSC",

       "udp_dest": "169.254.198.184",

       "udp_port_imu": 7503,

       "udp_port_lidar": 7502,

       "udp_profile_imu": "LEGACY",

       "udp_profile_lidar": "RNG19_RFL8_SIG16_NIR16_DUAL"

   }'

httpie

echo 'HTTP/1.1 200 OK

content-length: 715

content-type: application/json



   {

       "azimuth_window": [

           0,

           360000

       ],

       "columns_per_packet": 16,

       "lidar_mode": "1024x10",

       "multipurpose_io_mode": "OFF",

       "nmea_baud_rate": "BAUD_9600",

       "nmea_ignore_valid_char": 0,

       "nmea_in_polarity": "ACTIVE_HIGH",

       "nmea_leap_seconds": 0,

       "operating_mode": "NORMAL",

       "phase_lock_enable": false,

       "phase_lock_offset": 0,

       "signal_multiplier": 1,

       "sync_pulse_in_polarity": "ACTIVE_HIGH",

       "sync_pulse_out_angle": 360,

       "sync_pulse_out_frequency": 1,

       "sync_pulse_out_polarity": "ACTIVE_HIGH",

       "sync_pulse_out_pulse_width": 10,

       "timestamp_mode": "TIME_FROM_INTERNAL_OSC",

       "udp_dest": "169.254.198.184",

       "udp_port_imu": 7503,

       "udp_port_lidar": 7502,

       "udp_profile_imu": "LEGACY",

       "udp_profile_lidar": "RNG19_RFL8_SIG16_NIR16_DUAL"

   }' | http http://169.254.198.184/api/v1/sensor/config

python-requests

requests.get('http://169.254.198.184/api/v1/sensor/config', data='HTTP/1.1 200 OK\r\n\ncontent-length: 715\r\n\ncontent-type: application/json\r\n\n\r\n\n   {\r\n\n       "azimuth_window": [\r\n\n           0,\r\n\n           360000\r\n\n       ],\r\n\n       "columns_per_packet": 16,\r\n\n       "lidar_mode": "1024x10",\r\n\n       "multipurpose_io_mode": "OFF",\r\n\n       "nmea_baud_rate": "BAUD_9600",\r\n\n       "nmea_ignore_valid_char": 0,\r\n\n       "nmea_in_polarity": "ACTIVE_HIGH",\r\n\n       "nmea_leap_seconds": 0,\r\n\n       "operating_mode": "NORMAL",\r\n\n       "phase_lock_enable": false,\r\n\n       "phase_lock_offset": 0,\r\n\n       "signal_multiplier": 1,\r\n\n       "sync_pulse_in_polarity": "ACTIVE_HIGH",\r\n\n       "sync_pulse_out_angle": 360,\r\n\n       "sync_pulse_out_frequency": 1,\r\n\n       "sync_pulse_out_polarity": "ACTIVE_HIGH",\r\n\n       "sync_pulse_out_pulse_width": 10,\r\n\n       "timestamp_mode": "TIME_FROM_INTERNAL_OSC",\r\n\n       "udp_dest": "169.254.198.184",\r\n\n       "udp_port_imu": 7503,\r\n\n       "udp_port_lidar": 7502,\r\n\n       "udp_profile_imu": "LEGACY",\r\n\n       "udp_profile_lidar": "RNG19_RFL8_SIG16_NIR16_DUAL"\r\n\n   }')

status code: 200 No error

Description: Please refer to Description- Configurable Parameters section for detailed description on sensor configurable parameters.

POST /api/v1/sensor/config

Description

  • Currently the lidar_mode=1024x10, to change the lidar mode to “512X10”, use the command: http POST 169.254.198.184/api/v1/sensor/config "parameter"="value".

  • Note: To identify all parameters that can be changed using this command please refer to get_config_param.

Example 1: Valid sensor configuration to change lidar_mode shown below:

POST http POST 169.254.198.184/api/v1/sensor/config "lidar_mode"="512x10"

http

POST /api/v1/sensor/config HTTP/1.1
Host: 169.254.198.184

HTTP/1.1 204 No Content

curl

curl -i -X POST http://169.254.198.184/api/v1/sensor/config --data-raw 'HTTP/1.1 204 No Content'

httpie

echo 'HTTP/1.1 204 No Content' | http POST http://169.254.198.184/api/v1/sensor/config

python-requests

requests.post('http://169.254.198.184/api/v1/sensor/config', data='HTTP/1.1 204 No Content')

Sensor config after POST command:

HTTP/1.1 200 OK
content-length: 767
content-type: application/json
 {
   "auto_start_flag": 1,
   "azimuth_window": [90000, 270000],
   "columns_per_packet": 16,
   "lidar_mode": "512x10",
   "multipurpose_io_mode": "OFF",
   "nmea_baud_rate": "BAUD_9600",
   "nmea_ignore_valid_char": 0,
   "nmea_in_polarity": "ACTIVE_HIGH",
   "nmea_leap_seconds": 0,
   "operating_mode": "NORMAL",
   "phase_lock_enable": false,
   "phase_lock_offset": 0,
   "signal_multiplier": 1,
   "sync_pulse_in_polarity": "ACTIVE_HIGH",
   "sync_pulse_out_angle": 360,
   "sync_pulse_out_frequency": 1,
   "sync_pulse_out_polarity": "ACTIVE_HIGH",
   "sync_pulse_out_pulse_width": 10,
   "timestamp_mode": "TIME_FROM_INTERNAL_OSC",
   "udp_dest": "169.254.198.184",
   "udp_port_imu": 7503,
   "udp_port_lidar": 7502,
   "udp_profile_imu": "LEGACY",
   "udp_profile_lidar": "RNG19_RFL8_SIG16_NIR16_DUAL"
 }

status code: 204 server has successfully fulfilled the request.

Example 2: Invalid sensor configuration to change lidar_mode shown below:

  • Currently the lidar_mode=1024x10, to change the lidar mode to “512X10”, use the command: http POST 169.254.216.107/api/v1/sensor/config "parameter"="value".

  • Note: An incorrect value for a valid key i.e.., “lidar_mode” is given to show the error message that would be prompted. In this case Lidar_mode is set to 511x10.

POST http POST 169.254.216.107/api/v1/sensor/config "lidar_mode"="511x10"

http

POST /api/v1/sensor/config HTTP/1.1
Host: 169.254.216.107

curl

curl -i -X POST http://169.254.216.107/api/v1/sensor/config

httpie

http POST http://169.254.216.107/api/v1/sensor/config

python-requests

requests.post('http://169.254.216.107/api/v1/sensor/config')

Sensor config after POST command:

HTTP/1.1 400 Bad Request
content-length: 102
content-type: application/json

{
  "error": {
  "title": "While processing key 'lidar_mode' encountered error: '511x10' is not supported"
           }
}

status code: 400 Server cannot or will not process the request due to something that is perceived to be a client error.

GET /api/v1/sensor/metadata

GET 169.254.198.184/api/v1/sensor/metadata

Get the sensor metadata information

http

GET /api/v1/sensor/metadata HTTP/1.1
 Host: 169.254.198.184

HTTP/1.1 200 OK
content-length: 4163
content-type: application/json

        {
        "beam_intrinsics": {
            "beam_altitude_angles": [
                20.95, 20.67, 20.36, 20.03,
                19.73, 19.41, 19.11, 18.76,
                18.47, 18.14, 17.82, 17.5,
                17.19, 16.86, 16.53, 16.2,
                15.89, 15.56, 15.23, 14.9,
                14.57, 14.23, 13.9,  13.57,
                13.25, 12.91, 12.57, 12.22,
                11.9,  11.55, 11.2,  10.87,
                10.54, 10.18, 9.84, 9.51,
                9.15, 8.81, 8.47, 8.11,
                7.78, 7.43, 7.08, 6.74,
                6.39, 6.04, 5.7,  5.34,
                4.98, 4.64, 4.29, 3.93,
                3.58, 3.24, 2.88, 2.53,
                2.17, 1.82, 1.47, 1.12,
                0.78, 0.41, 0.07, -0.28,
                -0.64, -0.99, -1.35, -1.7,
                -2.07, -2.4, -2.75, -3.11,
                -3.46, -3.81, -4.15, -4.5,
                -4.86, -5.22, -5.57, -5.9,
                -6.27, -6.61, -6.97, -7.3,
                -7.67, -8.01, -8.35, -8.69,
                -9.05, -9.38, -9.71, -10.07,
                -10.42, -10.76, -11.09, -11.43,
                -11.78, -12.12, -12.46, -12.78,
                -13.15, -13.46, -13.8, -14.12,
                -14.48, -14.79, -15.11, -15.46,
                -15.79, -16.12, -16.45, -16.76,
                -17.11, -17.44, -17.74, -18.06,
                -18.39, -18.72, -19.02, -19.32,
                -19.67, -19.99, -20.27, -20.57,
                -20.92, -21.22, -21.54, -21.82
            ],
            "beam_azimuth_angles": [
                4.21, 1.41, -1.4, -4.22, 4.22,
                1.41, -1.4, -4.23, 4.21,
                1.4, -1.42, -4.2, 4.22,
                1.41, -1.4, -4.23, 4.21,
                1.41, -1.41, -4.21, 4.22,
                1.4, -1.41, -4.2, 4.22,
                1.42, -1.4, -4.2, 4.22,
                1.41, -1.42, -4.21, 4.22,
                1.41, -1.4, -4.21, 4.2,
                1.4, -1.4, -4.22, 4.21,
                1.41, -1.41, -4.21, 4.22,
                1.41, -1.4, -4.21, 4.21,
                1.41, -1.4, -4.21, 4.2,
                1.41, -1.4, -4.21, 4.2,
                1.4, -1.41, -4.21, 4.22,
                1.4, -1.4, -4.21, 4.22,
                1.42, -1.4, -4.2, 4.2,
                1.42, -1.4, -4.22, 4.22,
                1.41, -1.4, -4.2, 4.23,
                1.41, -1.4, -4.2, 4.21,
                1.41, -1.4, -4.21, 4.21,
                1.41, -1.4, -4.21, 4.22,
                1.41, -1.39, -4.21, 4.23,
                1.41, -1.39, -4.22, 4.23,
                1.4, -1.4, -4.2, 4.21,
                1.41, -1.41, -4.2, 4.22,
                1.42, -1.39, -4.22, 4.24,
                1.41, -1.41, -4.22, 4.23,
                1.41, -1.39, -4.21, 4.23,
                1.41, -1.39, -4.2, 4.23,
                1.4, -1.39, -4.2, 4.22,
                1.42, -1.39, -4.2
            ],
            "lidar_origin_to_beam_origin_mm": 15.806
        },
        "calibration_status": {
            "reflectivity": {
                "timestamp": "2022-01-08T10:00:38",
                "valid": true
            }
        },
        "config_params": {
            "azimuth_window": [
                0,
                360000
            ],
            "columns_per_packet": 16,
            "lidar_mode": "1024x10",
            "multipurpose_io_mode": "OFF",
            "nmea_baud_rate": "BAUD_9600",
            "nmea_ignore_valid_char": 0,
            "nmea_in_polarity": "ACTIVE_HIGH",
            "nmea_leap_seconds": 0,
            "operating_mode": "NORMAL",
            "phase_lock_enable": false,
            "phase_lock_offset": 0,
            "signal_multiplier": 1,
            "sync_pulse_in_polarity": "ACTIVE_HIGH",
            "sync_pulse_out_angle": 360,
            "sync_pulse_out_frequency": 1,
            "sync_pulse_out_polarity": "ACTIVE_HIGH",
            "sync_pulse_out_pulse_width": 10,
            "timestamp_mode": "TIME_FROM_INTERNAL_OSC",
            "udp_dest": "169.254.162.214",
            "udp_port_imu": 7503,
            "udp_port_lidar": 7502,
            "udp_profile_imu": "LEGACY",
            "udp_profile_lidar": "LEGACY"
        },
        "imu_intrinsics": {
            "imu_to_sensor_transform": [
                1,
                0,
                0,
                6.253,
                0,
                1,
                0,
                -11.775,
                0,
                0,
                1,
                7.645,
                0,
                0,
                0,
                1
            ]
        },
        "lidar_data_format": {
            "column_window": [
                0,
                1023
            ],
            "columns_per_frame": 1024,
            "columns_per_packet": 16,
            "pixel_shift_by_row": [12, 4, -4, -12, 12,
                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,
                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,
                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,
                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,
                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,
                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,
                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,
                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,
                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,
                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,
                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,
                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,
                4, -4, -12
            ],
            "pixels_per_column": 128,
            "udp_profile_imu": "LEGACY",
            "udp_profile_lidar": "LEGACY"
        },
        "lidar_intrinsics": {
            "lidar_to_sensor_transform": [
                -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 36.18, 0, 0, 0, 1
            ]
        },
        "sensor_info": {
            "build_date": "2022-07-29T23:56:15Z",
            "build_rev": "v2.4.0-omega.2",
            "image_rev": "ousteros-image-prod-aries-v2.4.0-omega.2+20220730010801.staging",
            "initialization_id": 9599937,
            "prod_line": "OS-1-128",
            "prod_pn": "840-103575-06",
            "prod_sn": "122201000998",
            "status": "RUNNING"
        }
    }

curl

curl -i http://nohost/api/v1/sensor/metadata --data-raw 'HTTP/1.1 200 OK

content-length: 4163

content-type: application/json



        {

        "beam_intrinsics": {

            "beam_altitude_angles": [

                20.95, 20.67, 20.36, 20.03,

                19.73, 19.41, 19.11, 18.76,

                18.47, 18.14, 17.82, 17.5,

                17.19, 16.86, 16.53, 16.2,

                15.89, 15.56, 15.23, 14.9,

                14.57, 14.23, 13.9,  13.57,

                13.25, 12.91, 12.57, 12.22,

                11.9,  11.55, 11.2,  10.87,

                10.54, 10.18, 9.84, 9.51,

                9.15, 8.81, 8.47, 8.11,

                7.78, 7.43, 7.08, 6.74,

                6.39, 6.04, 5.7,  5.34,

                4.98, 4.64, 4.29, 3.93,

                3.58, 3.24, 2.88, 2.53,

                2.17, 1.82, 1.47, 1.12,

                0.78, 0.41, 0.07, -0.28,

                -0.64, -0.99, -1.35, -1.7,

                -2.07, -2.4, -2.75, -3.11,

                -3.46, -3.81, -4.15, -4.5,

                -4.86, -5.22, -5.57, -5.9,

                -6.27, -6.61, -6.97, -7.3,

                -7.67, -8.01, -8.35, -8.69,

                -9.05, -9.38, -9.71, -10.07,

                -10.42, -10.76, -11.09, -11.43,

                -11.78, -12.12, -12.46, -12.78,

                -13.15, -13.46, -13.8, -14.12,

                -14.48, -14.79, -15.11, -15.46,

                -15.79, -16.12, -16.45, -16.76,

                -17.11, -17.44, -17.74, -18.06,

                -18.39, -18.72, -19.02, -19.32,

                -19.67, -19.99, -20.27, -20.57,

                -20.92, -21.22, -21.54, -21.82

            ],

            "beam_azimuth_angles": [

                4.21, 1.41, -1.4, -4.22, 4.22,

                1.41, -1.4, -4.23, 4.21,

                1.4, -1.42, -4.2, 4.22,

                1.41, -1.4, -4.23, 4.21,

                1.41, -1.41, -4.21, 4.22,

                1.4, -1.41, -4.2, 4.22,

                1.42, -1.4, -4.2, 4.22,

                1.41, -1.42, -4.21, 4.22,

                1.41, -1.4, -4.21, 4.2,

                1.4, -1.4, -4.22, 4.21,

                1.41, -1.41, -4.21, 4.22,

                1.41, -1.4, -4.21, 4.21,

                1.41, -1.4, -4.21, 4.2,

                1.41, -1.4, -4.21, 4.2,

                1.4, -1.41, -4.21, 4.22,

                1.4, -1.4, -4.21, 4.22,

                1.42, -1.4, -4.2, 4.2,

                1.42, -1.4, -4.22, 4.22,

                1.41, -1.4, -4.2, 4.23,

                1.41, -1.4, -4.2, 4.21,

                1.41, -1.4, -4.21, 4.21,

                1.41, -1.4, -4.21, 4.22,

                1.41, -1.39, -4.21, 4.23,

                1.41, -1.39, -4.22, 4.23,

                1.4, -1.4, -4.2, 4.21,

                1.41, -1.41, -4.2, 4.22,

                1.42, -1.39, -4.22, 4.24,

                1.41, -1.41, -4.22, 4.23,

                1.41, -1.39, -4.21, 4.23,

                1.41, -1.39, -4.2, 4.23,

                1.4, -1.39, -4.2, 4.22,

                1.42, -1.39, -4.2

            ],

            "lidar_origin_to_beam_origin_mm": 15.806

        },

        "calibration_status": {

            "reflectivity": {

                "timestamp": "2022-01-08T10:00:38",

                "valid": true

            }

        },

        "config_params": {

            "azimuth_window": [

                0,

                360000

            ],

            "columns_per_packet": 16,

            "lidar_mode": "1024x10",

            "multipurpose_io_mode": "OFF",

            "nmea_baud_rate": "BAUD_9600",

            "nmea_ignore_valid_char": 0,

            "nmea_in_polarity": "ACTIVE_HIGH",

            "nmea_leap_seconds": 0,

            "operating_mode": "NORMAL",

            "phase_lock_enable": false,

            "phase_lock_offset": 0,

            "signal_multiplier": 1,

            "sync_pulse_in_polarity": "ACTIVE_HIGH",

            "sync_pulse_out_angle": 360,

            "sync_pulse_out_frequency": 1,

            "sync_pulse_out_polarity": "ACTIVE_HIGH",

            "sync_pulse_out_pulse_width": 10,

            "timestamp_mode": "TIME_FROM_INTERNAL_OSC",

            "udp_dest": "169.254.162.214",

            "udp_port_imu": 7503,

            "udp_port_lidar": 7502,

            "udp_profile_imu": "LEGACY",

            "udp_profile_lidar": "LEGACY"

        },

        "imu_intrinsics": {

            "imu_to_sensor_transform": [

                1,

                0,

                0,

                6.253,

                0,

                1,

                0,

                -11.775,

                0,

                0,

                1,

                7.645,

                0,

                0,

                0,

                1

            ]

        },

        "lidar_data_format": {

            "column_window": [

                0,

                1023

            ],

            "columns_per_frame": 1024,

            "columns_per_packet": 16,

            "pixel_shift_by_row": [12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12

            ],

            "pixels_per_column": 128,

            "udp_profile_imu": "LEGACY",

            "udp_profile_lidar": "LEGACY"

        },

        "lidar_intrinsics": {

            "lidar_to_sensor_transform": [

                -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 36.18, 0, 0, 0, 1

            ]

        },

        "sensor_info": {

            "build_date": "2022-07-29T23:56:15Z",

            "build_rev": "v2.4.0-omega.2",

            "image_rev": "ousteros-image-prod-aries-v2.4.0-omega.2+20220730010801.staging",

            "initialization_id": 9599937,

            "prod_line": "OS-1-128",

            "prod_pn": "840-103575-06",

            "prod_sn": "122201000998",

            "status": "RUNNING"

        }

    }'

httpie

echo 'HTTP/1.1 200 OK

content-length: 4163

content-type: application/json



        {

        "beam_intrinsics": {

            "beam_altitude_angles": [

                20.95, 20.67, 20.36, 20.03,

                19.73, 19.41, 19.11, 18.76,

                18.47, 18.14, 17.82, 17.5,

                17.19, 16.86, 16.53, 16.2,

                15.89, 15.56, 15.23, 14.9,

                14.57, 14.23, 13.9,  13.57,

                13.25, 12.91, 12.57, 12.22,

                11.9,  11.55, 11.2,  10.87,

                10.54, 10.18, 9.84, 9.51,

                9.15, 8.81, 8.47, 8.11,

                7.78, 7.43, 7.08, 6.74,

                6.39, 6.04, 5.7,  5.34,

                4.98, 4.64, 4.29, 3.93,

                3.58, 3.24, 2.88, 2.53,

                2.17, 1.82, 1.47, 1.12,

                0.78, 0.41, 0.07, -0.28,

                -0.64, -0.99, -1.35, -1.7,

                -2.07, -2.4, -2.75, -3.11,

                -3.46, -3.81, -4.15, -4.5,

                -4.86, -5.22, -5.57, -5.9,

                -6.27, -6.61, -6.97, -7.3,

                -7.67, -8.01, -8.35, -8.69,

                -9.05, -9.38, -9.71, -10.07,

                -10.42, -10.76, -11.09, -11.43,

                -11.78, -12.12, -12.46, -12.78,

                -13.15, -13.46, -13.8, -14.12,

                -14.48, -14.79, -15.11, -15.46,

                -15.79, -16.12, -16.45, -16.76,

                -17.11, -17.44, -17.74, -18.06,

                -18.39, -18.72, -19.02, -19.32,

                -19.67, -19.99, -20.27, -20.57,

                -20.92, -21.22, -21.54, -21.82

            ],

            "beam_azimuth_angles": [

                4.21, 1.41, -1.4, -4.22, 4.22,

                1.41, -1.4, -4.23, 4.21,

                1.4, -1.42, -4.2, 4.22,

                1.41, -1.4, -4.23, 4.21,

                1.41, -1.41, -4.21, 4.22,

                1.4, -1.41, -4.2, 4.22,

                1.42, -1.4, -4.2, 4.22,

                1.41, -1.42, -4.21, 4.22,

                1.41, -1.4, -4.21, 4.2,

                1.4, -1.4, -4.22, 4.21,

                1.41, -1.41, -4.21, 4.22,

                1.41, -1.4, -4.21, 4.21,

                1.41, -1.4, -4.21, 4.2,

                1.41, -1.4, -4.21, 4.2,

                1.4, -1.41, -4.21, 4.22,

                1.4, -1.4, -4.21, 4.22,

                1.42, -1.4, -4.2, 4.2,

                1.42, -1.4, -4.22, 4.22,

                1.41, -1.4, -4.2, 4.23,

                1.41, -1.4, -4.2, 4.21,

                1.41, -1.4, -4.21, 4.21,

                1.41, -1.4, -4.21, 4.22,

                1.41, -1.39, -4.21, 4.23,

                1.41, -1.39, -4.22, 4.23,

                1.4, -1.4, -4.2, 4.21,

                1.41, -1.41, -4.2, 4.22,

                1.42, -1.39, -4.22, 4.24,

                1.41, -1.41, -4.22, 4.23,

                1.41, -1.39, -4.21, 4.23,

                1.41, -1.39, -4.2, 4.23,

                1.4, -1.39, -4.2, 4.22,

                1.42, -1.39, -4.2

            ],

            "lidar_origin_to_beam_origin_mm": 15.806

        },

        "calibration_status": {

            "reflectivity": {

                "timestamp": "2022-01-08T10:00:38",

                "valid": true

            }

        },

        "config_params": {

            "azimuth_window": [

                0,

                360000

            ],

            "columns_per_packet": 16,

            "lidar_mode": "1024x10",

            "multipurpose_io_mode": "OFF",

            "nmea_baud_rate": "BAUD_9600",

            "nmea_ignore_valid_char": 0,

            "nmea_in_polarity": "ACTIVE_HIGH",

            "nmea_leap_seconds": 0,

            "operating_mode": "NORMAL",

            "phase_lock_enable": false,

            "phase_lock_offset": 0,

            "signal_multiplier": 1,

            "sync_pulse_in_polarity": "ACTIVE_HIGH",

            "sync_pulse_out_angle": 360,

            "sync_pulse_out_frequency": 1,

            "sync_pulse_out_polarity": "ACTIVE_HIGH",

            "sync_pulse_out_pulse_width": 10,

            "timestamp_mode": "TIME_FROM_INTERNAL_OSC",

            "udp_dest": "169.254.162.214",

            "udp_port_imu": 7503,

            "udp_port_lidar": 7502,

            "udp_profile_imu": "LEGACY",

            "udp_profile_lidar": "LEGACY"

        },

        "imu_intrinsics": {

            "imu_to_sensor_transform": [

                1,

                0,

                0,

                6.253,

                0,

                1,

                0,

                -11.775,

                0,

                0,

                1,

                7.645,

                0,

                0,

                0,

                1

            ]

        },

        "lidar_data_format": {

            "column_window": [

                0,

                1023

            ],

            "columns_per_frame": 1024,

            "columns_per_packet": 16,

            "pixel_shift_by_row": [12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,

                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,

                4, -4, -12

            ],

            "pixels_per_column": 128,

            "udp_profile_imu": "LEGACY",

            "udp_profile_lidar": "LEGACY"

        },

        "lidar_intrinsics": {

            "lidar_to_sensor_transform": [

                -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 36.18, 0, 0, 0, 1

            ]

        },

        "sensor_info": {

            "build_date": "2022-07-29T23:56:15Z",

            "build_rev": "v2.4.0-omega.2",

            "image_rev": "ousteros-image-prod-aries-v2.4.0-omega.2+20220730010801.staging",

            "initialization_id": 9599937,

            "prod_line": "OS-1-128",

            "prod_pn": "840-103575-06",

            "prod_sn": "122201000998",

            "status": "RUNNING"

        }

    }' | http http://nohost/api/v1/sensor/metadata

python-requests

requests.get('http://nohost/api/v1/sensor/metadata', data='HTTP/1.1 200 OK\r\n\ncontent-length: 4163\r\n\ncontent-type: application/json\r\n\n\r\n\n        {\r\n\n        "beam_intrinsics": {\r\n\n            "beam_altitude_angles": [\r\n\n                20.95, 20.67, 20.36, 20.03,\r\n\n                19.73, 19.41, 19.11, 18.76,\r\n\n                18.47, 18.14, 17.82, 17.5,\r\n\n                17.19, 16.86, 16.53, 16.2,\r\n\n                15.89, 15.56, 15.23, 14.9,\r\n\n                14.57, 14.23, 13.9,  13.57,\r\n\n                13.25, 12.91, 12.57, 12.22,\r\n\n                11.9,  11.55, 11.2,  10.87,\r\n\n                10.54, 10.18, 9.84, 9.51,\r\n\n                9.15, 8.81, 8.47, 8.11,\r\n\n                7.78, 7.43, 7.08, 6.74,\r\n\n                6.39, 6.04, 5.7,  5.34,\r\n\n                4.98, 4.64, 4.29, 3.93,\r\n\n                3.58, 3.24, 2.88, 2.53,\r\n\n                2.17, 1.82, 1.47, 1.12,\r\n\n                0.78, 0.41, 0.07, -0.28,\r\n\n                -0.64, -0.99, -1.35, -1.7,\r\n\n                -2.07, -2.4, -2.75, -3.11,\r\n\n                -3.46, -3.81, -4.15, -4.5,\r\n\n                -4.86, -5.22, -5.57, -5.9,\r\n\n                -6.27, -6.61, -6.97, -7.3,\r\n\n                -7.67, -8.01, -8.35, -8.69,\r\n\n                -9.05, -9.38, -9.71, -10.07,\r\n\n                -10.42, -10.76, -11.09, -11.43,\r\n\n                -11.78, -12.12, -12.46, -12.78,\r\n\n                -13.15, -13.46, -13.8, -14.12,\r\n\n                -14.48, -14.79, -15.11, -15.46,\r\n\n                -15.79, -16.12, -16.45, -16.76,\r\n\n                -17.11, -17.44, -17.74, -18.06,\r\n\n                -18.39, -18.72, -19.02, -19.32,\r\n\n                -19.67, -19.99, -20.27, -20.57,\r\n\n                -20.92, -21.22, -21.54, -21.82\r\n\n            ],\r\n\n            "beam_azimuth_angles": [\r\n\n                4.21, 1.41, -1.4, -4.22, 4.22,\r\n\n                1.41, -1.4, -4.23, 4.21,\r\n\n                1.4, -1.42, -4.2, 4.22,\r\n\n                1.41, -1.4, -4.23, 4.21,\r\n\n                1.41, -1.41, -4.21, 4.22,\r\n\n                1.4, -1.41, -4.2, 4.22,\r\n\n                1.42, -1.4, -4.2, 4.22,\r\n\n                1.41, -1.42, -4.21, 4.22,\r\n\n                1.41, -1.4, -4.21, 4.2,\r\n\n                1.4, -1.4, -4.22, 4.21,\r\n\n                1.41, -1.41, -4.21, 4.22,\r\n\n                1.41, -1.4, -4.21, 4.21,\r\n\n                1.41, -1.4, -4.21, 4.2,\r\n\n                1.41, -1.4, -4.21, 4.2,\r\n\n                1.4, -1.41, -4.21, 4.22,\r\n\n                1.4, -1.4, -4.21, 4.22,\r\n\n                1.42, -1.4, -4.2, 4.2,\r\n\n                1.42, -1.4, -4.22, 4.22,\r\n\n                1.41, -1.4, -4.2, 4.23,\r\n\n                1.41, -1.4, -4.2, 4.21,\r\n\n                1.41, -1.4, -4.21, 4.21,\r\n\n                1.41, -1.4, -4.21, 4.22,\r\n\n                1.41, -1.39, -4.21, 4.23,\r\n\n                1.41, -1.39, -4.22, 4.23,\r\n\n                1.4, -1.4, -4.2, 4.21,\r\n\n                1.41, -1.41, -4.2, 4.22,\r\n\n                1.42, -1.39, -4.22, 4.24,\r\n\n                1.41, -1.41, -4.22, 4.23,\r\n\n                1.41, -1.39, -4.21, 4.23,\r\n\n                1.41, -1.39, -4.2, 4.23,\r\n\n                1.4, -1.39, -4.2, 4.22,\r\n\n                1.42, -1.39, -4.2\r\n\n            ],\r\n\n            "lidar_origin_to_beam_origin_mm": 15.806\r\n\n        },\r\n\n        "calibration_status": {\r\n\n            "reflectivity": {\r\n\n                "timestamp": "2022-01-08T10:00:38",\r\n\n                "valid": true\r\n\n            }\r\n\n        },\r\n\n        "config_params": {\r\n\n            "azimuth_window": [\r\n\n                0,\r\n\n                360000\r\n\n            ],\r\n\n            "columns_per_packet": 16,\r\n\n            "lidar_mode": "1024x10",\r\n\n            "multipurpose_io_mode": "OFF",\r\n\n            "nmea_baud_rate": "BAUD_9600",\r\n\n            "nmea_ignore_valid_char": 0,\r\n\n            "nmea_in_polarity": "ACTIVE_HIGH",\r\n\n            "nmea_leap_seconds": 0,\r\n\n            "operating_mode": "NORMAL",\r\n\n            "phase_lock_enable": false,\r\n\n            "phase_lock_offset": 0,\r\n\n            "signal_multiplier": 1,\r\n\n            "sync_pulse_in_polarity": "ACTIVE_HIGH",\r\n\n            "sync_pulse_out_angle": 360,\r\n\n            "sync_pulse_out_frequency": 1,\r\n\n            "sync_pulse_out_polarity": "ACTIVE_HIGH",\r\n\n            "sync_pulse_out_pulse_width": 10,\r\n\n            "timestamp_mode": "TIME_FROM_INTERNAL_OSC",\r\n\n            "udp_dest": "169.254.162.214",\r\n\n            "udp_port_imu": 7503,\r\n\n            "udp_port_lidar": 7502,\r\n\n            "udp_profile_imu": "LEGACY",\r\n\n            "udp_profile_lidar": "LEGACY"\r\n\n        },\r\n\n        "imu_intrinsics": {\r\n\n            "imu_to_sensor_transform": [\r\n\n                1,\r\n\n                0,\r\n\n                0,\r\n\n                6.253,\r\n\n                0,\r\n\n                1,\r\n\n                0,\r\n\n                -11.775,\r\n\n                0,\r\n\n                0,\r\n\n                1,\r\n\n                7.645,\r\n\n                0,\r\n\n                0,\r\n\n                0,\r\n\n                1\r\n\n            ]\r\n\n        },\r\n\n        "lidar_data_format": {\r\n\n            "column_window": [\r\n\n                0,\r\n\n                1023\r\n\n            ],\r\n\n            "columns_per_frame": 1024,\r\n\n            "columns_per_packet": 16,\r\n\n            "pixel_shift_by_row": [12, 4, -4, -12, 12,\r\n\n                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,\r\n\n                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,\r\n\n                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,\r\n\n                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,\r\n\n                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,\r\n\n                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,\r\n\n                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,\r\n\n                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,\r\n\n                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,\r\n\n                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,\r\n\n                4, -4, -12, 12, 4, -4, -12, 12, 4, -4,\r\n\n                -12, 12, 4, -4, -12, 12, 4, -4, -12, 12,\r\n\n                4, -4, -12\r\n\n            ],\r\n\n            "pixels_per_column": 128,\r\n\n            "udp_profile_imu": "LEGACY",\r\n\n            "udp_profile_lidar": "LEGACY"\r\n\n        },\r\n\n        "lidar_intrinsics": {\r\n\n            "lidar_to_sensor_transform": [\r\n\n                -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 36.18, 0, 0, 0, 1\r\n\n            ]\r\n\n        },\r\n\n        "sensor_info": {\r\n\n            "build_date": "2022-07-29T23:56:15Z",\r\n\n            "build_rev": "v2.4.0-omega.2",\r\n\n            "image_rev": "ousteros-image-prod-aries-v2.4.0-omega.2+20220730010801.staging",\r\n\n            "initialization_id": 9599937,\r\n\n            "prod_line": "OS-1-128",\r\n\n            "prod_pn": "840-103575-06",\r\n\n            "prod_sn": "122201000998",\r\n\n            "status": "RUNNING"\r\n\n        }\r\n\n    }')

status code: 200 No error

System

GET /api/v1/system/firmware

GET 192.0.2.123/api/v1/system/firmware

Get the firmware version of the sensor

http

GET /api/v1/system/firmware HTTP/1.1
Host: 192.0.2.123

curl

curl -i http://192.0.2.123/api/v1/system/firmware

httpie

http http://192.0.2.123/api/v1/system/firmware

python-requests

requests.get('http://192.0.2.123/api/v1/system/firmware')

response

HTTP/1.1 200 OK
Host: 192.0.2.123
content-type: application/json; charset=UTF-8

{
  "fw": "ousteros-image-prod-aries-v2.0.0"
}

>json string fw Running firmware image name and version.

statuscode: 200 No error

GET /api/v1/system/network

GET 192.0.2.123/api/v1/system/network

Get the system network configuration.

http

GET /api/v1/system/network HTTP/1.1
Host: 192.0.2.123

curl

curl -i http://192.0.2.123/api/v1/system/network

httpie

http http://192.0.2.123/api/v1/system/network

python-requests

requests.get('http://192.0.2.123/api/v1/system/network')

response

HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8

{
   "carrier": true,
   "duplex": "full",
   "ethaddr": "bc:0f:a7:00:01:2c",
   "hostname": "os-991900123456",
   "ipv4": {
      "addr": "192.0.2.123/24",
      "link_local": "169.254.245.183/16",
      "override": null
   },
   "ipv6": {
      "link_local": "fe80::be0f:a7ff:fe00:12c/64"
   },
   "speed": 1000
}

>json boolean carrier: State of Ethernet link, true when physical layer is connected.

>json string duplex: Duplex mode of Ethernet link, half or full.

>json string ethaddr: Ethernet hardware (MAC) address.

>json string hostname: Hostname of the sensor, also used when requesting DHCP address and registering mDNS hostname.

>json object ipv4: See ipv4 object

>json string ipv6.link_local: Link-local IPv6 address.

>json integer speed: Ethernet physical layer speed in Mbps, should be 1000 Mbps.

statuscode: 200 No error

GET /api/v1/system/network/ipv4

GET 192.0.2.123/api/v1/system/network/ipv4

Get the IPv4 network configuration.

http

GET /api/v1/system/network/ipv4 HTTP/1.1
Host: 192.0.2.123

curl

curl -i http://192.0.2.123/api/v1/system/network/ipv4

httpie

http http://192.0.2.123/api/v1/system/network/ipv4

python-requests

requests.get('http://192.0.2.123/api/v1/system/network/ipv4')

response

HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8

{
  "addr": "192.0.2.123/23",
  "link_local": "169.254.245.183/16",
  "override": null
}

>json string addr: Current global or private IPv4 address.

>json string link_local: Link-local IPv4 address.

>json string override: Static IP override value, this should match addr. This value will be null when unset and operating in DHCP or link-local modes.

statuscode: 200 No error

GET /api/v1/system/network/ipv4/override

GET 192.0.2.123/api/v1/system/network/ipv4/override

Get the current IPv4 static IP address override.

http

GET /api/v1/system/network/ipv4/override HTTP/1.1
Host: 192.0.2.123

curl

curl -i http://192.0.2.123/api/v1/system/network/ipv4/override

httpie

http http://192.0.2.123/api/v1/system/network/ipv4/override

python-requests

requests.get('http://192.0.2.123/api/v1/system/network/ipv4/override')

response

HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8

null

>json string Static IP override value, this should match addr. This value will be null when unset and operating in DHCP mode.

statuscode: 200 No error

PUT /api/v1/system/network/ipv4/override

PUT 192.0.2.123/api/v1/system/network/ipv4/override

Override the default dynamic behavior and set a static IP address.

Note

The sensor will reset the network configuration after a short sub second delay (to allow for the HTTP response to be sent). After this delay the sensor will only be reachable on the newly set IPv4 address.

The sensor needs to be reachable either by link-local or dynamic DHCP configuration or by an existing static IP override from the host reconfiguring the sensor.

Warning

If an unreachable network address is set, the sensor will become unreachable. Tools such as avahi-browse, dns-sd, or mDNS browser can help with finding a sensor on a network.

Static IP override should only be used in special use cases. The link-local configuration is recommended where possible.

http

PUT /api/v1/system/network/ipv4/override HTTP/1.1
Content-Type: application/json
Host: 192.0.2.123

"192.0.2.100/24"

curl

curl -i -X PUT http://192.0.2.123/api/v1/system/network/ipv4/override -H 'Content-Type: application/json' --data-raw '"192.0.2.100/24"'

httpie

echo '"192.0.2.100/24"' | http PUT http://192.0.2.123/api/v1/system/network/ipv4/override Content-Type:application/json

python-requests

requests.put('http://192.0.2.123/api/v1/system/network/ipv4/override', headers={'Content-Type': 'application/json'}, json='192.0.2.100/24')

<json string: Static IP override value with subnet mask

>json string: Static IP override value that system will set after a short delay.

statuscode: 200 No error

DELETE /api/v1/system/network/ipv4/override

DELETE 192.0.2.123/api/v1/system/network/ipv4/override

Delete the static IP override value and return to dynamic configuration.

Note

The sensor will reset the network configuration after a short sub second delay (to allow for the HTTP response to be sent). After this delay the sensor will only be reachable on the newly set IPv4 address.

The sensor may be unreachable for several seconds while a link-local lease is obtained from the network or client machine.

http

DELETE /api/v1/system/network/ipv4/override HTTP/1.1
Host: 192.0.2.123

curl

curl -i -X DELETE http://192.0.2.123/api/v1/system/network/ipv4/override

httpie

http DELETE http://192.0.2.123/api/v1/system/network/ipv4/override

python-requests

requests.delete('http://192.0.2.123/api/v1/system/network/ipv4/override')

statuscode: 204 No error, no content

Time

GET /api/v1/time

GET 192.0.2.123/api/v1/time

Get the system time configuration for all timing components of the sensor.

http

GET /api/v1/time HTTP/1.1
  Host: 192.0.2.123


  HTTP/1.1 200 OK
  content-type: application/json; charset=UTF-8

  {
   "ptp": {
    "current_data_set": {
        "mean_path_delay": 0.0,
        "offset_from_master": 0.0,
        "steps_removed": 0
      },
    "parent_data_set": {
        "gm_clock_accuracy": 254,
        "gm_clock_class": 255,
        "gm_offset_scaled_log_variance": 65535,
        "grandmaster_identity": "bc0fa7.fffe.003aa6",
        "grandmaster_priority1": 128,
        "grandmaster_priority2": 128,
        "observed_parent_clock_phase_change_rate": 2147483647,
        "observed_parent_offset_scaled_log_variance": 65535,
        "parent_port_identity": "bc0fa7.fffe.003aa6-0",
        "parent_stats": 0
      },
    "port_data_set": {
        "announce_receipt_timeout": 3,
        "delay_mechanism": 1,
        "log_announce_interval": 1,
        "log_min_delay_req_interval": 0,
        "log_min_pdelay_req_interval": 0,
        "log_sync_interval": 0,
        "peer_mean_path_delay": 0,
        "port_identity": "bc0fa7.fffe.003aa6-1",
        "port_state": "LISTENING",
        "version_number": 2
      },
    "profile": "default",
    "time_properties_data_set": {
        "current_utc_offset": 37,
        "current_utc_offset_valid": 0,
        "frequency_traceable": 0,
        "leap59": 0,
        "leap61": 0,
        "ptp_timescale": 1,
        "time_source": 160,
        "time_traceable": 0
     },
    "time_status_np": {
        "cumulative_scaled_rate_offset": 0.0,
        "gm_identity": "bc0fa7.fffe.003aa6",
        "gm_present": false,
        "gm_time_base_indicator": 0,
        "ingress_time": 0,
        "last_gm_phase_change": "0x0000'0000000000000000.0000",
        "master_offset": 0,
        "scaled_last_gm_phase_change": 0
     }
    },
   "sensor": {
    "multipurpose_io": {
        "mode": "OFF",
        "nmea": {
            "baud_rate": "BAUD_9600",
            "diagnostics": {
                "decoding": {
                    "date_decoded_count": 0,
                    "last_read_message": "",
                    "not_valid_count": 0,
                    "utc_decoded_count": 0
                },
                "io_checks": {
                    "bit_count": 1,
                    "bit_count_unfiltered": 0,
                    "char_count": 0,
                    "start_char_count": 0
                }
            },
            "ignore_valid_char": 0,
            "leap_seconds": 0,
            "locked": 0,
            "polarity": "ACTIVE_HIGH"
        },
        "sync_pulse_out": {
            "angle_deg": 360,
            "frequency_hz": 1,
            "polarity": "ACTIVE_HIGH",
            "pulse_width_ms": 10
        }
    },
    "sync_pulse_in": {
        "diagnostics": {
            "count": 1,
            "count_unfiltered": 0,
            "last_period_nsec": 0
        },
        "locked": 0,
        "polarity": "ACTIVE_HIGH"
    },
    "timestamp": {
        "mode": "TIME_FROM_INTERNAL_OSC",
        "time": 311.36525506,
        "time_options": {
            "internal_osc": 311,
            "ptp_1588": 320,
            "sync_pulse_in": 1
        }
    }
},
"system": {
    "monotonic": 320.78890018,
    "realtime": 320.788918614,
    "tracking": {
        "frequency": 3.943,
        "last_offset": 0.0,
        "leap_status": "not synchronised",
        "ref_time_utc": 0.0,
        "reference_id": "00000000",
        "remote_host": "",
        "residual_frequency": 0.0,
        "rms_offset": 0.0,
        "root_delay": 1.0,
        "root_dispersion": 1.0,
        "skew": 0.0,
        "stratum": 0,
        "system_time_offset": -1e-09,
        "update_interval": 0.0
    }
 }
}

curl

curl -i http://nohost/api/v1/time --data-raw 'HTTP/1.1 200 OK

  content-type: application/json; charset=UTF-8



  {

   "ptp": {

    "current_data_set": {

        "mean_path_delay": 0.0,

        "offset_from_master": 0.0,

        "steps_removed": 0

      },

    "parent_data_set": {

        "gm_clock_accuracy": 254,

        "gm_clock_class": 255,

        "gm_offset_scaled_log_variance": 65535,

        "grandmaster_identity": "bc0fa7.fffe.003aa6",

        "grandmaster_priority1": 128,

        "grandmaster_priority2": 128,

        "observed_parent_clock_phase_change_rate": 2147483647,

        "observed_parent_offset_scaled_log_variance": 65535,

        "parent_port_identity": "bc0fa7.fffe.003aa6-0",

        "parent_stats": 0

      },

    "port_data_set": {

        "announce_receipt_timeout": 3,

        "delay_mechanism": 1,

        "log_announce_interval": 1,

        "log_min_delay_req_interval": 0,

        "log_min_pdelay_req_interval": 0,

        "log_sync_interval": 0,

        "peer_mean_path_delay": 0,

        "port_identity": "bc0fa7.fffe.003aa6-1",

        "port_state": "LISTENING",

        "version_number": 2

      },

    "profile": "default",

    "time_properties_data_set": {

        "current_utc_offset": 37,

        "current_utc_offset_valid": 0,

        "frequency_traceable": 0,

        "leap59": 0,

        "leap61": 0,

        "ptp_timescale": 1,

        "time_source": 160,

        "time_traceable": 0

     },

    "time_status_np": {

        "cumulative_scaled_rate_offset": 0.0,

        "gm_identity": "bc0fa7.fffe.003aa6",

        "gm_present": false,

        "gm_time_base_indicator": 0,

        "ingress_time": 0,

        "last_gm_phase_change": "0x0000'0000000000000000.0000",

        "master_offset": 0,

        "scaled_last_gm_phase_change": 0

     }

    },

   "sensor": {

    "multipurpose_io": {

        "mode": "OFF",

        "nmea": {

            "baud_rate": "BAUD_9600",

            "diagnostics": {

                "decoding": {

                    "date_decoded_count": 0,

                    "last_read_message": "",

                    "not_valid_count": 0,

                    "utc_decoded_count": 0

                },

                "io_checks": {

                    "bit_count": 1,

                    "bit_count_unfiltered": 0,

                    "char_count": 0,

                    "start_char_count": 0

                }

            },

            "ignore_valid_char": 0,

            "leap_seconds": 0,

            "locked": 0,

            "polarity": "ACTIVE_HIGH"

        },

        "sync_pulse_out": {

            "angle_deg": 360,

            "frequency_hz": 1,

            "polarity": "ACTIVE_HIGH",

            "pulse_width_ms": 10

        }

    },

    "sync_pulse_in": {

        "diagnostics": {

            "count": 1,

            "count_unfiltered": 0,

            "last_period_nsec": 0

        },

        "locked": 0,

        "polarity": "ACTIVE_HIGH"

    },

    "timestamp": {

        "mode": "TIME_FROM_INTERNAL_OSC",

        "time": 311.36525506,

        "time_options": {

            "internal_osc": 311,

            "ptp_1588": 320,

            "sync_pulse_in": 1

        }

    }

},

"system": {

    "monotonic": 320.78890018,

    "realtime": 320.788918614,

    "tracking": {

        "frequency": 3.943,

        "last_offset": 0.0,

        "leap_status": "not synchronised",

        "ref_time_utc": 0.0,

        "reference_id": "00000000",

        "remote_host": "",

        "residual_frequency": 0.0,

        "rms_offset": 0.0,

        "root_delay": 1.0,

        "root_dispersion": 1.0,

        "skew": 0.0,

        "stratum": 0,

        "system_time_offset": -1e-09,

        "update_interval": 0.0

    }

 }

}'

httpie

echo 'HTTP/1.1 200 OK

  content-type: application/json; charset=UTF-8



  {

   "ptp": {

    "current_data_set": {

        "mean_path_delay": 0.0,

        "offset_from_master": 0.0,

        "steps_removed": 0

      },

    "parent_data_set": {

        "gm_clock_accuracy": 254,

        "gm_clock_class": 255,

        "gm_offset_scaled_log_variance": 65535,

        "grandmaster_identity": "bc0fa7.fffe.003aa6",

        "grandmaster_priority1": 128,

        "grandmaster_priority2": 128,

        "observed_parent_clock_phase_change_rate": 2147483647,

        "observed_parent_offset_scaled_log_variance": 65535,

        "parent_port_identity": "bc0fa7.fffe.003aa6-0",

        "parent_stats": 0

      },

    "port_data_set": {

        "announce_receipt_timeout": 3,

        "delay_mechanism": 1,

        "log_announce_interval": 1,

        "log_min_delay_req_interval": 0,

        "log_min_pdelay_req_interval": 0,

        "log_sync_interval": 0,

        "peer_mean_path_delay": 0,

        "port_identity": "bc0fa7.fffe.003aa6-1",

        "port_state": "LISTENING",

        "version_number": 2

      },

    "profile": "default",

    "time_properties_data_set": {

        "current_utc_offset": 37,

        "current_utc_offset_valid": 0,

        "frequency_traceable": 0,

        "leap59": 0,

        "leap61": 0,

        "ptp_timescale": 1,

        "time_source": 160,

        "time_traceable": 0

     },

    "time_status_np": {

        "cumulative_scaled_rate_offset": 0.0,

        "gm_identity": "bc0fa7.fffe.003aa6",

        "gm_present": false,

        "gm_time_base_indicator": 0,

        "ingress_time": 0,

        "last_gm_phase_change": "0x0000'"'"'0000000000000000.0000",

        "master_offset": 0,

        "scaled_last_gm_phase_change": 0

     }

    },

   "sensor": {

    "multipurpose_io": {

        "mode": "OFF",

        "nmea": {

            "baud_rate": "BAUD_9600",

            "diagnostics": {

                "decoding": {

                    "date_decoded_count": 0,

                    "last_read_message": "",

                    "not_valid_count": 0,

                    "utc_decoded_count": 0

                },

                "io_checks": {

                    "bit_count": 1,

                    "bit_count_unfiltered": 0,

                    "char_count": 0,

                    "start_char_count": 0

                }

            },

            "ignore_valid_char": 0,

            "leap_seconds": 0,

            "locked": 0,

            "polarity": "ACTIVE_HIGH"

        },

        "sync_pulse_out": {

            "angle_deg": 360,

            "frequency_hz": 1,

            "polarity": "ACTIVE_HIGH",

            "pulse_width_ms": 10

        }

    },

    "sync_pulse_in": {

        "diagnostics": {

            "count": 1,

            "count_unfiltered": 0,

            "last_period_nsec": 0

        },

        "locked": 0,

        "polarity": "ACTIVE_HIGH"

    },

    "timestamp": {

        "mode": "TIME_FROM_INTERNAL_OSC",

        "time": 311.36525506,

        "time_options": {

            "internal_osc": 311,

            "ptp_1588": 320,

            "sync_pulse_in": 1

        }

    }

},

"system": {

    "monotonic": 320.78890018,

    "realtime": 320.788918614,

    "tracking": {

        "frequency": 3.943,

        "last_offset": 0.0,

        "leap_status": "not synchronised",

        "ref_time_utc": 0.0,

        "reference_id": "00000000",

        "remote_host": "",

        "residual_frequency": 0.0,

        "rms_offset": 0.0,

        "root_delay": 1.0,

        "root_dispersion": 1.0,

        "skew": 0.0,

        "stratum": 0,

        "system_time_offset": -1e-09,

        "update_interval": 0.0

    }

 }

}' | http http://nohost/api/v1/time

python-requests

requests.get('http://nohost/api/v1/time', data='HTTP/1.1 200 OK\r\n\n  content-type: application/json; charset=UTF-8\r\n\n\r\n\n  {\r\n\n   "ptp": {\r\n\n    "current_data_set": {\r\n\n        "mean_path_delay": 0.0,\r\n\n        "offset_from_master": 0.0,\r\n\n        "steps_removed": 0\r\n\n      },\r\n\n    "parent_data_set": {\r\n\n        "gm_clock_accuracy": 254,\r\n\n        "gm_clock_class": 255,\r\n\n        "gm_offset_scaled_log_variance": 65535,\r\n\n        "grandmaster_identity": "bc0fa7.fffe.003aa6",\r\n\n        "grandmaster_priority1": 128,\r\n\n        "grandmaster_priority2": 128,\r\n\n        "observed_parent_clock_phase_change_rate": 2147483647,\r\n\n        "observed_parent_offset_scaled_log_variance": 65535,\r\n\n        "parent_port_identity": "bc0fa7.fffe.003aa6-0",\r\n\n        "parent_stats": 0\r\n\n      },\r\n\n    "port_data_set": {\r\n\n        "announce_receipt_timeout": 3,\r\n\n        "delay_mechanism": 1,\r\n\n        "log_announce_interval": 1,\r\n\n        "log_min_delay_req_interval": 0,\r\n\n        "log_min_pdelay_req_interval": 0,\r\n\n        "log_sync_interval": 0,\r\n\n        "peer_mean_path_delay": 0,\r\n\n        "port_identity": "bc0fa7.fffe.003aa6-1",\r\n\n        "port_state": "LISTENING",\r\n\n        "version_number": 2\r\n\n      },\r\n\n    "profile": "default",\r\n\n    "time_properties_data_set": {\r\n\n        "current_utc_offset": 37,\r\n\n        "current_utc_offset_valid": 0,\r\n\n        "frequency_traceable": 0,\r\n\n        "leap59": 0,\r\n\n        "leap61": 0,\r\n\n        "ptp_timescale": 1,\r\n\n        "time_source": 160,\r\n\n        "time_traceable": 0\r\n\n     },\r\n\n    "time_status_np": {\r\n\n        "cumulative_scaled_rate_offset": 0.0,\r\n\n        "gm_identity": "bc0fa7.fffe.003aa6",\r\n\n        "gm_present": false,\r\n\n        "gm_time_base_indicator": 0,\r\n\n        "ingress_time": 0,\r\n\n        "last_gm_phase_change": "0x0000\'0000000000000000.0000",\r\n\n        "master_offset": 0,\r\n\n        "scaled_last_gm_phase_change": 0\r\n\n     }\r\n\n    },\r\n\n   "sensor": {\r\n\n    "multipurpose_io": {\r\n\n        "mode": "OFF",\r\n\n        "nmea": {\r\n\n            "baud_rate": "BAUD_9600",\r\n\n            "diagnostics": {\r\n\n                "decoding": {\r\n\n                    "date_decoded_count": 0,\r\n\n                    "last_read_message": "",\r\n\n                    "not_valid_count": 0,\r\n\n                    "utc_decoded_count": 0\r\n\n                },\r\n\n                "io_checks": {\r\n\n                    "bit_count": 1,\r\n\n                    "bit_count_unfiltered": 0,\r\n\n                    "char_count": 0,\r\n\n                    "start_char_count": 0\r\n\n                }\r\n\n            },\r\n\n            "ignore_valid_char": 0,\r\n\n            "leap_seconds": 0,\r\n\n            "locked": 0,\r\n\n            "polarity": "ACTIVE_HIGH"\r\n\n        },\r\n\n        "sync_pulse_out": {\r\n\n            "angle_deg": 360,\r\n\n            "frequency_hz": 1,\r\n\n            "polarity": "ACTIVE_HIGH",\r\n\n            "pulse_width_ms": 10\r\n\n        }\r\n\n    },\r\n\n    "sync_pulse_in": {\r\n\n        "diagnostics": {\r\n\n            "count": 1,\r\n\n            "count_unfiltered": 0,\r\n\n            "last_period_nsec": 0\r\n\n        },\r\n\n        "locked": 0,\r\n\n        "polarity": "ACTIVE_HIGH"\r\n\n    },\r\n\n    "timestamp": {\r\n\n        "mode": "TIME_FROM_INTERNAL_OSC",\r\n\n        "time": 311.36525506,\r\n\n        "time_options": {\r\n\n            "internal_osc": 311,\r\n\n            "ptp_1588": 320,\r\n\n            "sync_pulse_in": 1\r\n\n        }\r\n\n    }\r\n\n},\r\n\n"system": {\r\n\n    "monotonic": 320.78890018,\r\n\n    "realtime": 320.788918614,\r\n\n    "tracking": {\r\n\n        "frequency": 3.943,\r\n\n        "last_offset": 0.0,\r\n\n        "leap_status": "not synchronised",\r\n\n        "ref_time_utc": 0.0,\r\n\n        "reference_id": "00000000",\r\n\n        "remote_host": "",\r\n\n        "residual_frequency": 0.0,\r\n\n        "rms_offset": 0.0,\r\n\n        "root_delay": 1.0,\r\n\n        "root_dispersion": 1.0,\r\n\n        "skew": 0.0,\r\n\n        "stratum": 0,\r\n\n        "system_time_offset": -1e-09,\r\n\n        "update_interval": 0.0\r\n\n    }\r\n\n }\r\n\n}')

>json string: See sub objects for details.

statuscode: 200 No error

GET /api/v1/time/sensor

GET 169.254.198.184/api/v1/time/sensor

Get the sensor time information

http

GET /api/v1/time/sensor HTTP/1.1
Host: 169.254.198.184

HTTP/1.1 200 OK
content-type: application/json
content-length: 773


  {
      "multipurpose_io": {
          "mode": "OFF",
          "nmea": {
              "baud_rate": "BAUD_9600",
              "diagnostics": {
                  "decoding": {
                      "date_decoded_count": 0,
                      "last_read_message": "",
                      "not_valid_count": 0,
                      "utc_decoded_count": 0
                  },
                  "io_checks": {
                      "bit_count": 1,
                      "bit_count_unfiltered": 0,
                      "char_count": 0,
                      "start_char_count": 0
                  }
              },
              "ignore_valid_char": 0,
              "leap_seconds": 0,
              "locked": 0,
              "polarity": "ACTIVE_HIGH"
          },
          "sync_pulse_out": {
              "angle_deg": 360,
              "frequency_hz": 1,
              "polarity": "ACTIVE_HIGH",
              "pulse_width_ms": 10
          }
      },
      "sync_pulse_in": {
          "diagnostics": {
              "count": 1,
              "count_unfiltered": 0,
              "last_period_nsec": 0
          },
          "locked": 0,
          "polarity": "ACTIVE_HIGH"
      },
      "timestamp": {
          "mode": "TIME_FROM_INTERNAL_OSC",
          "time": 27784.88125111,
          "time_options": {
              "internal_osc": 27784,
              "ptp_1588": 27795,
              "sync_pulse_in": 1
          }
      }
  }

curl

curl -i http://169.254.198.184/api/v1/time/sensor --data-raw 'HTTP/1.1 200 OK

content-type: application/json

content-length: 773





  {

      "multipurpose_io": {

          "mode": "OFF",

          "nmea": {

              "baud_rate": "BAUD_9600",

              "diagnostics": {

                  "decoding": {

                      "date_decoded_count": 0,

                      "last_read_message": "",

                      "not_valid_count": 0,

                      "utc_decoded_count": 0

                  },

                  "io_checks": {

                      "bit_count": 1,

                      "bit_count_unfiltered": 0,

                      "char_count": 0,

                      "start_char_count": 0

                  }

              },

              "ignore_valid_char": 0,

              "leap_seconds": 0,

              "locked": 0,

              "polarity": "ACTIVE_HIGH"

          },

          "sync_pulse_out": {

              "angle_deg": 360,

              "frequency_hz": 1,

              "polarity": "ACTIVE_HIGH",

              "pulse_width_ms": 10

          }

      },

      "sync_pulse_in": {

          "diagnostics": {

              "count": 1,

              "count_unfiltered": 0,

              "last_period_nsec": 0

          },

          "locked": 0,

          "polarity": "ACTIVE_HIGH"

      },

      "timestamp": {

          "mode": "TIME_FROM_INTERNAL_OSC",

          "time": 27784.88125111,

          "time_options": {

              "internal_osc": 27784,

              "ptp_1588": 27795,

              "sync_pulse_in": 1

          }

      }

  }'

httpie

echo 'HTTP/1.1 200 OK

content-type: application/json

content-length: 773





  {

      "multipurpose_io": {

          "mode": "OFF",

          "nmea": {

              "baud_rate": "BAUD_9600",

              "diagnostics": {

                  "decoding": {

                      "date_decoded_count": 0,

                      "last_read_message": "",

                      "not_valid_count": 0,

                      "utc_decoded_count": 0

                  },

                  "io_checks": {

                      "bit_count": 1,

                      "bit_count_unfiltered": 0,

                      "char_count": 0,

                      "start_char_count": 0

                  }

              },

              "ignore_valid_char": 0,

              "leap_seconds": 0,

              "locked": 0,

              "polarity": "ACTIVE_HIGH"

          },

          "sync_pulse_out": {

              "angle_deg": 360,

              "frequency_hz": 1,

              "polarity": "ACTIVE_HIGH",

              "pulse_width_ms": 10

          }

      },

      "sync_pulse_in": {

          "diagnostics": {

              "count": 1,

              "count_unfiltered": 0,

              "last_period_nsec": 0

          },

          "locked": 0,

          "polarity": "ACTIVE_HIGH"

      },

      "timestamp": {

          "mode": "TIME_FROM_INTERNAL_OSC",

          "time": 27784.88125111,

          "time_options": {

              "internal_osc": 27784,

              "ptp_1588": 27795,

              "sync_pulse_in": 1

          }

      }

  }' | http http://169.254.198.184/api/v1/time/sensor

python-requests

requests.get('http://169.254.198.184/api/v1/time/sensor', data='HTTP/1.1 200 OK\r\n\ncontent-type: application/json\r\n\ncontent-length: 773\r\n\n\r\n\n\r\n\n  {\r\n\n      "multipurpose_io": {\r\n\n          "mode": "OFF",\r\n\n          "nmea": {\r\n\n              "baud_rate": "BAUD_9600",\r\n\n              "diagnostics": {\r\n\n                  "decoding": {\r\n\n                      "date_decoded_count": 0,\r\n\n                      "last_read_message": "",\r\n\n                      "not_valid_count": 0,\r\n\n                      "utc_decoded_count": 0\r\n\n                  },\r\n\n                  "io_checks": {\r\n\n                      "bit_count": 1,\r\n\n                      "bit_count_unfiltered": 0,\r\n\n                      "char_count": 0,\r\n\n                      "start_char_count": 0\r\n\n                  }\r\n\n              },\r\n\n              "ignore_valid_char": 0,\r\n\n              "leap_seconds": 0,\r\n\n              "locked": 0,\r\n\n              "polarity": "ACTIVE_HIGH"\r\n\n          },\r\n\n          "sync_pulse_out": {\r\n\n              "angle_deg": 360,\r\n\n              "frequency_hz": 1,\r\n\n              "polarity": "ACTIVE_HIGH",\r\n\n              "pulse_width_ms": 10\r\n\n          }\r\n\n      },\r\n\n      "sync_pulse_in": {\r\n\n          "diagnostics": {\r\n\n              "count": 1,\r\n\n              "count_unfiltered": 0,\r\n\n              "last_period_nsec": 0\r\n\n          },\r\n\n          "locked": 0,\r\n\n          "polarity": "ACTIVE_HIGH"\r\n\n      },\r\n\n      "timestamp": {\r\n\n          "mode": "TIME_FROM_INTERNAL_OSC",\r\n\n          "time": 27784.88125111,\r\n\n          "time_options": {\r\n\n              "internal_osc": 27784,\r\n\n              "ptp_1588": 27795,\r\n\n              "sync_pulse_in": 1\r\n\n          }\r\n\n      }\r\n\n  }')

status code: 200 No error

Description: Returns JSON-formatted sensor timing configuration and status of udp timestamp, sync_pulse_in, and multipurpose_io. For more information on these parameters refer to the get_time_info TCP command.

GET /api/v1/time/system

GET 192.0.2.123/api/v1/time/system

Get the operating system time status. These values relate to the sensor operating system clocks, and not clocks related to hardware timestamp data from the lidar sensor.

http

GET /api/v1/time/system HTTP/1.1
Host: 192.0.2.123

curl

curl -i http://192.0.2.123/api/v1/time/system

httpie

http http://192.0.2.123/api/v1/time/system

python-requests

requests.get('http://192.0.2.123/api/v1/time/system')

response

HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8

{
  "monotonic": 345083.599570944,
  "realtime": 1551814510.730453,
  "tracking": {
    "frequency": -6.185,
    "last_offset": -3.315e-06,
    "leap_status": "normal",
    "ref_time_utc": 1551814508.1982567,
    "reference_id": "70747000",
    "remote_host": "ptp",
    "residual_frequency": -0.019,
    "rms_offset": 4.133e-06,
    "root_delay": 1e-09,
    "root_dispersion": 0.000128737,
    "skew": 1.14,
    "stratum": 1,
    "system_time_offset": 4.976e-06,
    "update_interval": 2
  }
}
>json float monotonic: Monotonic time of operating system. This timestamp

never counts backwards and is the time since boot in seconds.

>json float realtime: Time in seconds since the Unix epoch, should match

wall time if synchronized with external time source.

>json object tracking: Operating system time synchronization tracking status. See chronyc tracking documentation for more information.

statuscode: 200 No error

System tracking fields of interest:

rms_offset: Long-term average of the offset value.

system_time_offset: Time delta (in seconds) between the estimate of the operating system time and the current true time.

last_offset: Estimated local offset on the last clock update.

ref_time_utc: UTC Time at which the last measurement from the

reference source was processed.

remote_host: This is either ptp if the system is synchronizing to a PTP

time source or the address of a remote NTP server the system has selected if the sensor is connected to the Internet.

GET /api/v1/time/ptp

GET 192.0.2.123/api/v1/time/ptp

Get the status of the PTP time synchronization daemon.

Note

See the IEEE 1588-2008 standard for more details on the standard management messages.

http

GET /api/v1/time/ptp HTTP/1.1
Host: 192.0.2.123

curl

curl -i http://192.0.2.123/api/v1/time/ptp

httpie

http http://192.0.2.123/api/v1/time/ptp

python-requests

requests.get('http://192.0.2.123/api/v1/time/ptp')

response

HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8

{
  "current_data_set": {
    "mean_path_delay": 30110,
    "offset_from_master": 224159,
    "steps_removed": 1
  },
  "parent_data_set": {
    "gm_clock_accuracy": 33,
    "gm_clock_class": 6,
    "gm_offset_scaled_log_variance": 20061,
    "grandmaster_identity": "001747.fffe.700038",
    "grandmaster_priority1": 128,
    "grandmaster_priority2": 128,
    "observed_parent_clock_phase_change_rate": 2147483647,
    "observed_parent_offset_scaled_log_variance": 65535,
    "parent_port_identity": "001747.fffe.700038-1",
    "parent_stats": 0
  },
  "port_data_set": {
    "announce_receipt_timeout": 3,
    "delay_mechanism": 1,
    "log_announce_interval": 1,
    "log_min_delay_req_interval": 0,
    "log_min_pdelay_req_interval": 0,
    "log_sync_interval": 0,
    "peer_mean_path_delay": 0,
    "port_identity": "bc0fa7.fffe.00012c-1",
    "port_state": "SLAVE",
    "version_number": 2
  },
  "time_properties_data_set": {
    "current_utc_offset": 37,
    "current_utc_offset_valid": 1,
    "frequency_traceable": 1,
    "leap59": 0,
    "leap61": 0,
    "ptp_timescale": 1,
    "time_source": 32,
    "time_traceable": 1
  },
  "time_status_np": {
    "cumulative_scaled_rate_offset": 0,
    "gm_identity": "001747.fffe.700038",
    "gm_present": true,
    "gm_time_base_indicator": 0,
    "ingress_time": 1551814546772493800,
    "last_gm_phase_change": "0x0000'0000000000000000.0000",
    "master_offset": 224159,
    "scaled_last_gm_phase_change": 0
  }
}
>json object current_data_set

Result of the PMC GET CURRENT_DATA_SET command.

>json object parent_data_set

Result of the PMC GET PARENT_DATA_SET command.

>json object port_data_set

Result of the PMC GET PORT_DATA_SET command.

>json object time_properties_data_set

Result of the PMC GET TIME_PROPERTIES_DATA_SET command.

>json object time_status_np

Result of the PMC GET TIME_STATUS_NP command. This is a linuxptp non-portable command.

statuscode: 200 No error

Fields of interest:

current_data_set.offset_from_master

Offset from master time source in nanoseconds as calculated during the last update from master.

parent_data_set.grandmaster_identity

This should match the local grandmaster clock. If this displays the sensor’s clock identity (derived from Ethernet hardware address) then this indicates the sensor is not properly synchronized to a grandmaster.

parent_data_set

Various information about the selected master clock.

port_data_set.port_state

This value will be SLAVE when a remote master clock is selected. See parent_data_set for selected master clock.

port_data_set

Local sensor PTP configuration values. Grandmaster clock needs to match these for proper time synchronization.

time_properties_data_set

PTP properties as given by master clock.

time_status_np.gm_identity

Selected grandmaster clock identity.

time_status_np.gm_present

True when grandmaster has been detected. This may stay true even if grandmaster goes off-line. Use port_data_set.port_state to determine up-to-date synchronization status. When this is false then the local clock is selected.

time_status_np.ingress_time

Indicates when the last PTP message was received. Units are in nanoseconds.

time_status_np

Linux PTP specific diagnostic values. The Red Hat manual provides some more information on these fields

GET /api/v1/time/ptp/profile

GET 192.0.2.123/api/v1/time/ptp/profile

Get the active PTP profile of the Ouster sensor

http

GET /api/v1/time/ptp/profile HTTP/1.1
   Content-Type: application/json
   Host: 192.0.2.123

curl

curl -i http://nohost/api/v1/time/ptp/profile

httpie

http http://nohost/api/v1/time/ptp/profile

python-requests

requests.get('http://nohost/api/v1/time/ptp/profile')

response

HTTP/1.1 200 OK
content-length: 9
content-type: application/json; charset=UTF-8

"gptp"

>json string: Active PTP profile.

statuscode: 200 No error

PUT /api/v1/time/ptp/profile

PUT 192.0.2.123/api/v1/time/ptp/profile

Change the PTP profile of the Ouster sensor

http

PUT /api/v1/time/ptp/profile HTTP/1.1
   Content-Type: application/json
   Host: 192.0.2.123

   "gptp"

curl

curl -i -X PUT http://nohost/api/v1/time/ptp/profile --data-raw '"gptp"'

httpie

echo '"gptp"' | http PUT http://nohost/api/v1/time/ptp/profile

python-requests

requests.put('http://nohost/api/v1/time/ptp/profile', data='"gptp"')

response

HTTP/1.1 200 OK
content-length: 9
content-type: application/json; charset=UTF-8

"gptp"

<json string: PTP profile to be activated, valid options are "default", "gptp", and "automotive-slave"

>json string: Active PTP profile.

statuscode: 200 No error

Alerts, Diagnostics and Telemetry

GET /api/v1/sensor/alerts

Example 1: Using HTTPie command GET /api/v1/sensor/alerts

GET 169.254.198.184/api/v1/sensor/alerts

Get the sensor lidar intrinsics

http

GET /api/v1/sensor/alerts HTTP/1.1
Host: 169.254.198.184

HTTP/1.1 200 OK
content-length: 3941
content-type: application/json

  {
      "active": [
          {
              "active": true,
              "category": "UDP_TRANSMISSION",
              "cursor": 8,
              "id": "0x01000018",
              "level": "WARNING",
              "msg": "Client machine announced it is not reachable on the provided not reachable on
                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor
                     matches client IP and port.",
              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",
              "realtime": "1309574110356"
          }
      ],
      "log": [
          {
              "active": true,
              "category": "UDP_TRANSMISSION",
              "cursor": 0,
              "id": "0x01000018",
              "level": "WARNING",
              "msg": "Client machine announced it is not reachable on the provided not reachable on
                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor
                     matches client IP and port.",
              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",
              "realtime": "87914851559"
          },
          {
              "active": true,
              "category": "UDP_TRANSMISSION",
              "cursor": 1,
              "id": "0x01000015",
              "level": "WARNING",
              "msg": "Client machine announced it is not reachable on the provided lidar data port;
                      check that udp_dest and udp_port_lidar configured on the sensor matches client
                      IP and port.",
              "msg_verbose": "Failed to send lidar UDP data to destination host 169.254.28.205:7502",
              "realtime": "88906828916"
          },
          {
              "active": false,
              "category": "UDP_TRANSMISSION",
              "cursor": 2,
              "id": "0x01000015",
              "level": "WARNING",
              "msg": "Client machine announced it is not reachable on the provided lidar data port;
                     check that udp_dest and udp_port_lidar configured on the sensor matches client
                     IP and port.",
              "msg_verbose": "Cleared by reinitialization.",
              "realtime": "171640501848"
          },
          {
              "active": false,
              "category": "UDP_TRANSMISSION",
              "cursor": 3,
              "id": "0x01000018",
              "level": "WARNING",
              "msg": "Client machine announced it is not reachable on the provided not reachable on
                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor matches
                     client IP and port.",
              "msg_verbose": "Cleared by reinitialization.",
              "realtime": "171640962692"
          },
          {
              "active": true,
              "category": "UDP_TRANSMISSION",
              "cursor": 4,
              "id": "0x01000018",
              "level": "WARNING",
              "msg": "Client machine announced it is not reachable on the provided not reachable on
                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor
                     matches client IP and port.",
              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",
              "realtime": "188178225997"
          },
          {
              "active": true,
              "category": "UDP_TRANSMISSION",
              "cursor": 5,
              "id": "0x01000015",
              "level": "WARNING",
              "msg": "Client machine announced it is not reachable on the provided lidar data port;
                     check that udp_dest and udp_port_lidar configured on the sensor matches client
                     IP and port.",
              "msg_verbose": "Failed to send lidar UDP data to destination host 169.254.28.205:7502",
              "realtime": "189169539737"
          },
          {
              "active": false,
              "category": "UDP_TRANSMISSION",
              "cursor": 6,
              "id": "0x01000015",
              "level": "WARNING",
              "msg": "Client machine announced it is not reachable on the provided lidar data port;
                     check that udp_dest and udp_port_lidar configured on the sensor matches client
                     IP and port.",
              "msg_verbose": "Cleared by reinitialization.",
              "realtime": "1293004145514"
          },
          {
              "active": false,
              "category": "UDP_TRANSMISSION",
              "cursor": 7,
              "id": "0x01000018",
              "level": "WARNING",
              "msg": "Client machine announced it is not reachable on the provided not reachable on
                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor
                     matches client IP and port.",
              "msg_verbose": "Cleared by reinitialization.",
              "realtime": "1293004551057"
          },
          {
              "active": true,
              "category": "UDP_TRANSMISSION",
              "cursor": 8,
              "id": "0x01000018",
              "level": "WARNING",
              "msg": "Client machine announced it is not reachable on the provided not reachable on
                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor
                     matches client IP and port.",
              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",
              "realtime": "1309574110356"
          }
      ],
      "next_cursor": 9
  }

curl

curl -i http://169.254.198.184/api/v1/sensor/alerts --data-raw 'HTTP/1.1 200 OK

content-length: 3941

content-type: application/json



  {

      "active": [

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 8,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor

                     matches client IP and port.",

              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",

              "realtime": "1309574110356"

          }

      ],

      "log": [

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 0,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor

                     matches client IP and port.",

              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",

              "realtime": "87914851559"

          },

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 1,

              "id": "0x01000015",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided lidar data port;

                      check that udp_dest and udp_port_lidar configured on the sensor matches client

                      IP and port.",

              "msg_verbose": "Failed to send lidar UDP data to destination host 169.254.28.205:7502",

              "realtime": "88906828916"

          },

          {

              "active": false,

              "category": "UDP_TRANSMISSION",

              "cursor": 2,

              "id": "0x01000015",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided lidar data port;

                     check that udp_dest and udp_port_lidar configured on the sensor matches client

                     IP and port.",

              "msg_verbose": "Cleared by reinitialization.",

              "realtime": "171640501848"

          },

          {

              "active": false,

              "category": "UDP_TRANSMISSION",

              "cursor": 3,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor matches

                     client IP and port.",

              "msg_verbose": "Cleared by reinitialization.",

              "realtime": "171640962692"

          },

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 4,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor

                     matches client IP and port.",

              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",

              "realtime": "188178225997"

          },

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 5,

              "id": "0x01000015",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided lidar data port;

                     check that udp_dest and udp_port_lidar configured on the sensor matches client

                     IP and port.",

              "msg_verbose": "Failed to send lidar UDP data to destination host 169.254.28.205:7502",

              "realtime": "189169539737"

          },

          {

              "active": false,

              "category": "UDP_TRANSMISSION",

              "cursor": 6,

              "id": "0x01000015",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided lidar data port;

                     check that udp_dest and udp_port_lidar configured on the sensor matches client

                     IP and port.",

              "msg_verbose": "Cleared by reinitialization.",

              "realtime": "1293004145514"

          },

          {

              "active": false,

              "category": "UDP_TRANSMISSION",

              "cursor": 7,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor

                     matches client IP and port.",

              "msg_verbose": "Cleared by reinitialization.",

              "realtime": "1293004551057"

          },

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 8,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor

                     matches client IP and port.",

              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",

              "realtime": "1309574110356"

          }

      ],

      "next_cursor": 9

  }'

httpie

echo 'HTTP/1.1 200 OK

content-length: 3941

content-type: application/json



  {

      "active": [

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 8,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor

                     matches client IP and port.",

              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",

              "realtime": "1309574110356"

          }

      ],

      "log": [

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 0,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor

                     matches client IP and port.",

              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",

              "realtime": "87914851559"

          },

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 1,

              "id": "0x01000015",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided lidar data port;

                      check that udp_dest and udp_port_lidar configured on the sensor matches client

                      IP and port.",

              "msg_verbose": "Failed to send lidar UDP data to destination host 169.254.28.205:7502",

              "realtime": "88906828916"

          },

          {

              "active": false,

              "category": "UDP_TRANSMISSION",

              "cursor": 2,

              "id": "0x01000015",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided lidar data port;

                     check that udp_dest and udp_port_lidar configured on the sensor matches client

                     IP and port.",

              "msg_verbose": "Cleared by reinitialization.",

              "realtime": "171640501848"

          },

          {

              "active": false,

              "category": "UDP_TRANSMISSION",

              "cursor": 3,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor matches

                     client IP and port.",

              "msg_verbose": "Cleared by reinitialization.",

              "realtime": "171640962692"

          },

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 4,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor

                     matches client IP and port.",

              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",

              "realtime": "188178225997"

          },

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 5,

              "id": "0x01000015",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided lidar data port;

                     check that udp_dest and udp_port_lidar configured on the sensor matches client

                     IP and port.",

              "msg_verbose": "Failed to send lidar UDP data to destination host 169.254.28.205:7502",

              "realtime": "189169539737"

          },

          {

              "active": false,

              "category": "UDP_TRANSMISSION",

              "cursor": 6,

              "id": "0x01000015",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided lidar data port;

                     check that udp_dest and udp_port_lidar configured on the sensor matches client

                     IP and port.",

              "msg_verbose": "Cleared by reinitialization.",

              "realtime": "1293004145514"

          },

          {

              "active": false,

              "category": "UDP_TRANSMISSION",

              "cursor": 7,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor

                     matches client IP and port.",

              "msg_verbose": "Cleared by reinitialization.",

              "realtime": "1293004551057"

          },

          {

              "active": true,

              "category": "UDP_TRANSMISSION",

              "cursor": 8,

              "id": "0x01000018",

              "level": "WARNING",

              "msg": "Client machine announced it is not reachable on the provided not reachable on

                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor

                     matches client IP and port.",

              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",

              "realtime": "1309574110356"

          }

      ],

      "next_cursor": 9

  }' | http http://169.254.198.184/api/v1/sensor/alerts

python-requests

requests.get('http://169.254.198.184/api/v1/sensor/alerts', data='HTTP/1.1 200 OK\r\n\ncontent-length: 3941\r\n\ncontent-type: application/json\r\n\n\r\n\n  {\r\n\n      "active": [\r\n\n          {\r\n\n              "active": true,\r\n\n              "category": "UDP_TRANSMISSION",\r\n\n              "cursor": 8,\r\n\n              "id": "0x01000018",\r\n\n              "level": "WARNING",\r\n\n              "msg": "Client machine announced it is not reachable on the provided not reachable on\r\n\n                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor\r\n\n                     matches client IP and port.",\r\n\n              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",\r\n\n              "realtime": "1309574110356"\r\n\n          }\r\n\n      ],\r\n\n      "log": [\r\n\n          {\r\n\n              "active": true,\r\n\n              "category": "UDP_TRANSMISSION",\r\n\n              "cursor": 0,\r\n\n              "id": "0x01000018",\r\n\n              "level": "WARNING",\r\n\n              "msg": "Client machine announced it is not reachable on the provided not reachable on\r\n\n                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor\r\n\n                     matches client IP and port.",\r\n\n              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",\r\n\n              "realtime": "87914851559"\r\n\n          },\r\n\n          {\r\n\n              "active": true,\r\n\n              "category": "UDP_TRANSMISSION",\r\n\n              "cursor": 1,\r\n\n              "id": "0x01000015",\r\n\n              "level": "WARNING",\r\n\n              "msg": "Client machine announced it is not reachable on the provided lidar data port;\r\n\n                      check that udp_dest and udp_port_lidar configured on the sensor matches client\r\n\n                      IP and port.",\r\n\n              "msg_verbose": "Failed to send lidar UDP data to destination host 169.254.28.205:7502",\r\n\n              "realtime": "88906828916"\r\n\n          },\r\n\n          {\r\n\n              "active": false,\r\n\n              "category": "UDP_TRANSMISSION",\r\n\n              "cursor": 2,\r\n\n              "id": "0x01000015",\r\n\n              "level": "WARNING",\r\n\n              "msg": "Client machine announced it is not reachable on the provided lidar data port;\r\n\n                     check that udp_dest and udp_port_lidar configured on the sensor matches client\r\n\n                     IP and port.",\r\n\n              "msg_verbose": "Cleared by reinitialization.",\r\n\n              "realtime": "171640501848"\r\n\n          },\r\n\n          {\r\n\n              "active": false,\r\n\n              "category": "UDP_TRANSMISSION",\r\n\n              "cursor": 3,\r\n\n              "id": "0x01000018",\r\n\n              "level": "WARNING",\r\n\n              "msg": "Client machine announced it is not reachable on the provided not reachable on\r\n\n                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor matches\r\n\n                     client IP and port.",\r\n\n              "msg_verbose": "Cleared by reinitialization.",\r\n\n              "realtime": "171640962692"\r\n\n          },\r\n\n          {\r\n\n              "active": true,\r\n\n              "category": "UDP_TRANSMISSION",\r\n\n              "cursor": 4,\r\n\n              "id": "0x01000018",\r\n\n              "level": "WARNING",\r\n\n              "msg": "Client machine announced it is not reachable on the provided not reachable on\r\n\n                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor\r\n\n                     matches client IP and port.",\r\n\n              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",\r\n\n              "realtime": "188178225997"\r\n\n          },\r\n\n          {\r\n\n              "active": true,\r\n\n              "category": "UDP_TRANSMISSION",\r\n\n              "cursor": 5,\r\n\n              "id": "0x01000015",\r\n\n              "level": "WARNING",\r\n\n              "msg": "Client machine announced it is not reachable on the provided lidar data port;\r\n\n                     check that udp_dest and udp_port_lidar configured on the sensor matches client\r\n\n                     IP and port.",\r\n\n              "msg_verbose": "Failed to send lidar UDP data to destination host 169.254.28.205:7502",\r\n\n              "realtime": "189169539737"\r\n\n          },\r\n\n          {\r\n\n              "active": false,\r\n\n              "category": "UDP_TRANSMISSION",\r\n\n              "cursor": 6,\r\n\n              "id": "0x01000015",\r\n\n              "level": "WARNING",\r\n\n              "msg": "Client machine announced it is not reachable on the provided lidar data port;\r\n\n                     check that udp_dest and udp_port_lidar configured on the sensor matches client\r\n\n                     IP and port.",\r\n\n              "msg_verbose": "Cleared by reinitialization.",\r\n\n              "realtime": "1293004145514"\r\n\n          },\r\n\n          {\r\n\n              "active": false,\r\n\n              "category": "UDP_TRANSMISSION",\r\n\n              "cursor": 7,\r\n\n              "id": "0x01000018",\r\n\n              "level": "WARNING",\r\n\n              "msg": "Client machine announced it is not reachable on the provided not reachable on\r\n\n                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor\r\n\n                     matches client IP and port.",\r\n\n              "msg_verbose": "Cleared by reinitialization.",\r\n\n              "realtime": "1293004551057"\r\n\n          },\r\n\n          {\r\n\n              "active": true,\r\n\n              "category": "UDP_TRANSMISSION",\r\n\n              "cursor": 8,\r\n\n              "id": "0x01000018",\r\n\n              "level": "WARNING",\r\n\n              "msg": "Client machine announced it is not reachable on the provided not reachable on\r\n\n                     IMU data port; check that udp_dest and udp_port_imu configured on the sensor\r\n\n                     matches client IP and port.",\r\n\n              "msg_verbose": "Failed to send imu UDP data to destination host 169.254.28.205:7503",\r\n\n              "realtime": "1309574110356"\r\n\n          }\r\n\n      ],\r\n\n      "next_cursor": 9\r\n\n  }')

status code: 200 No error

Description: Returns JSON-formatted sensor diagnostic information.

Two lists will be returned, an active list and a log list. The active list will contain alert-trigger events for alerts that are currently active. An alert-trigger event will by-definition always have its active attribute set to true. There is no limit on the number of alert-trigger events that are displayed in the active event list. All currently active alert-trigger events will be displayed in the active event list.

The log list will contain all current and past alert-trigger and alert-clear events. An alert-clear event will by-definition have the exact same attributes and attribute values as its corresponding trigger event, with the exception of the realtime and cursor attributes which should have higher values, since an alert-clear event will always be received after an alert-trigger event. The log list has a length limit of 32 events with the oldest events automatically removed from the log list once a new event needs to be added to the log list and the log list length limit is reached, essentially acting as a FIFO (First In First Out) queue.

In addition to the active and log lists, get_alerts also returns a next_cursor field. Every alert event has a cursor attribute, which increments for every alert event logged. This can be used to track the alert activity that has been viewed and reduce message bandwidth. To do this, users are recommended to save the next_cursor field when calling get_alerts and then use that value as the START_CURSOR argument on the next get_alerts call to fetch only new log entries.

A valid value for MODE is either summary or default.

Note

Valid uses of get_alerts:

  • Example: Calling get_alerts with START_CURSOR=1

    get_alerts 1

  • Example: Calling get_alerts with START_CURSOR=2 and MODE=summary

    get_alerts 2 summary

Invalid uses of get_alerts:

  • Example: Calling get_alerts with START_CURSOR=summary and MODE=2

    get_alerts summary 2

Note

The order in which the START_CURSOR and MODE arguments are specified for the get_alerts TCP command must be followed when providing both arguments, with START_CURSOR preceding the MODE. The arguments can be specified in any order when calling the equivalent /api/v1/sensor/alerts HTTP endpoint.

Example2: Using cURL command GET /api/v1/sensor/alerts

$ curl --request GET --url http://169.254.216.107/api/v1/sensor/alerts

 {
     "next_cursor": 10,
     "log":
     [
      {
         "active": true,
         "msg_verbose": "Failed to send imu UDP data to destination
                         host 169.254.117.239:7503",
         "cursor": 0,
         "id": "0x01000018",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the
                 provided IMU data port; check that udp_dest and
                 udp_port_imu configured on the sensor matches client IP and port.
                 This Alert may occur on sensor startup if the client is not
                 listening at that time.",
         "realtime": "36290112071"
     },
     {
         "active": true,
         "msg_verbose": "Failed to send lidar UDP data to destination
                         host 169.254.117.239:7502",
         "cursor": 1,
         "id": "0x01000015",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the provided
                 lidar data port; check that udp_dest and udp_port_lidar configured
                 on the sensor matches client IP and port.
                 This Alert may occur on sensor startup if the client is not
                 listening at that time.",
         "realtime": "37280855516"
     },
     {
         "active": false,
         "msg_verbose": "Cleared by reinitialization.",
         "cursor": 2,
         "id": "0x01000015",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the provided
                 lidar data port; check that udp_dest and udp_port_lidar configured
                 on the sensor matches client IP and port.
                 This Alert may occur on sensor startup if the client is not listening
                 at that time.",
         "realtime": "1324837582611"
     },
     {
         "active": false,
         "msg_verbose": "Cleared by reinitialization.",
         "cursor": 3,
         "id": "0x01000018",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the provided
                 IMU data port; check that udp_dest and udp_port_imu configured
                 on the sensor matches client IP and port.
                 This Alert may occur on sensor startup if the client is not
                 listening at that time.",
         "realtime": "1324837951308"
     },
     {
         "active": true,
         "msg_verbose": "Failed to send imu UDP data to destination
                         host 169.254.117.239:7503",
         "cursor": 4,
         "id": "0x01000018",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the provided IMU data port;
                 check that udp_dest and udp_port_imu configured on the sensor matches client
                 IP and port. This Alert may occur on sensor startup if the client is not
                 listening at that time.",
         "realtime": "1337796738411"
     },
     {
         "active": true,
         "msg_verbose": "Failed to send lidar UDP data to destination
                         host 169.254.117.239:7502",
         "cursor": 5,
         "id": "0x01000015",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the provided lidar data port;
                 check that udp_dest and udp_port_lidar configured on the sensor matches
                 client IP and port. This Alert may occur on sensor startup if the client
                 is not listening at that time.",
         "realtime": "1342789095053"
     },
     {
         "active": false,
         "msg_verbose": "Cleared by reinitialization.",
         "cursor": 6,
         "id": "0x01000015",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the provided lidar data port;
                 check that udp_dest and udp_port_lidar configured on the sensor matches client
                 IP and port. This Alert may occur on sensor startup if the client is not
                 listening at that time.",
         "realtime": "2376756278143"
     },
     {
         "active": false,
         "msg_verbose": "Cleared by reinitialization.",
         "cursor": 7,
         "id": "0x01000018",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the provided IMU data port;
                 check that udp_dest and udp_port_imu configured on the sensor matches
                 client IP and port. This Alert may occur on sensor startup if the client
                 is not listening at that time.",
         "realtime": "2376756665275"
     },
     {
         "active": true,
         "msg_verbose": "Failed to send imu UDP data to destination
                         host 169.254.117.239:7503",
         "cursor": 8,
         "id": "0x01000018",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the provided IMU data port;
                 check that udp_dest and udp_port_imu configured on the sensor matches
                 client IP and port. This Alert may occur on sensor startup if the client
                 is not listening at that time.",
         "realtime": "2389805137860"
     },
     {
         "active": true,
         "msg_verbose": "Failed to send lidar UDP data to destination
                         host 169.254.117.239:7502",
         "cursor": 9,
         "id": "0x01000015",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the provided lidar
                 data port; check that udp_dest and udp_port_lidar configured on the sensor
                 matches client IP and port. This Alert may occur on sensor startup if the
                 client is not listening at that time.",
         "realtime": "2390795752261"
     }
    ],
         "active":
    [
     {
         "active": true,
         "msg_verbose": "Failed to send lidar UDP data to destination
                         host 169.254.117.239:7502",
         "cursor": 9,
         "id": "0x01000015",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the provided lidar data port;
                 check that udp_dest and udp_port_lidar configured on the sensor matches
                 client IP and port. This Alert may occur on sensor startup if the client is
                 not listening at that time.",
         "realtime": "2390795752261"
     },
     {
         "active": true,
         "msg_verbose": "Failed to send imu UDP data to destination
                         host 169.254.117.239:7503",
         "cursor": 8,
         "id": "0x01000018",
         "category": "UDP_TRANSMISSION",
         "level": "WARNING",
         "msg": "Client machine announced it is not reachable on the provided IMU data port;
                 check that udp_dest and udp_port_imu configured on the sensor matches client
                 IP and port. This Alert may occur on sensor startup if the client is not
                 listening at that time.",
         "realtime": "2389805137860"
     }
    ]
 }

GET /api/v1/diagnostics/dump

GET 192.0.2.123/api/v1/diagnostics/dump

Get the diagnostics files of the sensor

http

GET /api/v1/diagnostics/dump HTTP/1.1
Host: 192.0.2.123

curl

curl -i http://192.0.2.123/api/v1/diagnostics/dump

httpie

http http://192.0.2.123/api/v1/diagnostics/dump

python-requests

requests.get('http://192.0.2.123/api/v1/diagnostics/dump')

response

HTTP/1.1 200 OK
content-disposition: attachment; filename="192.0.2.123_diagnostics-dump_29811b9e-2afc-11eb-ae01-
                                           bc0fa700190c.bin"
content-type: application/octet-stream

{binary data}

statuscode: 200 No error

GET /api/v1/sensor/telemetry

GET 169.254.198.184/api/v1/sensor/telemetry

Get the sensor telemetry information

http

GET /api/v1/sensor/telemetry HTTP/1.1
Host: 169.254.198.184

HTTP/1.1 200 OK
content-length: 150
content-type: application/json

 {
     "input_current_ma": 758,
     "input_voltage_mv": 23606,
     "internal_temperature_deg_c": 45,
     "phase_lock_status": "DISABLED",
     "timestamp_ns": 2962666299310
 }

curl

curl -i http://169.254.198.184/api/v1/sensor/telemetry --data-raw 'HTTP/1.1 200 OK

content-length: 150

content-type: application/json



 {

     "input_current_ma": 758,

     "input_voltage_mv": 23606,

     "internal_temperature_deg_c": 45,

     "phase_lock_status": "DISABLED",

     "timestamp_ns": 2962666299310

 }'

httpie

echo 'HTTP/1.1 200 OK

content-length: 150

content-type: application/json



 {

     "input_current_ma": 758,

     "input_voltage_mv": 23606,

     "internal_temperature_deg_c": 45,

     "phase_lock_status": "DISABLED",

     "timestamp_ns": 2962666299310

 }' | http http://169.254.198.184/api/v1/sensor/telemetry

python-requests

requests.get('http://169.254.198.184/api/v1/sensor/telemetry', data='HTTP/1.1 200 OK\r\n\ncontent-length: 150\r\n\ncontent-type: application/json\r\n\n\r\n\n {\r\n\n     "input_current_ma": 758,\r\n\n     "input_voltage_mv": 23606,\r\n\n     "internal_temperature_deg_c": 45,\r\n\n     "phase_lock_status": "DISABLED",\r\n\n     "timestamp_ns": 2962666299310\r\n\n }')

status code: 200 No error

Description: Returns JSON-formatted response that provides sensor system state information. This includes the FPGA Timestamp in ns (Nanoseconds) at which the information was collected from the FPGA, Lidar Input Voltage in mv (Millivolt), Lidar Input Current in ma (Milliamp), Internal Temperature of the sensor in ºC (Degree Celsius) and Phase Lock status namely LOCKED, LOST, DISABLED..

Note

  • Internal temperature can only be measured with Rev 06 and above sensors.

  • Phase lock output will not indicate loss of lock if the PTP source is lost.