mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
32 lines
618 B
C
32 lines
618 B
C
|
|
|
||
|
|
|
||
|
|
#ifndef _SIM_ENCODER_H
|
||
|
|
#define _SIM_ENCODER_H
|
||
|
|
|
||
|
|
#include "simulation/msgs/msgs.h"
|
||
|
|
#include <gazebo/transport/transport.hh>
|
||
|
|
|
||
|
|
using namespace gazebo;
|
||
|
|
|
||
|
|
class SimEncoder {
|
||
|
|
public:
|
||
|
|
SimEncoder(std::string topic);
|
||
|
|
|
||
|
|
void Reset();
|
||
|
|
void Start();
|
||
|
|
void Stop();
|
||
|
|
double GetPosition();
|
||
|
|
double GetVelocity();
|
||
|
|
|
||
|
|
private:
|
||
|
|
void sendCommand(std::string cmd);
|
||
|
|
|
||
|
|
double position, velocity;
|
||
|
|
transport::SubscriberPtr posSub, velSub;
|
||
|
|
transport::PublisherPtr commandPub;
|
||
|
|
void positionCallback(const msgs::ConstFloat64Ptr &msg);
|
||
|
|
void velocityCallback(const msgs::ConstFloat64Ptr &msg);
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif
|