; Auto-generated. Do not edit!


(cl:in-package pi4_peristaltic_pump_msgs-msg)


;//! \htmlinclude DispenserCommand.msg.html

(cl:defclass <DispenserCommand> (roslisp-msg-protocol:ros-message)
  ((dispenser_command
    :reader dispenser_command
    :initarg :dispenser_command
    :type cl:integer
    :initform 0)
   (dispenser_speed
    :reader dispenser_speed
    :initarg :dispenser_speed
    :type cl:float
    :initform 0.0)
   (dispenser_time
    :reader dispenser_time
    :initarg :dispenser_time
    :type cl:integer
    :initform 0)
   (dispenser_ml
    :reader dispenser_ml
    :initarg :dispenser_ml
    :type cl:float
    :initform 0.0))
)

(cl:defclass DispenserCommand (<DispenserCommand>)
  ())

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

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

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

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

(cl:ensure-generic-function 'dispenser_ml-val :lambda-list '(m))
(cl:defmethod dispenser_ml-val ((m <DispenserCommand>))
  (roslisp-msg-protocol:msg-deprecation-warning "Using old-style slot reader pi4_peristaltic_pump_msgs-msg:dispenser_ml-val is deprecated.  Use pi4_peristaltic_pump_msgs-msg:dispenser_ml instead.")
  (dispenser_ml m))
(cl:defmethod roslisp-msg-protocol:symbol-codes ((msg-type (cl:eql '<DispenserCommand>)))
    "Constants for message type '<DispenserCommand>"
  '((:ON . 0)
    (:OFF . 1)
    (:RESET . 2)
    (:REVERSE . 3)
    (:DISPENSEINDEF . 4)
    (:DISPENSEINDEFREV . 5)
    (:DISPENSE . 6)
    (:DISPENSEREV . 7)
    (:DISPENSEPID . 8))
)
(cl:defmethod roslisp-msg-protocol:symbol-codes ((msg-type (cl:eql 'DispenserCommand)))
    "Constants for message type 'DispenserCommand"
  '((:ON . 0)
    (:OFF . 1)
    (:RESET . 2)
    (:REVERSE . 3)
    (:DISPENSEINDEF . 4)
    (:DISPENSEINDEFREV . 5)
    (:DISPENSE . 6)
    (:DISPENSEREV . 7)
    (:DISPENSEPID . 8))
)
(cl:defmethod roslisp-msg-protocol:serialize ((msg <DispenserCommand>) ostream)
  "Serializes a message object of type '<DispenserCommand>"
  (cl:let* ((signed (cl:slot-value msg 'dispenser_command)) (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 'dispenser_speed))))
    (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:let* ((signed (cl:slot-value msg 'dispenser_time)) (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 'dispenser_ml))))
    (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 <DispenserCommand>) istream)
  "Deserializes a message object of type '<DispenserCommand>"
    (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 'dispenser_command) (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 'dispenser_speed) (roslisp-utils:decode-single-float-bits bits)))
    (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 'dispenser_time) (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 'dispenser_ml) (roslisp-utils:decode-single-float-bits bits)))
  msg
)
(cl:defmethod roslisp-msg-protocol:ros-datatype ((msg (cl:eql '<DispenserCommand>)))
  "Returns string type for a message object of type '<DispenserCommand>"
  "pi4_peristaltic_pump_msgs/DispenserCommand")
(cl:defmethod roslisp-msg-protocol:ros-datatype ((msg (cl:eql 'DispenserCommand)))
  "Returns string type for a message object of type 'DispenserCommand"
  "pi4_peristaltic_pump_msgs/DispenserCommand")
(cl:defmethod roslisp-msg-protocol:md5sum ((type (cl:eql '<DispenserCommand>)))
  "Returns md5sum for a message object of type '<DispenserCommand>"
  "19eeefa89e53cf5a80032222d498cad3")
(cl:defmethod roslisp-msg-protocol:md5sum ((type (cl:eql 'DispenserCommand)))
  "Returns md5sum for a message object of type 'DispenserCommand"
  "19eeefa89e53cf5a80032222d498cad3")
(cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql '<DispenserCommand>)))
  "Returns full string definition for message of type '<DispenserCommand>"
  (cl:format cl:nil "# Available commands to use the Fisher Scientific PPS4102 Top Pan balance ~%int32 ON = 0~%int32 OFF = 1~%int32 RESET = 2~%int32 REVERSE = 3~%int32 DISPENSEINDEF = 4~%int32 DISPENSEINDEFREV = 5~%int32 DISPENSE = 6~%int32 DISPENSEREV = 7~%int32 DISPENSEPID = 8~%~%int32 dispenser_command~%float32 dispenser_speed~%int32 dispenser_time~%float32 dispenser_ml~%~%~%"))
(cl:defmethod roslisp-msg-protocol:message-definition ((type (cl:eql 'DispenserCommand)))
  "Returns full string definition for message of type 'DispenserCommand"
  (cl:format cl:nil "# Available commands to use the Fisher Scientific PPS4102 Top Pan balance ~%int32 ON = 0~%int32 OFF = 1~%int32 RESET = 2~%int32 REVERSE = 3~%int32 DISPENSEINDEF = 4~%int32 DISPENSEINDEFREV = 5~%int32 DISPENSE = 6~%int32 DISPENSEREV = 7~%int32 DISPENSEPID = 8~%~%int32 dispenser_command~%float32 dispenser_speed~%int32 dispenser_time~%float32 dispenser_ml~%~%~%"))
(cl:defmethod roslisp-msg-protocol:serialization-length ((msg <DispenserCommand>))
  (cl:+ 0
     4
     4
     4
     4
))
(cl:defmethod roslisp-msg-protocol:ros-message-to-list ((msg <DispenserCommand>))
  "Converts a ROS message object to a list"
  (cl:list 'DispenserCommand
    (cl:cons ':dispenser_command (dispenser_command msg))
    (cl:cons ':dispenser_speed (dispenser_speed msg))
    (cl:cons ':dispenser_time (dispenser_time msg))
    (cl:cons ':dispenser_ml (dispenser_ml msg))
))
