12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #ifndef VEHICLE_CONTROL_H
- #define VEHICLE_CONTROL_H
- #include <QObject>
- #include <QTimer>
- #include <QVector>
- #include <iostream>
- #include <memory>
- #include <string>
- #include <grpcpp/grpcpp.h>
- #include "VehicleControl_service.grpc.pb.h"
- #include "VehicleControl.grpc.pb.h"
- using grpc::Channel;
- using grpc::ClientContext;
- using grpc::Status;
- using org::jeecg::defsControl::grpc::VehicleControl; ///< service name
- using org::jeecg::defsControl::grpc::ControlReply; ///< rpc fuction parameter and return
- using org::jeecg::defsControl::grpc::UploadMapReply;
- using org::jeecg::defsControl::grpc::CtrlModeReply;
- class VehicleControlClient : public QObject{
- Q_OBJECT
- public:
- VehicleControlClient(std::shared_ptr<Channel> channel);
- ~VehicleControlClient(void);
- std::string vehicleControl(void);
- std::string uploadMap(void);
- std::string changeCtrlMode(void);
- void updateControlData(void);
- void updateMapPOIData(void);
- void updateCtrolMode(void);
- std::string get_patrolPathID(void);
- bool get_isNeedMap(void);
- void set_isNeedMap(bool needMapStatus);
- private:
- std::unique_ptr<VehicleControl::Stub> stub_;
- org::jeecg::defsControl::grpc::ShiftStatus shiftCMD = org::jeecg::defsControl::grpc::ShiftStatus::SHIFT_PARKING;
- double steeringWheelAngleCMD = 0;
- double throttleCMD = 0;
- double brakeCMD = 0;
- bool isNeedMap = false;
- std::string patrolPathID;
- QVector<org::jeecg::defsControl::grpc::MapPoint> POIPoints;
- org::jeecg::defsControl::grpc::CtrlMode modeCMD;
- QTimer *controlTimer;
- QTimer *uploadMapTimer;
- private slots:
- void controlTimeout(void);
- void uploadMapTimeout(void);
- };
- #endif // VEHICLE_CONTROL_H
|