// generated from rosidl_adapter/resource/msg.idl.em
// with input from px4_msgs/msg/Px4ioStatus.msg
// generated code does not contain a copyright notice


module px4_msgs {
  module msg {
    typedef uint16 uint16__8[8];
    typedef uint16 uint16__18[18];
    struct Px4ioStatus {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      uint16 free_memory_bytes;

      @verbatim (language="comment", text=
        "Servo rail voltage in volts")
      float voltage_v;

      @verbatim (language="comment", text=
        "RSSI pin voltage in volts")
      float rssi_v;

      @verbatim (language="comment", text=
        "PX4IO status flags (PX4IO_P_STATUS_FLAGS)")
      boolean status_arm_sync;

      boolean status_failsafe;

      boolean status_fmu_initialized;

      boolean status_fmu_ok;

      boolean status_init_ok;

      boolean status_outputs_armed;

      boolean status_raw_pwm;

      boolean status_rc_ok;

      boolean status_rc_dsm;

      boolean status_rc_ppm;

      boolean status_rc_sbus;

      boolean status_rc_st24;

      boolean status_rc_sumd;

      @verbatim (language="comment", text=
        "px4io safety button was pressed for longer than 1 second")
      boolean status_safety_button_event;

      @verbatim (language="comment", text=
        "PX4IO alarms (PX4IO_P_STATUS_ALARMS)")
      boolean alarm_pwm_error;

      boolean alarm_rc_lost;

      @verbatim (language="comment", text=
        "PX4IO arming (PX4IO_P_SETUP_ARMING)")
      boolean arming_failsafe_custom;

      boolean arming_fmu_armed;

      boolean arming_fmu_prearmed;

      boolean arming_force_failsafe;

      boolean arming_io_arm_ok;

      boolean arming_lockdown;

      boolean arming_termination_failsafe;

      uint16__8 pwm;

      uint16__8 pwm_disarmed;

      uint16__8 pwm_failsafe;

      uint16__8 pwm_rate_hz;

      uint16__18 raw_inputs;
    };
  };
};
