Files
allwpilib/simulation/halsim_gazebo/src/main/native/include/GazeboEncoder.h
2018-07-20 16:24:48 -07:00

33 lines
1.1 KiB
C++

/*----------------------------------------------------------------------------*/
/* Copyright (c) 2014-2018 FIRST. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
#pragma once
#include "HALSimGazebo.h"
#include "simulation/gz_msgs/msgs.h"
class GazeboEncoder {
public:
GazeboEncoder(int index, HALSimGazebo* halsim);
void SetInitialized(bool value) { m_initialized = value; }
bool IsInitialized(void) { return m_initialized; }
void SetReverse(bool value) { m_reverse = value; }
void Control(const char* command);
void Listen(void);
private:
HALSimGazebo* m_halsim;
int m_index;
bool m_initialized;
bool m_reverse;
void Callback(const gazebo::msgs::ConstFloat64Ptr& msg);
gazebo::transport::PublisherPtr m_pub;
gazebo::transport::SubscriberPtr m_sub;
};