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


module px4_msgs {
  module msg {
    module GpioConfig_Constants {
      @verbatim (language="comment", text=
        "Configuration Mask" "\n"        "Bit 0-3: Direction: 0=Input, 1=Output" "\n"        "Bit 4-7: Input Config: 0=Floating, 1=PullUp, 2=PullDown" "\n"        "Bit 8-12: Output Config: 0=PushPull, 1=OpenDrain" "\n"        "Bit 13-31: Reserved" "\n"        "0x0000")
      const uint32 INPUT = 0;
      @verbatim (language="comment", text=
        "0x0001")
      const uint32 OUTPUT = 1;
      @verbatim (language="comment", text=
        "0x0010")
      const uint32 PULLUP = 16;
      @verbatim (language="comment", text=
        "0x0020")
      const uint32 PULLDOWN = 32;
      @verbatim (language="comment", text=
        "0x0100")
      const uint32 OPENDRAIN = 256;
      @verbatim (language="comment", text=
        "0x0000")
      const uint32 INPUT_FLOATING = 0;
      @verbatim (language="comment", text=
        "0x0010")
      const uint32 INPUT_PULLUP = 16;
      @verbatim (language="comment", text=
        "0x0020")
      const uint32 INPUT_PULLDOWN = 32;
      @verbatim (language="comment", text=
        "0x0000")
      const uint32 OUTPUT_PUSHPULL = 0;
      @verbatim (language="comment", text=
        "0x0100")
      const uint32 OUTPUT_OPENDRAIN = 256;
      @verbatim (language="comment", text=
        "0x0110")
      const uint32 OUTPUT_OPENDRAIN_PULLUP = 272;
    };
    @verbatim (language="comment", text=
      "GPIO configuration")
    struct GpioConfig {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "Device id")
      uint32 device_id;

      @verbatim (language="comment", text=
        "Pin mask")
      uint32 mask;

      @verbatim (language="comment", text=
        "Initial pin output state")
      uint32 state;

      uint32 config;
    };
  };
};
