#ifndef MAINWINDOW_H #define MAINWINDOW_H #define CAMERA_NUM 4 #include #include #include //#include #include #include #include #include #include #include "remotectrl.pb.h" #include "gpsimu.pb.h" #include "rawpic.pb.h" #include "myview.h" #include "grpcpc.h" #include "modulecomm.h" #include "joyreadthread.h" #include "dialogsetpassword.h" #include "dialogsetting.h" #include "ivh264framedecode.h" #include "pluginapp.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void on_pushButton_test_clicked(); virtual void paintEvent(QPaintEvent *); void on_radioButton_manual_clicked(); void onTimerManual(); void onTimerRemote(); void onTimerUpdateView(); void onTimerUpdatePic(); void on_radioButton_auto_clicked(); // virtual void paintEvent(QPaintEvent *); void on_pushButton_Go_clicked(); void on_comboBox_Station_currentIndexChanged(int index); void on_checkBox_Drive_stateChanged(int arg1); void on_checkBox_Drive_clicked(); void on_checkBox_Null_clicked(); void on_checkBox_Rear_clicked(); void on_radioButton_Drive_clicked(); void on_radioButton_Null_clicked(); void onCloseDlg(); void onCloseBigDlg(); void on_checkBox_clicked(); void on_actionSet_Query_Pass_triggered(); void on_actionSetting_triggered(); void on_actionSet_Ctrl_Pass_triggered(); void onCamUpdate(int ncampos); void on_actionFullScreem_triggered(); void on_actionNormal_triggered(); void on_horizontalSlider_wheelspeed_sliderMoved(int position); void on_horizontalSlider_wheelspeed_valueChanged(int value); void onCamUpdate(int ncampos,QImage image); signals: void CamUpdate(int ncampos); void CamUpdate(int ncampos,QImage image); public: void resizeEvent(QResizeEvent *event); void keyPressEvent(QKeyEvent *event) Q_DECL_OVERRIDE; void keyReleaseEvent(QKeyEvent *event) Q_DECL_OVERRIDE; private: Ui::MainWindow *ui; // QWebEngineView * mMapview; Speed * mpWheel, * mpAcc, * mpBrake; QSet mPressKeys; QTimer * mpTimerManual; QTimer * mpTimerRemote; double mfWheel = 0; double mfAcc = 0; double mfBrake = 0; int mnLastTime; QTime mManualTime; double mfWheelSpeed = 10; //100degree/s double mfAccSpeed = 30; //30/s double mfBrakeSpeed = 100; //100/s double mfWheelBaseSpeed = 10; double mfWheelAutoDownSpeed = 0; double mfAccAutoDownSpeed = 10; double mfBrakeAutoDownSpeed = 30; iv::remotectrl mremotectrl; void * mpa; QTimer * mpTimerUpdateView; MyView * mmyview; QGraphicsScene *mscene; MyView * mmyviewLeft,* mmyviewRear,*mmyviewRight; MyView * mpviewImg[NUM_CAM]; QGraphicsScene * mpsceneImg[NUM_CAM]; void * mpadst; void * mpasimpletrace; grpcpc * mgrpcpc; QString mstrProgName = "ADC IV Remote Control "; QString mstrGPSTime = " GPS:"; QString mstrPicTime = " Pic:"; QString mstrVIN; #ifndef Q_OS_WIN JoyReadThread * mpJRT; #endif int mnShift = 0; int mnSelPic = 0; bool mbSavePic = false; public: void saveavi(int index); private: void CreateView(); private: QLabel * mpLabelLatency; private: std::string mstrserverip = "192.168.14.98";//"111.33.136.149";//"127.0.0.1";// "140.143.237.38"; std::string mstrserverport = "50051";//"9000"; std::string mstruploadinterval = "100"; std::string mstrVehVIN = "AAAAAAAAAAAAAAAAA"; std::string mstrqueryMD5 = "5d41402abc4b2a76b9719d911017c592"; std::string mstrctrlMD5 = "5d41402abc4b2a76b9719d911017c592"; private: pluginapp * mpbaiduapp; pluginapp * mppicshow; private: bool mbThreadrun = true; private: void threadframe(int ncamppos); void threadpic(int ncampos); void threadinfo(); private: ivh264framedecode * mph264decode[NUM_CAM]; int mnframewidth = 1920; int mnframeheight = 1080;//720; std::thread * mpthreadframe[NUM_CAM]; std::thread * mpthreadpic[NUM_CAM]; std::thread * mpthreadinfo; QImage * mpImageCam[NUM_CAM]; bool mbCamUpdate[NUM_CAM]; QMutex mMutexCam[NUM_CAM]; int mnVehMode = 1; //1 Speed Mode 2 AccBrakeMode QTranslator * m_translator; }; #endif // MAINWINDOW_H