Skip to content

lerema/foxglove-genom3

Repository files navigation

FoxgloveStudio component

A GenoM module for foxglove studio integration.

Ports

frames (multiple in)

Data structure
  • struct ::or::sensor::frame frames

    • struct ::or::time::ts ts

      • long sec

      • long nsec

    • boolean compressed

    • unsigned short height

    • unsigned short width

    • unsigned short bpp

    • sequence< octet > pixels

The image frame port.


measure (multiple in)

Data structure
  • struct ::or_pose_estimator::state measure

    • struct ::or::time::ts ts

      • long sec

      • long nsec

    • boolean intrinsic

    • optional< struct ::or::t3d::pos > pos

      • double x

      • double y

      • double z

    • optional< struct ::or::t3d::att > att

      • double qw

      • double qx

      • double qy

      • double qz

    • optional< struct ::or::t3d::vel > vel

      • double vx

      • double vy

      • double vz

    • optional< struct ::or::t3d::avel > avel

      • double wx

      • double wy

      • double wz

    • optional< struct ::or::t3d::acc > acc

      • double ax

      • double ay

      • double az

    • optional< struct ::or::t3d::aacc > aacc

      • double awx

      • double awy

      • double awz

    • optional< struct ::or::t3d::pos_cov > pos_cov

      • double cov[6]

    • optional< struct ::or::t3d::att_cov > att_cov

      • double cov[10]

    • optional< struct ::or::t3d::att_pos_cov > att_pos_cov

      • double cov[12]

    • optional< struct ::or::t3d::vel_cov > vel_cov

      • double cov[6]

    • optional< struct ::or::t3d::avel_cov > avel_cov

      • double cov[6]

    • optional< struct ::or::t3d::acc_cov > acc_cov

      • double cov[6]

    • optional< struct ::or::t3d::aacc_cov > aacc_cov

      • double cov[6]

The sensor measurements.


gps (multiple in)

Data structure
  • struct ::FoxgloveStudio::solution_s gps

    • struct ::or::time::ts ts

      • long sec

      • long nsec

    • struct ::or::time::ts utc

      • long sec

      • long nsec

    • enum ::FoxgloveStudio::fix_s fix ∈ { fix_none, fix_interp, fix_single, fix_diff, fix_rtk_float, fix_rtk, fix_fixed }

    • struct ::FoxgloveStudio::llh_s llh

      • double latitude

      • double longitude

      • double height

    • struct ::FoxgloveStudio::enu_s pos

      • double east

      • double north

      • double up

    • struct ::FoxgloveStudio::enu_s pos_sigma

      • double east

      • double north

      • double up

    • struct ::FoxgloveStudio::enu_s vel

      • double east

      • double north

      • double up

    • struct ::FoxgloveStudio::enu_s vel_sigma

      • double east

      • double north

      • double up

    • unsigned short sats

    • unsigned short totalsats

    • sequence< struct ::FoxgloveStudio::satlist_s, 8 > satlist

      • string<8> system

      • sequence< unsigned short, 64 > used

      • sequence< unsigned short, 64 > unused

The gps measurements.


states (multiple in)

Data structure
  • struct ::or_pose_estimator::state states

    • struct ::or::time::ts ts

      • long sec

      • long nsec

    • boolean intrinsic

    • optional< struct ::or::t3d::pos > pos

      • double x

      • double y

      • double z

    • optional< struct ::or::t3d::att > att

      • double qw

      • double qx

      • double qy

      • double qz

    • optional< struct ::or::t3d::vel > vel

      • double vx

      • double vy

      • double vz

    • optional< struct ::or::t3d::avel > avel

      • double wx

      • double wy

      • double wz

    • optional< struct ::or::t3d::acc > acc

      • double ax

      • double ay

      • double az

    • optional< struct ::or::t3d::aacc > aacc

      • double awx

      • double awy

      • double awz

    • optional< struct ::or::t3d::pos_cov > pos_cov

      • double cov[6]

    • optional< struct ::or::t3d::att_cov > att_cov

      • double cov[10]

    • optional< struct ::or::t3d::att_pos_cov > att_pos_cov

      • double cov[12]

    • optional< struct ::or::t3d::vel_cov > vel_cov

      • double cov[6]

    • optional< struct ::or::t3d::avel_cov > avel_cov

      • double cov[6]

    • optional< struct ::or::t3d::acc_cov > acc_cov

      • double cov[6]

    • optional< struct ::or::t3d::aacc_cov > aacc_cov

      • double cov[6]

The pose estimation states.


Services

add_port (activity)

Inputs
  • string<128> port_name Genom port name

  • enum ::FoxgloveStudio::PortType port_type Genom port type ∈ { or_sensor_frame, or_sensor_imu, or_sensor_magnetometer, or_pose_estimator_state, or_sensor_gps }

Throws
  • exception ::FoxgloveStudio::e_BAD_CONFIG

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_BAD_PORT

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_OPENCV_ERROR

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_OUT_OF_MEM

    • short code

    • string<128> message

Context

Add a port to the list of ports to be published.


remove_port (activity)

Inputs
  • string<128> port_name Genom port name

Throws
  • exception ::FoxgloveStudio::e_BAD_CONFIG

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_BAD_PORT

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_OPENCV_ERROR

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_OUT_OF_MEM

    • short code

    • string<128> message

Context

Remove a port from the list of ports to be published.


set_debug (attribute)

Inputs
  • boolean debug (default "0") Enable debug (default: false)

Set the debug mode.


set_verbose_level (attribute)

Inputs
  • octet verbose_level (default "0") Verbose level

Set the verbose level.


setup_server (attribute)

Inputs
  • string server_ip (default "0.0.0.0") Websocket server ip

  • unsigned short server_port (default "8765") Websocket server port

Setup the websocket connection.


start_foxglove_server (function)

Throws
  • exception ::FoxgloveStudio::e_BAD_CONFIG

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_BAD_PORT

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_OPENCV_ERROR

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_OUT_OF_MEM

    • short code

    • string<128> message

Start the foxglove server.


stop_foxglove_server (function)

Inputs
  • string server_ip (default "0.0.0.0") Websocket server ip

  • unsigned short server_port (default "8765") Websocket server port

Throws
  • exception ::FoxgloveStudio::e_BAD_CONFIG

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_BAD_PORT

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_OPENCV_ERROR

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_OUT_OF_MEM

    • short code

    • string<128> message

Stop the foxglove server.


Tasks

main

Context
Throws
  • exception ::FoxgloveStudio::e_BAD_CONFIG

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_BAD_PORT

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_OPENCV_ERROR

    • short code

    • string<128> message

  • exception ::FoxgloveStudio::e_OUT_OF_MEM

    • short code

    • string<128> message

Publish to foxglove studio.


About

Foxglove interface with genom3 framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published