9 #ifndef PROJECT_HARDWAREBRIDGE_H 10 #define PROJECT_HARDWAREBRIDGE_H 12 #define MAX_STACK_SIZE 16384 // 16KB of stack 13 #define TASK_PRIORITY 49 // linux priority, this is not the nice value 15 #include <lcm-cpp.hpp> 19 #include "control_parameter_request_lcmt.hpp" 20 #include "control_parameter_respones_lcmt.hpp" 21 #include "gamepad_lcmt.hpp" 35 void initError(
const char* reason,
bool printErrno =
false);
38 void handleGamepadLCM(
const lcm::ReceiveBuffer* rbuf,
const std::string& chan,
39 const gamepad_lcmt* msg);
43 const std::string& chan,
44 const control_parameter_request_lcmt* msg);
78 void abort(
const std::string& reason);
79 void abort(
const char* reason);
86 #endif // PROJECT_HARDWAREBRIDGE_H void handleInterfaceLCM()
control_parameter_respones_lcmt _parameter_response_lcmt
ControlParameters * _userControlParameters
void publishVisualizationLCM()
GamepadCommand _gamepadCommand
Implementation of a periodic function running in a separate thread. Periodic tasks have a task manage...
volatile bool _interfaceLcmQuit
Common framework for running robot controllers. This code is a common interface between control code ...
VisualizationData _visualizationData
void handleControlParameter(const lcm::ReceiveBuffer *rbuf, const std::string &chan, const control_parameter_request_lcmt *msg)
std::string getLcmUrl(s64 ttl)
lcm::LCM _visualizationLCM
virtual ControlParameters * getUserControlParameters()=0
HardwareBridge(RobotController *robot_ctrl)
void initError(const char *reason, bool printErrno=false)
std::thread _interfaceLcmThread
PrintTaskStatus statusTask
VectorNavData _vectorNavData
PeriodicTaskManager taskManager
RobotControlParameters _robotParams
void handleGamepadLCM(const lcm::ReceiveBuffer *rbuf, const std::string &chan, const gamepad_lcmt *msg)
RobotRunner * _robotRunner
CheetahVisualization _mainCheetahVisualization
MX f(const MX &x, const MX &u)