/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* java mavlink generator tool. It should not be modified by hand.
*/
// MESSAGE LIMITS_STATUS PACKING
package com.MAVLink.ardupilotmega;
import com.MAVLink.MAVLinkPacket;
import com.MAVLink.Messages.MAVLinkMessage;
import com.MAVLink.Messages.MAVLinkPayload;
/**
* Status of AP_Limits. Sent in extended
status stream when AP_Limits is enabled
*/
public class msg_limits_status extends MAVLinkMessage{
public static final int MAVLINK_MSG_ID_LIMITS_STATUS = 167;
public static final int MAVLINK_MSG_LENGTH = 22;
private static final long serialVersionUID = MAVLINK_MSG_ID_LIMITS_STATUS;
/**
* time of last breach in milliseconds since boot
*/
public long last_trigger;
/**
* time of last recovery action in milliseconds since boot
*/
public long last_action;
/**
* time of last successful recovery in milliseconds since boot
*/
public long last_recovery;
/**
* time of last all-clear in milliseconds since boot
*/
public long last_clear;
/**
* number of fence breaches
*/
public int breach_count;
/**
* state of AP_Limits, (see enum LimitState, LIMITS_STATE)
*/
public short limits_state;
/**
* AP_Limit_Module bitfield of enabled modules, (see enum moduleid or LIMIT_MODULE)
*/
public short mods_enabled;
/**
* AP_Limit_Module bitfield of required modules, (see enum moduleid or LIMIT_MODULE)
*/
public short mods_required;
/**
* AP_Limit_Module bitfield of triggered modules, (see enum moduleid or LIMIT_MODULE)
*/
public short mods_triggered;
/**
* Generates the payload for a mavlink message for a message of this type
* @return
*/
public MAVLinkPacket pack(){
MAVLinkPacket packet = new MAVLinkPacket(MAVLINK_MSG_LENGTH);
packet.sysid = 255;
packet.compid = 190;
packet.msgid = MAVLINK_MSG_ID_LIMITS_STATUS;
packet.payload.putUnsignedInt(last_trigger);
packet.payload.putUnsignedInt(last_action);
packet.payload.putUnsignedInt(last_recovery);
packet.payload.putUnsignedInt(last_clear);
packet.payload.putUnsignedShort(breach_count);
packet.payload.putUnsignedByte(limits_state);
packet.payload.putUnsignedByte(mods_enabled);
packet.payload.putUnsignedByte(mods_required);
packet.payload.putUnsignedByte(mods_triggered);
return packet;
}
/**
* Decode a limits_status message into this class fields
*
* @param payload The message to decode
*/
public void unpack(MAVLinkPayload payload) {
payload.resetIndex();
this.last_trigger = payload.getUnsignedInt();
this.last_action = payload.getUnsignedInt();
this.last_recovery = payload.getUnsignedInt();
this.last_clear = payload.getUnsignedInt();
this.breach_count = payload.getUnsignedShort();
this.limits_state = payload.getUnsignedByte();
this.mods_enabled = payload.getUnsignedByte();
this.mods_required = payload.getUnsignedByte();
this.mods_triggered = payload.getUnsignedByte();
}
/**
* Constructor for a new message, just initializes the msgid
*/
public msg_limits_status(){
msgid = MAVLINK_MSG_ID_LIMITS_STATUS;
}
/**
* Constructor for a new message, initializes the message with the payload
* from a mavlink packet
*
*/
public msg_limits_status(MAVLinkPacket mavLinkPacket){
this.sysid = mavLinkPacket.sysid;
this.compid = mavLinkPacket.compid;
this.msgid = MAVLINK_MSG_ID_LIMITS_STATUS;
unpack(mavLinkPacket.payload);
}
/**
* Returns a string with the MSG name and data
*/
public String toString(){
return "MAVLINK_MSG_ID_LIMITS_STATUS -"+" last_trigger:"+last_trigger+" last_action:"+last_action+" last_recovery:"+last_recovery+" last_clear:"+last_clear+" breach_count:"+breach_count+" limits_state:"+limits_state+" mods_enabled:"+mods_enabled+" mods_required:"+mods_required+" mods_triggered:"+mods_triggered+"";
}
}