38 #ifndef SAWYER_MESSAGE_DATA_H 39 #define SAWYER_MESSAGE_DATA_H 46 #include <boost/concept_check.hpp> 82 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
110 static void subscribe(uint16_t freq = 0);
126 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
158 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
188 double getLeftSpeed();
190 double getLeftAccel();
192 double getRightSpeed();
194 double getRightAccel();
196 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
224 double getWheelGauge();
226 double getWheelDiameter();
228 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
234 DataEcho(
void *input,
size_t msg_len);
248 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
274 double getTravel(uint8_t index);
276 double getSpeed(uint8_t index);
278 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
300 int32_t getTicks(uint8_t inx);
302 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
329 return (rawTime) & 0x3f;
334 return (rawTime >> 6) & 0x1f;
339 return (rawTime >> 11) & 0x3f;
344 return (rawTime >> 17) & 0x0f;
349 return (rawTime >> 21) & 0x7f;
368 uint8_t getMajorFirmwareVersion();
370 uint8_t getMinorFirmwareVersion();
372 uint8_t getMajorProtocolVersion();
374 uint8_t getMinorProtocolVersion();
378 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
384 DataGear(
void *input,
size_t msg_len);
400 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
428 double getForwardMax();
430 double getReverseMax();
432 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
460 double getForwardMax();
462 double getReverseMax();
464 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
488 static void subscribe(uint16_t freq = 0);
498 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
504 uint8_t strlenModel();
521 std::string getModel();
523 uint8_t getRevision();
525 uint32_t getSerial();
527 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
549 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
583 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
617 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
646 double getRollRate();
648 double getPitchRate();
652 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
677 return rawDesc & 0x80;
682 return rawDesc & 0x40;
687 return (
enum Types) (rawDesc & 0x0f);
706 uint8_t getBatteryCount();
708 double getChargeEstimate(uint8_t battery);
710 int16_t getCapacityEstimate(uint8_t battery);
714 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
734 uint8_t getProcessCount();
736 int16_t getErrorCount(
int process);
738 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
758 uint8_t getRangefinderCount();
760 double getDistance(
int rangefinder);
762 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
782 uint8_t getRangefinderCount();
784 double getDistance(
int rangefinder);
786 uint32_t getAcquisitionTime(
int rangefinder);
788 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
822 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
850 double getAngleRate();
852 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
872 uint8_t getCurrentCount();
874 uint16_t getCurrent(
int current);
876 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
910 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
944 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
972 double getXDistence();
974 double getYDistence();
978 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
1008 uint16_t getPitch();
1012 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
1032 uint8_t getTemperatureCount();
1034 uint16_t getTemperature(
int temperature);
1036 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
1056 uint8_t getVoltageCount();
1058 uint16_t getVoltage(
int temperature);
1060 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
1082 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
1107 uint32_t getUptime();
1109 uint8_t getVoltagesCount();
1111 double getVoltage(uint8_t index);
1113 uint8_t getCurrentsCount();
1115 double getCurrent(uint8_t index);
1117 uint8_t getTemperaturesCount();
1119 double getTemperature(uint8_t index);
1121 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
1149 double getTranslational();
1151 double getRotational();
1153 double getTransAccel();
1155 virtual std::ostream &
printMessage(std::ostream &stream = std::cout);
1160 #endif // sawyer_MESSAGE_DATA_H
TFSIMD_FORCE_INLINE const tfScalar & getX() const
static void subscribe(uint16_t freq=0)
static DataAckermannOutput * popNext()
std::string getName(void *handle)
BatteryDescription(uint8_t desc)
static enum MessageTypes getTypeID()
static DataAckermannOutput * getUpdate(double timeout=0)
uint8_t temperatures_offset
double getYaw(const tf2::Quaternion quat)
TFSIMD_FORCE_INLINE const tfScalar & getZ() const
DataAckermannOutput(void *input, size_t msg_len)
static DataAckermannOutput * waitNext(double timeout=0)
virtual std::ostream & printMessage(std::ostream &stream=std::cout)
TFSIMD_FORCE_INLINE const tfScalar & getY() const