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


module px4_msgs {
  module msg {
    module CellularStatus_Constants {
      @verbatim (language="comment", text=
        "State unknown or not reportable")
      const uint8 CELLULAR_STATUS_FLAG_UNKNOWN = 0;
      @verbatim (language="comment", text=
        "velocity setpoint")
      const uint8 CELLULAR_STATUS_FLAG_FAILED = 1;
      @verbatim (language="comment", text=
        "Modem is being initialized")
      const uint8 CELLULAR_STATUS_FLAG_INITIALIZING = 2;
      @verbatim (language="comment", text=
        "Modem is locked")
      const uint8 CELLULAR_STATUS_FLAG_LOCKED = 3;
      @verbatim (language="comment", text=
        "Modem is not enabled and is powered down")
      const uint8 CELLULAR_STATUS_FLAG_DISABLED = 4;
      @verbatim (language="comment", text=
        "Modem is currently transitioning to the CELLULAR_STATUS_FLAG_DISABLED state")
      const uint8 CELLULAR_STATUS_FLAG_DISABLING = 5;
      @verbatim (language="comment", text=
        "Modem is currently transitioning to the CELLULAR_STATUS_FLAG_ENABLED state")
      const uint8 CELLULAR_STATUS_FLAG_ENABLING = 6;
      @verbatim (language="comment", text=
        "Modem is enabled and powered on but not registered with a network provider and not available for data connections")
      const uint8 CELLULAR_STATUS_FLAG_ENABLED = 7;
      @verbatim (language="comment", text=
        "Modem is searching for a network provider to register")
      const uint8 CELLULAR_STATUS_FLAG_SEARCHING = 8;
      @verbatim (language="comment", text=
        "Modem is registered with a network provider, and data connections and messaging may be available for use")
      const uint8 CELLULAR_STATUS_FLAG_REGISTERED = 9;
      @verbatim (language="comment", text=
        "Modem is disconnecting and deactivating the last active packet data bearer. This state will not be entered if more than one packet data bearer is active and one of the active bearers is deactivated")
      const uint8 CELLULAR_STATUS_FLAG_DISCONNECTING = 10;
      @verbatim (language="comment", text=
        "Modem is activating and connecting the first packet data bearer. Subsequent bearer activations when another bearer is already active do not cause this state to be entered")
      const uint8 CELLULAR_STATUS_FLAG_CONNECTING = 11;
      @verbatim (language="comment", text=
        "One or more packet data bearers is active and connected")
      const uint8 CELLULAR_STATUS_FLAG_CONNECTED = 12;
      @verbatim (language="comment", text=
        "No error")
      const uint8 CELLULAR_NETWORK_FAILED_REASON_NONE = 0;
      @verbatim (language="comment", text=
        "Error state is unknown")
      const uint8 CELLULAR_NETWORK_FAILED_REASON_UNKNOWN = 1;
      @verbatim (language="comment", text=
        "SIM is required for the modem but missing")
      const uint8 CELLULAR_NETWORK_FAILED_REASON_SIM_MISSING = 2;
      @verbatim (language="comment", text=
        "SIM is available, but not usable for connection")
      const uint8 CELLULAR_NETWORK_FAILED_REASON_SIM_ERROR = 3;
    };
    struct CellularStatus {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      @verbatim (language="comment", text=
        "Status bitmap 1: Roaming is active")
      uint16 status;

      @verbatim (language="comment", text=
        "Failure reason when status in in CELLUAR_STATUS_FAILED")
      uint8 failure_reason;

      @verbatim (language="comment", text=
        "Cellular network radio type 0: none 1: gsm 2: cdma 3: wcdma 4: lte")
      uint8 type;

      @verbatim (language="comment", text=
        "Cellular network RSSI/RSRP in dBm, absolute value")
      uint8 quality;

      @verbatim (language="comment", text=
        "Mobile country code. If unknown, set to: UINT16_MAX")
      uint16 mcc;

      @verbatim (language="comment", text=
        "Mobile network code. If unknown, set to: UINT16_MAX")
      uint16 mnc;

      @verbatim (language="comment", text=
        "Location area code. If unknown, set to: 0")
      uint16 lac;
    };
  };
};
