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


module px4_msgs {
  module msg {
    typedef float float__18[18];
    typedef int8 int8__29[29];
    module RcChannels_Constants {
      const uint8 FUNCTION_THROTTLE = 0;
      const uint8 FUNCTION_ROLL = 1;
      const uint8 FUNCTION_PITCH = 2;
      const uint8 FUNCTION_YAW = 3;
      const uint8 FUNCTION_RETURN = 4;
      const uint8 FUNCTION_LOITER = 5;
      const uint8 FUNCTION_OFFBOARD = 6;
      const uint8 FUNCTION_FLAPS = 7;
      const uint8 FUNCTION_AUX_1 = 8;
      const uint8 FUNCTION_AUX_2 = 9;
      const uint8 FUNCTION_AUX_3 = 10;
      const uint8 FUNCTION_AUX_4 = 11;
      const uint8 FUNCTION_AUX_5 = 12;
      const uint8 FUNCTION_AUX_6 = 13;
      const uint8 FUNCTION_PARAM_1 = 14;
      const uint8 FUNCTION_PARAM_2 = 15;
      const uint8 FUNCTION_PARAM_3_5 = 16;
      const uint8 FUNCTION_KILLSWITCH = 17;
      const uint8 FUNCTION_TRANSITION = 18;
      const uint8 FUNCTION_GEAR = 19;
      const uint8 FUNCTION_ARMSWITCH = 20;
      const uint8 FUNCTION_FLTBTN_SLOT_1 = 21;
      const uint8 FUNCTION_FLTBTN_SLOT_2 = 22;
      const uint8 FUNCTION_FLTBTN_SLOT_3 = 23;
      const uint8 FUNCTION_FLTBTN_SLOT_4 = 24;
      const uint8 FUNCTION_FLTBTN_SLOT_5 = 25;
      const uint8 FUNCTION_FLTBTN_SLOT_6 = 26;
      const uint8 FUNCTION_ENGAGE_MAIN_MOTOR = 27;
      const uint8 FUNCTION_PAYLOAD_POWER = 28;
      const uint8 FUNCTION_FLTBTN_SLOT_COUNT = 6;
    };
    struct RcChannels {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "Timestamp of last valid RC signal")
      uint64 timestamp_last_valid;

      @verbatim (language="comment", text=
        "Scaled to -1..1 (throttle: 0..1)")
      float__18 channels;

      @verbatim (language="comment", text=
        "Number of valid channels")
      uint8 channel_count;

      @verbatim (language="comment", text=
        "Functions mapping")
      int8__29 function;

      @verbatim (language="comment", text=
        "Receive signal strength index")
      uint8 rssi;

      @verbatim (language="comment", text=
        "Control signal lost, should be checked together with topic timeout")
      boolean signal_lost;

      @verbatim (language="comment", text=
        "Number of dropped frames")
      uint32 frame_drop_count;
    };
  };
};
