123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
- #define CAMERA_NUM 4
- #include <QMainWindow>
- #include <QTranslator>
- #include <QtWidgets>
- //#include <QtWebEngineWidgets/QtWebEngineWidgets>
- #include <QSet>
- #include <QMutex>
- #include <QLabel>
- #include <iostream>
- #include <speed.h>
- #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<int> 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
|