123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #ifndef HCP2_H
- #define HCP2_H
- #include "all_head.h"
- extern VehicleStatus back_car;
- void formationcontrol(VehicleStatus Master,VehicleStatus Slave,VehicleStatus *formationD,unsigned char controlMode);
- enum ins550DecodeType
- {
- i16 = 1,i32 = 2,u8 = 3,u32 = 4
- };
- void Listen_gpsimu(const char * _strdata,const unsigned int _nSize,const unsigned int _index,const QDateTime * _dt,const char * _strmemname);
- class radio : public QThread
- {
- Q_OBJECT
- public:
- QByteArray mserial_send_data;
- iv::gps::gpsimu mgpsimu_mem_data;
- CarStatusData * mcar_status_data;
- radio(const char * struartdev,const char * strmsgradio_name_send, const char * strmsgradio_car_id, \
- const char * strmemgps, const char * strmemmap_index, const char * strcollision_index);
- ~radio();
- private slots:
- void onTimer();
- void onTimerServer();
- void receiveData();
- private:
- bool mbSerialOpen;
- QSerialPort *m_serialPort_Radio;
- int mnNotRecvCount;
- qint64 mnLastOpenTime;
- QString mstrRadio;
- uint8_t mcar_id;
- uint8_t mcollision_point;//碰撞点
- QByteArray mserial_recv_data;
- iv::radio::radio_send mradio_protobuf_send;
- iv::formation_map_index::map mmap_protobuf_index;
- void * mpmem_radio_send_addr = nullptr; //电台发送给brain数据地址
- void * mpmem_radio_gps_addr = nullptr; //电台接收brain数据地址
- void * mpmem_map_addr = nullptr;
- void * mpmem_collisionIndex_addr = nullptr;
- qint64 mnLastServerDataTime;
- QTime mTime;
- bool mserver_status;
- int virtual_gps_index_counter;
- int mset_cmd_mode;
- double mcar_control_speed;
- int mserver_map_index;
- int mcar_map_index;
- int micur_maptrace_index;
- bool mbRunPause;
- QVector<std::string> mvmap_name;
- void run();
- bool serialPortInit(const char * struartdev);
- bool preprocData();
- void radioServerDataDecode();
- void radioServerDataDecodeSen(const uint8_t *_data);
- bool checkSum(const uint32_t _index);
- void protoMsgSend();
- void mapProtoMsgSend();
- void serialData_Decode(QByteArray rx_data);
- void mapInit();
- void recvCurMapIndex(const char * _strdata,const unsigned int _nSize,const unsigned int _index,const QDateTime * _dt,const char * _strmemname);//从maptrace监听当前map index
- void recvBrainCMD(const char *_strdata, const int _nSize,const unsigned int _index,const QDateTime * _dt,const char * _strmemname);
- };
- #endif // p900_H
|