monitor_emqx.cpp 915 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //
  2. // Created by zx on 23-3-14.
  3. //
  4. #include "monitor_emqx.h"
  5. #include <math.h>
  6. #include <unistd.h>
  7. Monitor_emqx::Monitor_emqx(std::string nodeId)
  8. : Terminator_emqx(nodeId)
  9. {
  10. heat_=0;
  11. }
  12. Monitor_emqx::~Monitor_emqx()
  13. {
  14. }
  15. void Monitor_emqx::set_speedcmd_topic(std::string speedcmd)
  16. {
  17. speedcmd_topic_=speedcmd;
  18. }
  19. void Monitor_emqx::set_speed(SpeedType type,double v,double a)
  20. {
  21. double w=fabs(v)>0.001?v:0.0;
  22. MqttMsg msg;
  23. NavMessage::Speed speed;
  24. heat_=(heat_+1)%255;
  25. speed.set_h(heat_);
  26. speed.set_t(type);
  27. speed.set_v(v);
  28. speed.set_w(w);
  29. speed.set_end(1);
  30. msg.fromProtoMessage(speed);
  31. Publish(speedcmd_topic_,msg);
  32. }
  33. void Monitor_emqx::stop()
  34. {
  35. MqttMsg msg;
  36. NavMessage::Speed speed;
  37. heat_=(heat_+1)%255;
  38. speed.set_h(heat_);
  39. speed.set_t(eStop);
  40. speed.set_v(0);
  41. speed.set_w(0);
  42. speed.set_end(1);
  43. msg.fromProtoMessage(speed);
  44. Publish(speedcmd_topic_,msg);
  45. }