xref: /OK3568_Linux_fs/app/forlinx/flapp/src/plugins/imxx11/gps/gps.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 #ifndef GPS_H
2 #define GPS_H
3 
4 #include <QWidget>
5 #include <QtCore>
6 #include <fcntl.h>
7 #include <termios.h>
8 #include "qmessagebox.h"
9 #include "iwidget.h"
10 typedef struct
11 {
12         int year;
13         int month;
14         int day;
15         int hour;
16         int minute;
17         int second;
18 }date_time;
19 
20 typedef struct{
21          date_time D;
22          char status;
23          double	latitude;   //纬度
24          double longitude;  //经度
25          char NS;           //南北极
26          char EW;           //东西
27          double speed;      //速度
28          double high;       //高度
29          int  num;//
30 }gps_info;
31 
32 
33 
34 namespace Ui {
35 class gps;
36 }
37 
38 class gps : public QWidget
39 {
40     Q_OBJECT
41 
42 public:
43     explicit gps(QWidget *parent = 0);
44     ~gps();
45 protected:
46     void changeEvent(QEvent *e);
47 
48 private slots:
49     void on_pb_read_clicked();
50 
51     void on_pb_close_clicked();
52     void read_sermios();
53 
54 private:
55     Ui::gps *ui;
56     volatile int fd;
57     char m_buf[1024];
58     int set_termios();
59     QTimer *m_timer;
60     void parse_gps(char *mbuf,gps_info *m_gps);
61     void GetClear(gps_info *m_gps);
62     int Getbufnum(int num,char *str);
63     double get_double_number(char *s);
64     void BTC(date_time *gps_d);
65 protected:
66     void closeEvent(QCloseEvent *e);
67     void moveEvent(QMoveEvent *);
68     void resizeEvent(QResizeEvent *);
69 
70 };
71 
72 CreateSimplePlugin(GpsWidget, "gps", "gps.json", new gps)
73 #endif // GPS_H
74