//
// Created by zx on 23-3-14.
//

#ifndef NAVIGATION_MPC_MONITOR_MONITOR_EMQX_H_
#define NAVIGATION_MPC_MONITOR_MONITOR_EMQX_H_

#include <mutex>
#include "terminator_emqx.h"
#include "../custom_type.h"

class Monitor_emqx : public Terminator_emqx
{
 public:
    Monitor_emqx(std::string nodeId);
    ~Monitor_emqx();
    void set_speedcmd_topic(std::string speedcmd);
    void set_speed(int mode,ActionType type,double v,double a);
    void set_speed(int mode,ActionType type,double v,double a,double L);
    void set_ToAgvCmd(int mode,ActionType type,double v[],double w[],double L=0,int P=0,double D=0);
    void clamp_close(int mode);
    void clamp_open(int mode);
    void lifter_rise(int mode);
    void lifter_down(int mode);
    void stop();

 protected:

    std::string speedcmd_topic_;

 public:
    int heat_=0;

};


#endif //NAVIGATION_MPC_MONITOR_MONITOR_EMQX_H_
