; Auto-generated. Do not edit!


(cl:in-package kmriiwa_chemist_msgs-msg)


;//! \htmlinclude KMRStatus.msg.html

(cl:defclass <KMRStatus> (roslisp-msg-protocol:ros-message)
  ((header
    :reader header
    :initarg :header
    :type std_msgs-msg:Header
    :initform (cl:make-instance 'std_msgs-msg:Header))
   (robot_op_state
    :reader robot_op_state
    :initarg :robot_op_state
    :type cl:string
    :initform "")
   (commandable
    :reader commandable
    :initarg :commandable
    :type cl:boolean
    :initform cl:nil)
   (stationary
    :reader stationary
    :initarg :stationary
    :type cl:boolean
    :initform cl:nil)
   (last_graph_node_id
    :reader last_graph_node_id
    :initarg :last_graph_node_id
    :type cl:integer
    :initform 0)
   (safety_state
    :reader safety_state
    :initarg :safety_state
    :type cl:integer
    :initform 0)
   (state_of_charge
    :reader state_of_charge
    :initarg :state_of_charge
    :type cl:float
    :initform 0.0))
)

(cl:defclass KMRStatus (<KMRStatus>)
  ())

(cl:defmethod cl:initialize-instance :after ((m <KMRStatus>) cl:&rest args)
  (cl:declare (cl:ignorable args))
  (cl:unless (cl:typep m 'KMRStatus)
    (roslisp-msg-protocol:msg-deprecation-warning "using old message class name kmriiwa_chemist_msgs-msg:<KMRStatus> is deprecated: use kmriiwa_chemist_msgs-msg:KMRStatus instead.")))

(cl:ensure-generic-function 'header-val :lambda-list '(m))
(cl:defmethod header-val ((m <KMRStatus>))
  (roslisp-msg-protocol:msg-deprecation-warning "Using old-style slot reader kmriiwa_chemist_msgs-msg:header-val is deprecated.  Use kmriiwa_chemist_msgs-msg:header instead.")
  (header m))

(cl:ensure-generic-function 'robot_op_state-val :lambda-list '(m))
(cl:defmethod robot_op_state-val ((m <KMRStatus>))
  (roslisp-msg-protocol:msg-deprecation-warning "Using old-style slot reader kmriiwa_chemist_msgs-msg:robot_op_state-val is deprecated.  Use kmriiwa_chemist_msgs-msg:robot_op_state instead.")
  (robot_op_state m))

(cl:ensure-generic-function 'commandable-val :lambda-list '(m))
(cl:defmethod commandable-val ((m <KMRStatus>))
  (roslisp-msg-protocol:msg-deprecation-warning "Using old-style slot reader kmriiwa_chemist_msgs-msg:commandable-val is deprecated.  Use kmriiwa_chemist_msgs-msg:commandable instead.")
  (commandable m))

(cl:ensure-generic-function 'stationary-val :lambda-list '(m))
(cl:defmethod stationary-val ((m <KMRStatus>))
  (roslisp-msg-protocol:msg-deprecation-warning "Using old-style slot reader kmriiwa_chemist_msgs-msg:stationary-val is deprecated.  Use kmriiwa_chemist_msgs-msg:stationary instead.")
  (stationary m))

(cl:ensure-generic-function 'last_graph_node_id-val :lambda-list '(m))
(cl:defmethod last_graph_node_id-val ((m <KMRStatus>))
  (roslisp-msg-protocol:msg-deprecation-warning "Using old-style slot reader kmriiwa_chemist_msgs-msg:last_graph_node_id-val is deprecated.  Use kmriiwa_chemist_msgs-msg:last_graph_node_id instead.")
  (last_graph_node_id m))

(cl:ensure-generic-function 'safety_state-val :lambda-list '(m))
(cl:defmethod safety_state-val ((m <KMRStatus>))
  (roslisp-msg-protocol:msg-deprecation-warning "Using old-style slot reader kmriiwa_chemist_msgs-msg:safety_state-val is deprecated.  Use kmriiwa_chemist_msgs-msg:safety_state instead.")
  (safety_state m))

(cl:ensure-generic-function 'state_of_charge-val :lambda-list '(m))
(cl:defmethod state_of_charge-val ((m <KMRStatus>))
  (roslisp-msg-protocol:msg-deprecation-warning "Using old-style slot reader kmriiwa_chemist_msgs-msg:state_of_charge-val is deprecated.  Use kmriiwa_chemist_msgs-msg:state_of_charge instead.")
  (state_of_charge m))
(cl:defmethod roslisp-msg-protocol:symbol-codes ((msg-type (cl:eql '<KMRStatus>)))
    "Constants for message type '<KMRStatus>"
  '((:ACKNOWLEDGE_REQUIRED . 1)
    (:EMERGENCY_STOP . 2)
    (:SAFE . 3)
    (:WARNING_FILED . 4))
)
(cl:defmethod roslisp-msg-protocol:symbol-codes ((msg-type (cl:eql 'KMRStatus)))
    "Constants for message type 'KMRStatus"
  '((:ACKNOWLEDGE_REQUIRED . 1)
    (:EMERGENCY_STOP . 2)
    (:SAFE . 3)
    (:WARNING_FILED . 4))
)
(cl:defmethod roslisp-msg-protocol:serialize ((msg <KMRStatus>) ostream)
  "Serializes a message object of type '<KMRStatus>"
  (roslisp-msg-protocol:serialize (cl:slot-value msg 'header) ostream)
  (cl:let ((__ros_str_len (cl:length (cl:slot-value msg 'robot_op_state))))
    (cl:write-byte (cl:ldb (cl:byte 8 0) __ros_str_len) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 8) __ros_str_len) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 16) __ros_str_len) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 24) __ros_str_len) ostream))
  (cl:map cl:nil #'(cl:lambda (c) (cl:write-byte (cl:char-code c) ostream)) (cl:slot-value msg 'robot_op_state))
  (cl:write-byte (cl:ldb (cl:byte 8 0) (cl:if (cl:slot-value msg 'commandable) 1 0)) ostream)
  (cl:write-byte (cl:ldb (cl:byte 8 0) (cl:if (cl:slot-value msg 'stationary) 1 0)) ostream)
  (cl:let* ((signed (cl:slot-value msg 'last_graph_node_id)) (unsigned (cl:if (cl:< signed 0) (cl:+ signed 4294967296) signed)))
    (cl:write-byte (cl:ldb (cl:byte 8 0) unsigned) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 8) unsigned) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 16) unsigned) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 24) unsigned) ostream)
    )
  (cl:let* ((signed (cl:slot-value msg 'safety_state)) (unsigned (cl:if (cl:< signed 0) (cl:+ signed 4294967296) signed)))
    (cl:write-byte (cl:ldb (cl:byte 8 0) unsigned) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 8) unsigned) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 16) unsigned) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 24) unsigned) ostream)
    )
  (cl:let ((bits (roslisp-utils:encode-single-float-bits (cl:slot-value msg 'state_of_charge))))
    (cl:write-byte (cl:ldb (cl:byte 8 0) bits) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 8) bits) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 16) bits) ostream)
    (cl:write-byte (cl:ldb (cl:byte 8 24) bits) ostream))
)
(cl:defmethod roslisp-msg-protocol:deserialize ((msg <KMRStatus>) istream)
  "Deserializes a message object of type '<KMRStatus>"
  (roslisp-msg-protocol:deserialize (cl:slot-value msg 'header) istream)
    (cl:let ((__ros_str_len 0))
      (cl:setf (cl:ldb (cl:byte 8 0) __ros_str_len) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 8) __ros_str_len) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 16) __ros_str_len) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 24) __ros_str_len) (cl:read-byte istream))
      (cl:setf (cl:slot-value msg 'robot_op_state) (cl:make-string __ros_str_len))
      (cl:dotimes (__ros_str_idx __ros_str_len msg)
        (cl:setf (cl:char (cl:slot-value msg 'robot_op_state) __ros_str_idx) (cl:code-char (cl:read-byte istream)))))
    (cl:setf (cl:slot-value msg 'commandable) (cl:not (cl:zerop (cl:read-byte istream))))
    (cl:setf (cl:slot-value msg 'stationary) (cl:not (cl:zerop (cl:read-byte istream))))
    (cl:let ((unsigned 0))
      (cl:setf (cl:ldb (cl:byte 8 0) unsigned) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 8) unsigned) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 16) unsigned) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 24) unsigned) (cl:read-byte istream))
      (cl:setf (cl:slot-value msg 'last_graph_node_id) (cl:if (cl:< unsigned 2147483648) unsigned (cl:- unsigned 4294967296))))
    (cl:let ((unsigned 0))
      (cl:setf (cl:ldb (cl:byte 8 0) unsigned) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 8) unsigned) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 16) unsigned) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 24) unsigned) (cl:read-byte istream))
      (cl:setf (cl:slot-value msg 'safety_state) (cl:if (cl:< unsigned 2147483648) unsigned (cl:- unsigned 4294967296))))
    (cl:let ((bits 0))
      (cl:setf (cl:ldb (cl:byte 8 0) bits) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 8) bits) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 16) bits) (cl:read-byte istream))
      (cl:setf (cl:ldb (cl:byte 8 24) bits) (cl:read-byte istream))
    (cl:setf (cl:slot-value msg 'state_of_charge) (roslisp-utils:decode-single-float-bits bits)))
  msg
)
(cl:defmethod roslisp-msg-protocol:ros-datatype ((msg (cl:eql '<KMRStatus>)))
  "Returns string type for a message object of type '<KMRStatus>"
  "kmriiwa_chemist_msgs/KMRStatus")
(cl:defmethod roslisp-msg-protocol:ros-datatype ((msg (cl:eql 'KMRStatus)))
  "Returns string type for a message object of type 'KMRStatus"
  "kmriiwa_chemist_msgs/KMRStatus")
(cl:defmethod roslisp-msg-protocol:md5sum ((type (cl:eql '<KMRStatus>)))
  "Returns md5sum for a message object of type '<KMRStatus>"
  "a9bcf9045c06bd7ceb24e87815705b06")
(cl:defmethod roslisp-msg-protocol:md5sum ((type (cl:eql 'KMRStatus)))
  "Returns md5sum for a message object of type 'KMRStatus"
  "a9bcf9045c06bd7ceb24e87815705b06")
(cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '<KMRStatus>)))
  "Returns full string definition for message of type '<KMRStatus>"
  (cl:format cl:nil "Header header~%string robot_op_state~%bool commandable~%bool stationary~%int32 last_graph_node_id~%int32 ACKNOWLEDGE_REQUIRED = 1~%int32 EMERGENCY_STOP = 2~%int32 SAFE = 3~%int32 WARNING_FILED = 4~%int32 safety_state~%float32 state_of_charge~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%"))
(cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'KMRStatus)))
  "Returns full string definition for message of type 'KMRStatus"
  (cl:format cl:nil "Header header~%string robot_op_state~%bool commandable~%bool stationary~%int32 last_graph_node_id~%int32 ACKNOWLEDGE_REQUIRED = 1~%int32 EMERGENCY_STOP = 2~%int32 SAFE = 3~%int32 WARNING_FILED = 4~%int32 safety_state~%float32 state_of_charge~%~%~%================================================================================~%MSG: std_msgs/Header~%# Standard metadata for higher-level stamped data types.~%# This is generally used to communicate timestamped data ~%# in a particular coordinate frame.~%# ~%# sequence ID: consecutively increasing ID ~%uint32 seq~%#Two-integer timestamp that is expressed as:~%# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')~%# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')~%# time-handling sugar is provided by the client library~%time stamp~%#Frame this data is associated with~%string frame_id~%~%~%"))
(cl:defmethod roslisp-msg-protocol:serialization-length ((msg <KMRStatus>))
  (cl:+ 0
     (roslisp-msg-protocol:serialization-length (cl:slot-value msg 'header))
     4 (cl:length (cl:slot-value msg 'robot_op_state))
     1
     1
     4
     4
     4
))
(cl:defmethod roslisp-msg-protocol:ros-message-to-list ((msg <KMRStatus>))
  "Converts a ROS message object to a list"
  (cl:list 'KMRStatus
    (cl:cons ':header (header msg))
    (cl:cons ':robot_op_state (robot_op_state msg))
    (cl:cons ':commandable (commandable msg))
    (cl:cons ':stationary (stationary msg))
    (cl:cons ':last_graph_node_id (last_graph_node_id msg))
    (cl:cons ':safety_state (safety_state msg))
    (cl:cons ':state_of_charge (state_of_charge msg))
))
