Преглед на файлове

linux 商飞数据看板 window 交大医学院数据看板

James преди 3 години
родител
ревизия
c39958cad9
променени са 100 файла, в които са добавени 1577 реда и са изтрити 0 реда
  1. 22 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/SFDog.pro
  2. 9 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/dataprocess.h
  3. 19 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/dataprocessshm.h
  4. 29 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/dogcore.cpp
  5. 26 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/dogcore.h
  6. 38 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/main.cpp
  7. 57 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/USiST04-0100-03.pro
  8. 317 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/USiST04-0100-03.pro.user
  9. 25 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/alarminfoform.cpp
  10. 28 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/alarminfoform.h
  11. 200 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/alarminfoform.ui
  12. 17 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/custqlabel.cpp
  13. 19 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/custqlabel.h
  14. 72 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/dbthread.cpp
  15. 30 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/dbthread.h
  16. 66 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/devdataform.cpp
  17. 35 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/devdataform.h
  18. 127 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/devdataform.ui
  19. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/favicon.ico
  20. 96 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/getfrontpage.cpp
  21. 34 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/getfrontpage.h
  22. 68 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/getweather.cpp
  23. 40 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/getweather.h
  24. 46 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/logthread.cpp
  25. 26 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/logthread.h
  26. 35 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/main.cpp
  27. 96 0
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics.qrc
  28. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/FIRE/FIREDEV.png
  29. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/FIRE/FIREDEV_out.png
  30. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/FIRE/dev_alarm.png
  31. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/Logo.png
  32. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/RTU/RTU.png
  33. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/RTU/RTU_out.png
  34. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/RTU/dev_alarm.png
  35. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/alarm_bg.png
  36. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/background.jpg
  37. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/background.png
  38. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/bg.jpg
  39. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/bg2.jpg
  40. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/cover.png
  41. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/exit2.png
  42. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/img/Logo.png
  43. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/img/dev.png
  44. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/img/edit.png
  45. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/img/save.png
  46. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/img/setup.png
  47. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/min.png
  48. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/minsize.png
  49. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/next.png
  50. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/prev.png
  51. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/setup.png
  52. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/WATER.png
  53. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/WATER_out.png
  54. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/alarm.png
  55. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/dev_alarm.png
  56. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/normal.png
  57. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/offline.png
  58. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/00.png
  59. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/01.png
  60. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/02.png
  61. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/03.png
  62. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/04.png
  63. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/05.png
  64. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/06.png
  65. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/07.png
  66. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/08.png
  67. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/09.png
  68. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/10.png
  69. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/11.png
  70. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/12.png
  71. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/13.png
  72. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/14.png
  73. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/15.png
  74. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/16.png
  75. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/17.png
  76. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/18.png
  77. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/19.png
  78. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/20.png
  79. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/21.png
  80. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/22.png
  81. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/23.png
  82. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/24.png
  83. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/25.png
  84. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/26.png
  85. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/27.png
  86. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/28.png
  87. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/29.png
  88. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/30.png
  89. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/31.png
  90. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/00.png
  91. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/01.png
  92. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/02.png
  93. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/03.png
  94. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/04.png
  95. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/05.png
  96. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/06.png
  97. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/07.png
  98. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/08.png
  99. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/09.png
  100. BIN
      SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/10.png

+ 22 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/SFDog.pro

@@ -0,0 +1,22 @@
+QT -= gui
+
+CONFIG += c++11 console
+CONFIG -= app_bundle
+
+# You can make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+        dogcore.cpp \
+        main.cpp
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
+
+HEADERS += \
+    dataprocess.h \
+    dataprocessshm.h \
+    dogcore.h

+ 9 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/dataprocess.h

@@ -0,0 +1,9 @@
+#ifndef DATAPROCESS_H
+#define DATAPROCESS_H
+
+#include "dataprocessshm.h"
+
+extern DataProcessShm *dataProcessShm;
+
+
+#endif // DATAPROCESS_H

+ 19 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/dataprocessshm.h

@@ -0,0 +1,19 @@
+#ifndef DATAPROCESSSHM_H
+#define DATAPROCESSSHM_H
+
+#include <stdbool.h>
+#include <sys/types.h>
+#include <sys/shm.h>
+#include <sys/ipc.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#define SHM_PATH "/"
+#define SHM_PORT 5998
+
+typedef struct{
+    uint t_time;
+}DataProcessShm ;
+
+
+#endif // DATAPROCESSSHM_H

+ 29 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/dogcore.cpp

@@ -0,0 +1,29 @@
+#include "dogcore.h"
+#include "dataprocess.h"
+
+dogcore::dogcore(QObject *parent) : QObject(parent)
+{
+    timer = new QTimer(this);
+    connect(timer,SIGNAL(timeout()),this,SLOT(time_out()));
+}
+
+
+void dogcore::time_out()
+{
+    uint chk_time = QDateTime::currentDateTime().toTime_t();
+
+    if((chk_time - dataProcessShm->t_time)>60){
+        if(system("killall USiST04-0100-03")!=-1){
+            system("cd /home/usky/桌面/USiST04-0100-03/");
+            system("./USiST04-0100-03 &");
+        }
+        dataProcessShm->t_time = QDateTime::currentDateTime().toTime_t();
+    }
+}
+
+
+void dogcore::start()
+{
+    time_out();
+    timer->start(5000);
+}

+ 26 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/dogcore.h

@@ -0,0 +1,26 @@
+#ifndef DOGCORE_H
+#define DOGCORE_H
+
+#include <QObject>
+#include <QTimer>
+#include <QDateTime>
+
+class dogcore : public QObject
+{
+    Q_OBJECT
+public:
+    explicit dogcore(QObject *parent = 0);
+    void start();
+
+signals:
+
+public slots:
+    void time_out();
+
+private:
+    QTimer *timer;
+    bool isWorking;
+
+};
+
+#endif // DOGCORE_H

+ 38 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/SFDog/main.cpp

@@ -0,0 +1,38 @@
+#include <QCoreApplication>
+#include "dataprocess.h"
+#include "dogcore.h"
+#include <QDir>
+#include <QFile>
+#include <QDebug>
+
+DataProcessShm *dataProcessShm;
+
+bool shm_load()
+{
+    int shmid;
+    key_t key;
+    if((key=ftok(SHM_PATH,static_cast<int>(SHM_PORT)))==-1){
+        return false;
+    }
+    if((shmid=shmget(key,sizeof(DataProcessShm),IPC_CREAT|0666))==-1){
+        return false;
+    }
+    dataProcessShm = static_cast<DataProcessShm *>(shmat(shmid,nullptr,0));
+    return true;
+}
+
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication a(argc, argv);
+
+    if(shm_load()){
+        dogcore *core = new dogcore(nullptr);
+        core->start();
+    }else{
+        qDebug() << "shm_load failed";
+        exit(1);
+    }
+
+    return a.exec();
+}

+ 57 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/USiST04-0100-03.pro

@@ -0,0 +1,57 @@
+QT       += core gui network sql charts texttospeech multimedia websockets
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+CONFIG += c++11
+
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+    alarminfoform.cpp \
+    custqlabel.cpp \
+    dbthread.cpp \
+    devdataform.cpp \
+    getfrontpage.cpp \
+    getweather.cpp \
+    logthread.cpp \
+    main.cpp \
+    setupform.cpp \
+    speechthread.cpp \
+    websocketclient.cpp \
+    widget.cpp
+
+HEADERS += \
+    alarminfoform.h \
+    custqlabel.h \
+    dbthread.h \
+    devdataform.h \
+    getfrontpage.h \
+    getweather.h \
+    logthread.h \
+    setupform.h \
+    speechthread.h \
+    websocketclient.h \
+    widget.h
+
+FORMS += \
+    alarminfoform.ui \
+    devdataform.ui \
+    setupform.ui \
+    widget.ui
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
+
+RESOURCES += \
+    pics.qrc

+ 317 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/USiST04-0100-03.pro.user

@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 4.11.0, 2022-03-03T09:55:10. -->
+<qtcreator>
+ <data>
+  <variable>EnvironmentId</variable>
+  <value type="QByteArray">{a41d84bc-2964-443d-ad67-9da3c45200f5}</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>
+  <value type="int">0</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.EditorSettings</variable>
+  <valuemap type="QVariantMap">
+   <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
+   <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
+   <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
+    <value type="QString" key="language">Cpp</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
+    </valuemap>
+   </valuemap>
+   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
+    <value type="QString" key="language">QmlJS</value>
+    <valuemap type="QVariantMap" key="value">
+     <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
+    </valuemap>
+   </valuemap>
+   <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
+   <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
+   <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
+   <value type="int" key="EditorConfiguration.IndentSize">4</value>
+   <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
+   <value type="int" key="EditorConfiguration.MarginColumn">80</value>
+   <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
+   <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
+   <value type="int" key="EditorConfiguration.PaddingMode">1</value>
+   <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
+   <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
+   <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
+   <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
+   <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
+   <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
+   <value type="int" key="EditorConfiguration.TabSize">8</value>
+   <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
+   <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
+   <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
+   <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
+   <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
+   <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.PluginSettings</variable>
+  <valuemap type="QVariantMap">
+   <valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
+   <value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.0</variable>
+  <valuemap type="QVariantMap">
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.12.8 in PATH(系统)</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.12.8 in PATH(系统)</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{0638813f-9209-40c4-97f4-00cd4635aac0}</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/usky/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/build-USiST04-0100-03-Qt_5_12_8_in_PATH-Debug</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/usky/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/build-USiST04-0100-03-Qt_5_12_8_in_PATH-Release</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/usky/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/build-USiST04-0100-03-Qt_5_12_8_in_PATH-Profile</value>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">true</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
+    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
+    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
+    </valuemap>
+    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+    <value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
+    <valuelist type="QVariantList" key="Analyzer.Perf.Events">
+     <value type="QString">cpu-cycles</value>
+    </valuelist>
+    <valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
+    <value type="int" key="Analyzer.Perf.Frequency">250</value>
+    <valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
+     <value type="QString">-e</value>
+     <value type="QString">cpu-cycles</value>
+     <value type="QString">--call-graph</value>
+     <value type="QString">dwarf,4096</value>
+     <value type="QString">-F</value>
+     <value type="QString">250</value>
+    </valuelist>
+    <value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
+    <value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
+    <value type="int" key="Analyzer.Perf.StackSize">4096</value>
+    <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+    <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+    <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+    <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/usky/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/USiST04-0100-03.pro</value>
+    <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/usky/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/USiST04-0100-03.pro</value>
+    <value type="QString" key="RunConfiguration.Arguments"></value>
+    <value type="bool" key="RunConfiguration.Arguments.multi">false</value>
+    <value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+    <value type="QString" key="RunConfiguration.WorkingDirectory"></value>
+    <value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/usky/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/build-USiST04-0100-03-Qt_5_12_8_in_PATH-Release</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.TargetCount</variable>
+  <value type="int">1</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+  <value type="int">22</value>
+ </data>
+ <data>
+  <variable>Version</variable>
+  <value type="int">22</value>
+ </data>
+</qtcreator>

+ 25 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/alarminfoform.cpp

@@ -0,0 +1,25 @@
+#include "alarminfoform.h"
+#include "ui_alarminfoform.h"
+
+AlarmInfoForm::AlarmInfoForm(QWidget *parent, QString devname, QString time, QString data) :
+    QWidget(parent),
+    ui(new Ui::AlarmInfoForm)
+{
+    ui->setupUi(this);
+    ui->lineEdit->setText(devname);
+    ui->lineEdit_2->setText(time);
+    ui->plainTextEdit->setPlainText(data);
+    connect(ui->pushButton,&QPushButton::clicked,this,&AlarmInfoForm::btnClick);
+}
+
+AlarmInfoForm::~AlarmInfoForm()
+{
+    delete ui;
+}
+
+
+void AlarmInfoForm::btnClick()
+{
+    emit cancel();
+    close();
+}

+ 28 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/alarminfoform.h

@@ -0,0 +1,28 @@
+#ifndef ALARMINFOFORM_H
+#define ALARMINFOFORM_H
+
+#include <QWidget>
+
+namespace Ui {
+class AlarmInfoForm;
+}
+
+class AlarmInfoForm : public QWidget
+{
+    Q_OBJECT
+
+public:
+    explicit AlarmInfoForm(QWidget *parent = nullptr, QString devname="", QString time="", QString data="");
+    ~AlarmInfoForm();
+
+signals:
+    void cancel();
+
+public slots:
+    void btnClick();
+
+private:
+    Ui::AlarmInfoForm *ui;
+};
+
+#endif // ALARMINFOFORM_H

+ 200 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/alarminfoform.ui

@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>AlarmInfoForm</class>
+ <widget class="QWidget" name="AlarmInfoForm">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>300</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <widget class="QLabel" name="label">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>401</width>
+     <height>301</height>
+    </rect>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgb(222, 222, 222);</string>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_2">
+   <property name="geometry">
+    <rect>
+     <x>20</x>
+     <y>20</y>
+     <width>251</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>微软雅黑</family>
+     <pointsize>12</pointsize>
+    </font>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgba(255, 255, 255, 0);</string>
+   </property>
+   <property name="text">
+    <string>告警/异常信息</string>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_3">
+   <property name="geometry">
+    <rect>
+     <x>20</x>
+     <y>80</y>
+     <width>80</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>微软雅黑</family>
+    </font>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgba(255, 255, 255, 0);</string>
+   </property>
+   <property name="text">
+    <string>设备名称:</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+   </property>
+  </widget>
+  <widget class="QLineEdit" name="lineEdit">
+   <property name="geometry">
+    <rect>
+     <x>100</x>
+     <y>80</y>
+     <width>261</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgb(255, 255, 255);</string>
+   </property>
+   <property name="readOnly">
+    <bool>true</bool>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_4">
+   <property name="geometry">
+    <rect>
+     <x>20</x>
+     <y>120</y>
+     <width>80</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>微软雅黑</family>
+    </font>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgba(255, 255, 255, 0);</string>
+   </property>
+   <property name="text">
+    <string>报告时间:</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+   </property>
+  </widget>
+  <widget class="QLineEdit" name="lineEdit_2">
+   <property name="geometry">
+    <rect>
+     <x>100</x>
+     <y>120</y>
+     <width>261</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgb(255, 255, 255);</string>
+   </property>
+   <property name="readOnly">
+    <bool>true</bool>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_5">
+   <property name="geometry">
+    <rect>
+     <x>20</x>
+     <y>160</y>
+     <width>80</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>微软雅黑</family>
+    </font>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgba(255, 255, 255, 0);</string>
+   </property>
+   <property name="text">
+    <string>报告内容:</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+   </property>
+  </widget>
+  <widget class="QPlainTextEdit" name="plainTextEdit">
+   <property name="geometry">
+    <rect>
+     <x>100</x>
+     <y>160</y>
+     <width>261</width>
+     <height>71</height>
+    </rect>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgb(255, 255, 255);</string>
+   </property>
+   <property name="readOnly">
+    <bool>true</bool>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="pushButton">
+   <property name="geometry">
+    <rect>
+     <x>304</x>
+     <y>260</y>
+     <width>61</width>
+     <height>23</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>微软雅黑</family>
+    </font>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgba(255, 255, 255, 0);
+border-color: rgb(0, 0, 0);
+border:2px;</string>
+   </property>
+   <property name="text">
+    <string>关闭</string>
+   </property>
+  </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

+ 17 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/custqlabel.cpp

@@ -0,0 +1,17 @@
+#include "custqlabel.h"
+
+CustQLabel::CustQLabel(QWidget *parent, Qt::WindowFlags f) : QLabel(parent,f)
+{
+
+}
+
+CustQLabel::CustQLabel(const QString &text, QWidget *parent, Qt::WindowFlags f)
+    :QLabel(text, parent, f){
+
+}
+
+void CustQLabel::mouseReleaseEvent(QMouseEvent *event)
+{
+    Q_UNUSED(event);
+    emit clicked();
+}

+ 19 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/custqlabel.h

@@ -0,0 +1,19 @@
+#ifndef CUSTQLABEL_H
+#define CUSTQLABEL_H
+
+#include <QLabel>
+
+class CustQLabel : public QLabel
+{
+    Q_OBJECT
+public:
+    explicit CustQLabel(QWidget *parent = nullptr, Qt::WindowFlags f=NULL);
+    explicit CustQLabel(const QString &text, QWidget *parent=nullptr, Qt::WindowFlags f=NULL);
+
+protected:
+    virtual void mouseReleaseEvent(QMouseEvent *ev) override;
+signals:
+    void clicked(void);
+};
+
+#endif // CUSTQLABEL_H

+ 72 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/dbthread.cpp

@@ -0,0 +1,72 @@
+#include "dbthread.h"
+
+DBThread::DBThread(QObject *parent) : QThread(parent)
+{
+    keepWorking = false;
+    db = QSqlDatabase::addDatabase("QSQLITE","stdb");
+    db.setDatabaseName("db/conf.db");
+    sqllist.clear();
+}
+
+bool DBThread::chkTable(QString tbname, QStringList list)
+{
+    for(int i=0;i<list.length();i++){
+        if(QString::compare(tbname,list.at(i))==0)
+            return true;
+    }
+    return false;
+}
+
+void DBThread::stop(){
+    keepWorking = false;
+}
+
+void DBThread::initdb()
+{
+    QString TermId = "a7f82b3f-f909-44bd-87c3-336b03ad5aa1";//博华
+    QString TermKey = "123456";
+    QString Loginname = "bhds";
+    QString Password = "bhds123";
+    QString CompanyId = "10122";
+    if(db.open()){
+        if(!chkTable("yt_t_conf", db.tables())){
+            db.exec("create table yt_t_conf (AppId text, AppKey text, LoginName text, PassWord text, CompanyId text);");
+            db.exec(QString("insert into yt_t_conf (AppId, AppKey, LoginName, PassWord, CompanyId) values ('%1', '%2', '%3', '%4', '%5');")
+                    .arg(TermId).arg(TermKey).arg(Loginname).arg(Password).arg(CompanyId));
+        }
+        QSqlQuery qry = db.exec("select AppId, AppKey, LoginName, PassWord, CompanyId from yt_t_conf;");
+        if(qry.next()){
+            TermId = qry.value(0).toString();
+            TermKey = qry.value(1).toString();
+            Loginname = qry.value(2).toString();
+            Password = qry.value(3).toString();
+            CompanyId = qry.value(4).toString();
+        }
+        qry.clear();
+        db.close();
+    }
+    emit getParam(TermId, TermKey, Loginname, Password, CompanyId);
+}
+
+void DBThread::appendSql(QString sql)
+{
+    sqllist.append(sql);
+}
+
+void DBThread::run()
+{
+    keepWorking = true;
+    while (keepWorking) {
+        if(sqllist.length()>0){
+            if(db.open()){
+                while (sqllist.length()>0) {
+                    db.exec(sqllist.first());
+                    sqllist.removeFirst();
+                    usleep(10000);
+                }
+                db.close();
+            }
+        }
+        usleep(100000);
+    }
+}

+ 30 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/dbthread.h

@@ -0,0 +1,30 @@
+#ifndef DBTHREAD_H
+#define DBTHREAD_H
+
+#include <QThread>
+#include <QStringList>
+#include <QSqlDatabase>
+#include <QSqlQuery>
+#include <QVariant>
+
+class DBThread : public QThread
+{
+    Q_OBJECT
+public:
+    explicit DBThread(QObject *parent = nullptr);
+    void initdb();
+    void stop();
+    void appendSql(QString sql);
+    bool chkTable(QString tbname, QStringList list);
+    void run() override;
+
+signals:
+    void getParam(QString appid, QString key, QString name, QString pass, QString comid);
+
+private:
+    QSqlDatabase db;
+    QStringList sqllist;
+    bool keepWorking;
+};
+
+#endif // DBTHREAD_H

+ 66 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/devdataform.cpp

@@ -0,0 +1,66 @@
+#include "devdataform.h"
+#include "ui_devdataform.h"
+
+DevDataForm::DevDataForm(QWidget *parent, QString devname, QJsonArray dataList) :
+    QWidget(parent),
+    ui(new Ui::DevDataForm)
+{
+    ui->setupUi(this);
+    connect(ui->pushButton,&QPushButton::clicked,this,&DevDataForm::btnClick);
+    ui->tableWidget->clear();
+    ui->tableWidget->setRowCount(0);
+    ui->label_2->setText(devname);
+    ui->label_4->setText("");
+    if(dataList.size()>0){
+        QDateTime upTime = QDateTime::fromString("1970-01-01 08:00:00","yyyy-MM-dd HH:mm:ss");
+        QTableWidgetItem *item;
+        ui->tableWidget->setColumnCount(2);
+        ui->tableWidget->setColumnWidth(0,120);
+        ui->tableWidget->setColumnWidth(1,250);
+        item = new QTableWidgetItem(QString::fromUtf8("点位"));
+        ui->tableWidget->setHorizontalHeaderItem(0,item);
+        item = new QTableWidgetItem(QString::fromUtf8("信息/采集值"));
+        ui->tableWidget->setHorizontalHeaderItem(1,item);
+
+        for(int i=0;i<dataList.size();i++){
+            QJsonObject obj = dataList.at(i).toObject();
+            if((!obj.value("data_time").isUndefined())&&(!obj.value("point_code").isUndefined())
+                    &&(!obj.value("point_data").isUndefined())&&(!obj.value("content").isUndefined())){
+                QString point_code = obj.value("point_code").toString();
+                QString point_data = obj.value("point_data").toString();
+                QString content = obj.value("content").toString();
+                QDateTime data_time = QDateTime::fromString(obj.value("data_time").toString(),"yyyy-MM-dd HH:mm:ss");
+                QString showdata = "";
+                if((point_data.length()>0)&&(content.length()>0))
+                    showdata = QString("%1,%2").arg(point_data).arg(content);
+                else if(point_data.length()>0)
+                    showdata = point_data;
+                else if(content.length()>0)
+                    showdata = content;
+                int nrow = ui->tableWidget->rowCount();
+                ui->tableWidget->setRowCount(nrow+1);
+                ui->tableWidget->setRowHeight(nrow,20);
+                if(data_time.toTime_t()>upTime.toTime_t())
+                    upTime = data_time;
+                item = new QTableWidgetItem(point_code);
+                item->setFlags(item->flags()&(~Qt::ItemIsEditable));
+                ui->tableWidget->setItem(nrow,0,item);
+                item = new QTableWidgetItem(showdata);
+                item->setFlags(item->flags()&(~Qt::ItemIsEditable));
+                ui->tableWidget->setItem(nrow,1,item);
+            }
+        }
+        ui->label_4->setText(upTime.toString("yyyy-MM-dd HH:mm:ss"));
+    }
+}
+
+DevDataForm::~DevDataForm()
+{
+    delete ui;
+}
+
+void DevDataForm::btnClick()
+{
+    emit cancel();
+    close();
+}

+ 35 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/devdataform.h

@@ -0,0 +1,35 @@
+#ifndef DEVDATAFORM_H
+#define DEVDATAFORM_H
+
+#include <QWidget>
+#include <QDateTime>
+#include <QTableWidgetItem>
+#include <QJsonParseError>
+#include <QJsonDocument>
+#include <QJsonArray>
+#include <QJsonObject>
+#include <QVariant>
+
+namespace Ui {
+class DevDataForm;
+}
+
+class DevDataForm : public QWidget
+{
+    Q_OBJECT
+
+public:
+    explicit DevDataForm(QWidget *parent = nullptr, QString devname="", QJsonArray dataList=QJsonArray());
+    ~DevDataForm();
+
+signals:
+    void cancel();
+
+public slots:
+    void btnClick();
+
+private:
+    Ui::DevDataForm *ui;
+};
+
+#endif // DEVDATAFORM_H

+ 127 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/devdataform.ui

@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DevDataForm</class>
+ <widget class="QWidget" name="DevDataForm">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>300</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <widget class="QLabel" name="label">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>401</width>
+     <height>301</height>
+    </rect>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgb(222, 222, 222);</string>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_2">
+   <property name="geometry">
+    <rect>
+     <x>20</x>
+     <y>20</y>
+     <width>311</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>微软雅黑</family>
+     <pointsize>12</pointsize>
+    </font>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgba(255, 255, 255, 0);</string>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+  </widget>
+  <widget class="QTableWidget" name="tableWidget">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>60</y>
+     <width>401</width>
+     <height>181</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_3">
+   <property name="geometry">
+    <rect>
+     <x>10</x>
+     <y>240</y>
+     <width>61</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>微软雅黑</family>
+    </font>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgba(255, 255, 255, 0);</string>
+   </property>
+   <property name="text">
+    <string>更新时间:</string>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_4">
+   <property name="geometry">
+    <rect>
+     <x>70</x>
+     <y>240</y>
+     <width>140</width>
+     <height>20</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <family>微软雅黑</family>
+    </font>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgba(255, 255, 255, 0);</string>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="pushButton">
+   <property name="geometry">
+    <rect>
+     <x>314</x>
+     <y>260</y>
+     <width>61</width>
+     <height>23</height>
+    </rect>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color: rgba(255, 255, 255, 0);
+border-color: rgb(0, 0, 0);
+border:2px;</string>
+   </property>
+   <property name="text">
+    <string>关闭</string>
+   </property>
+  </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/favicon.ico


+ 96 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/getfrontpage.cpp

@@ -0,0 +1,96 @@
+#include "getfrontpage.h"
+
+getFrontPage::getFrontPage(QObject *parent, QString loginname, QString password, QString companyId) : QObject(parent)
+{
+    setParam(loginname,password,companyId);
+    manager = new QNetworkAccessManager(this);
+    connect(manager,&QNetworkAccessManager::finished,this,&getFrontPage::getData);
+    step = 0;
+}
+
+void getFrontPage::setParam(QString loginname, QString password, QString companyId)
+{
+    LoginName = loginname;
+    Password = password;
+    CommpanyId = companyId;
+    step = 0;
+}
+
+void getFrontPage::sendRequest()
+{
+    QByteArray data;
+    switch (step) {
+    case 0:
+        req = new QNetworkRequest(QString("https://fire.usky.cn:8443/YtIoT/cgi-bin/WebAction3.cgi"));
+        req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+        data=QString("{\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"V_COMMAND\":\"FRONTPAGE\",\"COMMSTATUS\":\"NO\"}")
+                    .arg(LoginName).arg(Password).toUtf8();
+        req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
+        reply = manager->post(*req,data);
+        break;
+    case 1:
+        req = new QNetworkRequest(QString("https://fire.usky.cn:8443/YtIoT/iot/frontpage/getCurrentObjectListByCompanyId"));
+        req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+        data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"COMPANY_CODE\":\"%3\",\"COMMSTATUS\":\"NO\"}")
+                    .arg(LoginName).arg(Password).arg(CommpanyId).toUtf8();
+        req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
+        reply = manager->post(*req,data);
+        break;
+    case 2:
+        req = new QNetworkRequest(QString("https://fire.usky.cn:8443/YtIoT/iot/data/view/getSyncStatusVListByCompany"));
+        req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+        data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"1\"}")
+                    .arg(LoginName).arg(Password).arg(CommpanyId).toUtf8();
+        req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
+        reply = manager->post(*req,data);
+        break;
+    case 3:
+        req = new QNetworkRequest(QString("https://fire.usky.cn:8443/YtIoT/iot/data/view/getSyncStatusVListByCompany"));
+        req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+        data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"2\"}")
+                    .arg(LoginName).arg(Password).arg(CommpanyId).toUtf8();
+        req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
+        reply = manager->post(*req,data);
+        break;
+    case 4:
+        req = new QNetworkRequest(QString("https://fire.usky.cn:8443/YtIoT/iot/data/view/getSyncStatusVListByCompany"));
+        req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+        data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"6\"}")
+                    .arg(LoginName).arg(Password).arg(CommpanyId).toUtf8();
+        req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
+        reply = manager->post(*req,data);
+        break;
+    case 5:
+        req = new QNetworkRequest(QString("https://fire.usky.cn:8443/YtIoT/iot/data/view/getSyncStatusVListByCompany"));
+        req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+        data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"7\"}")
+                    .arg(LoginName).arg(Password).arg(CommpanyId).toUtf8();
+        req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
+        reply = manager->post(*req,data);
+        break;
+    case 6:
+        req = new QNetworkRequest(QString("https://fire.usky.cn:8443/YtIoT/iot/data/view/getSyncStatusVListByCompany"));
+        req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+        data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"16\"}")
+                    .arg(LoginName).arg(Password).arg(CommpanyId).toUtf8();
+        req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
+        reply = manager->post(*req,data);
+        break;
+    }
+
+}
+
+void getFrontPage::getData(QNetworkReply *)
+{
+    reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
+    reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
+    if(reply->error()==QNetworkReply::NoError){
+        QByteArray data = reply->readAll();
+        emit getFrontpage(QString(data));
+        step++;
+        if(step<7)
+            sendRequest();
+        else
+            step = 0;
+    }
+}

+ 34 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/getfrontpage.h

@@ -0,0 +1,34 @@
+#ifndef GETFRONTPAGE_H
+#define GETFRONTPAGE_H
+
+#include <QObject>
+#include <QNetworkRequest>
+#include <QNetworkAccessManager>
+#include <QNetworkReply>
+#include <QEventLoop>
+#include <QSslConfiguration>
+#include <QUrl>
+#include <QUrlQuery>
+
+class getFrontPage : public QObject
+{
+    Q_OBJECT
+public:
+    explicit getFrontPage(QObject *parent = nullptr, QString loginname="", QString password="", QString companyId="");
+    void sendRequest();
+    void setParam(QString loginname="", QString password="", QString commpanyId="");
+
+signals:
+    void getFrontpage(QString data);
+public slots:
+    void getData(QNetworkReply *);
+private:
+    QNetworkAccessManager *manager;
+    QNetworkReply *reply;
+    QNetworkRequest *req;
+    QSslConfiguration config;
+    QString LoginName, Password, CommpanyId;
+    int step;
+};
+
+#endif // GETFRONTPAGE_H

+ 68 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/getweather.cpp

@@ -0,0 +1,68 @@
+#include "getweather.h"
+
+GetWeather::GetWeather(QObject *parent) : QObject(parent)
+{
+    manager = new QNetworkAccessManager(this);
+    connect(manager,&QNetworkAccessManager::finished,this,&GetWeather::getData);
+    lat = "31.2145";
+    lng = "121.4218";
+}
+
+void GetWeather::setPoint(QString at, QString ng)
+{
+    lat = at;
+    lng = ng;
+}
+
+void GetWeather::sendRequest()
+{
+    QString header = QString("APPCODE %1").arg("0f2b7fce6e104ba8835358b7b59b4fb6");
+    req = new QNetworkRequest(QString("https://weather01.market.alicloudapi.com/gps-to-weather?from=5&lat=%1&lng=%2&need3HourForcast=0&needAlarm=0&needHourData=0&needIndex=0&needMoreDay=0").arg(lat).arg(lng));
+    req->setRawHeader("Authorization", header.toLocal8Bit());
+    req->setRawHeader("Accept","*/*");
+    config = req->sslConfiguration();
+    config.setPeerVerifyMode(QSslSocket::VerifyNone);
+    config.setProtocol(QSsl::TlsV1_0OrLater);
+    req->setSslConfiguration(config);
+    reply = manager->get(*req);
+}
+
+void GetWeather::getData(QNetworkReply*)
+{
+//    QTextCodec *tc = QTextCodec::codecForName("UTF-8");
+    QJsonParseError json_error;
+    reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
+    reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
+    if(reply->error()==QNetworkReply::NoError){
+        QByteArray data = reply->readAll();
+        QJsonDocument jsonDoc(QJsonDocument::fromJson(data,&json_error));
+        if(json_error.error==QJsonParseError::NoError){
+            QJsonObject root = jsonDoc.object();
+            if((!root.value("showapi_res_body").isUndefined())&&(!root.value("showapi_res_body").isNull())){
+                QJsonObject body = root.value("showapi_res_body").toObject();
+                if((!body.value("f1").isUndefined())&&(!body.value("f1").isNull())){
+                    QJsonObject f1 = body.value("f1").toObject();
+                    if((!f1.value("day_weather").isUndefined())&&(!f1.value("day_weather").isNull())
+                            &&(!f1.value("day_weather_code").isUndefined())&&(!f1.value("day_weather_code").isNull())
+                            &&(!f1.value("night_weather").isUndefined())&&(!f1.value("night_weather").isNull())
+                            &&(!f1.value("night_weather_code").isUndefined())&&(!f1.value("night_weather_code").isNull())
+                            &&(!f1.value("sun_begin_end").isUndefined())&&(!f1.value("sun_begin_end").isNull())
+                            &&(!f1.value("day_air_temperature").isUndefined())&&(!f1.value("day_air_temperature").isNull())
+                            &&(!f1.value("night_air_temperature").isUndefined())&&(!f1.value("night_air_temperature").isNull())
+                            ){
+                        QString sun_begin_end = f1.value("sun_begin_end").toString();
+                        int cur = sun_begin_end.indexOf("|");
+                        emit get_weather(
+                                    f1.value("day_weather").toString(),
+                                    f1.value("day_weather_code").toString(),
+                                    f1.value("night_weather").toString(),
+                                    f1.value("night_weather_code").toString(),
+                                    sun_begin_end.mid(0,cur),sun_begin_end.mid(cur+1),
+                                    f1.value("day_air_temperature").toString(),
+                                    f1.value("night_air_temperature").toString());
+                    }
+                }
+            }
+        }
+    }
+}

+ 40 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/getweather.h

@@ -0,0 +1,40 @@
+#ifndef GETWEATHER_H
+#define GETWEATHER_H
+
+#include <QObject>
+#include <QNetworkRequest>
+#include <QNetworkAccessManager>
+#include <QNetworkReply>
+#include <QEventLoop>
+#include <QSslConfiguration>
+#include <QUrl>
+#include <QJsonParseError>
+#include <QJsonDocument>
+#include <QJsonObject>
+#include <QJsonValue>
+#include <QVariant>
+#include <QTextCodec>
+
+class GetWeather : public QObject
+{
+    Q_OBJECT
+public:
+    explicit GetWeather(QObject *parent = nullptr);
+    void sendRequest();
+    void setPoint(QString at, QString ng);
+
+signals:
+    void get_weather(QString day_weather, QString day_weather_code, QString night_weather, QString night_weather_code, QString sun_begin, QString sun_end, QString day_air_temperature, QString night_air_temperature);
+
+public slots:
+    void getData(QNetworkReply *);
+
+private:
+    QNetworkAccessManager *manager;
+    QNetworkReply *reply;
+    QNetworkRequest *req;
+    QSslConfiguration config;
+    QString lat, lng;
+};
+
+#endif // GETWEATHER_H

+ 46 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/logthread.cpp

@@ -0,0 +1,46 @@
+#include "logthread.h"
+
+LogThread::LogThread(QObject *parent) : QThread(parent)
+{
+    QDir dir("log");
+    if(!dir.exists())
+        dir.mkdir("log");
+    logList.clear();
+}
+
+LogThread::~LogThread()
+{
+    if(keepWorking)
+        stop();
+    this->deleteLater();
+}
+
+void LogThread::appendLog(QString log)
+{
+    logList.append(log);
+}
+
+void LogThread::stop()
+{
+    keepWorking = false;
+}
+
+void LogThread::run()
+{
+    keepWorking = true;
+    while (keepWorking) {
+        if(logList.length()>0){
+            QDate today = QDate::currentDate();
+            QFile file(QString("log/log-%1%2%3.txt").arg(today.year(),4,10,QChar('0')).arg(today.month(),2,10,QChar('0')).arg(today.day(),2,10,QChar('0')));
+            if(file.open(QIODevice::Text|QIODevice::Append|QIODevice::WriteOnly)){
+                while (logList.length()>0) {
+                    file.write(logList.first().toUtf8()+"\n");
+                    logList.removeFirst();
+                    usleep(10000);
+                }
+                file.close();
+            }
+        }
+        usleep(100000);
+    }
+}

+ 26 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/logthread.h

@@ -0,0 +1,26 @@
+#ifndef LOGTHREAD_H
+#define LOGTHREAD_H
+
+#include <QThread>
+#include <QDir>
+#include <QFile>
+#include <QDate>
+
+class LogThread : public QThread
+{
+    Q_OBJECT
+public:
+    explicit LogThread(QObject *parent = nullptr);
+    ~LogThread();
+    void run() override;
+    void appendLog(QString log);
+    void stop();
+
+signals:
+
+private:
+    QStringList logList;
+    bool keepWorking;
+};
+
+#endif // LOGTHREAD_H

+ 35 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/main.cpp

@@ -0,0 +1,35 @@
+#include "widget.h"
+
+#include <QApplication>
+#include "../SFDog/dataprocess.h"
+
+DataProcessShm *dataProcessShm;
+
+bool load_shm(){
+    int shmid;
+    key_t key;
+    if((key=ftok(SHM_PATH,static_cast<int>(SHM_PORT)))==-1){
+        return false;
+    }
+    if((shmid=shmget(key,sizeof(DataProcessShm),IPC_CREAT|0666))==-1){
+        return false;
+    }
+    dataProcessShm = static_cast<DataProcessShm *>(shmat(shmid,nullptr,0));
+    return true;
+}
+
+
+int main(int argc, char *argv[])
+{
+    QApplication a(argc, argv);
+
+
+    Widget w;
+    w.show();
+
+    if(load_shm()){
+
+    }
+
+    return a.exec();
+}

+ 96 - 0
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics.qrc

@@ -0,0 +1,96 @@
+<RCC>
+    <qresource prefix="/img">
+        <file>pics/img/dev.png</file>
+        <file>pics/img/edit.png</file>
+        <file>pics/img/Logo.png</file>
+        <file>pics/img/save.png</file>
+        <file>pics/img/setup.png</file>
+        <file>pics/setup.png</file>
+        <file>pics/weather/day/00.png</file>
+        <file>pics/weather/day/01.png</file>
+        <file>pics/weather/day/02.png</file>
+        <file>pics/weather/day/03.png</file>
+        <file>pics/weather/day/04.png</file>
+        <file>pics/weather/day/05.png</file>
+        <file>pics/weather/day/06.png</file>
+        <file>pics/weather/day/07.png</file>
+        <file>pics/weather/day/08.png</file>
+        <file>pics/weather/day/09.png</file>
+        <file>pics/weather/day/10.png</file>
+        <file>pics/weather/day/11.png</file>
+        <file>pics/weather/day/12.png</file>
+        <file>pics/weather/day/13.png</file>
+        <file>pics/weather/day/14.png</file>
+        <file>pics/weather/day/15.png</file>
+        <file>pics/weather/day/16.png</file>
+        <file>pics/weather/day/17.png</file>
+        <file>pics/weather/day/18.png</file>
+        <file>pics/weather/day/19.png</file>
+        <file>pics/weather/day/20.png</file>
+        <file>pics/weather/day/21.png</file>
+        <file>pics/weather/day/22.png</file>
+        <file>pics/weather/day/23.png</file>
+        <file>pics/weather/day/24.png</file>
+        <file>pics/weather/day/25.png</file>
+        <file>pics/weather/day/26.png</file>
+        <file>pics/weather/day/27.png</file>
+        <file>pics/weather/day/28.png</file>
+        <file>pics/weather/day/29.png</file>
+        <file>pics/weather/day/30.png</file>
+        <file>pics/weather/day/31.png</file>
+        <file>pics/weather/night/00.png</file>
+        <file>pics/weather/night/01.png</file>
+        <file>pics/weather/night/02.png</file>
+        <file>pics/weather/night/03.png</file>
+        <file>pics/weather/night/04.png</file>
+        <file>pics/weather/night/05.png</file>
+        <file>pics/weather/night/06.png</file>
+        <file>pics/weather/night/07.png</file>
+        <file>pics/weather/night/08.png</file>
+        <file>pics/weather/night/09.png</file>
+        <file>pics/weather/night/10.png</file>
+        <file>pics/weather/night/11.png</file>
+        <file>pics/weather/night/12.png</file>
+        <file>pics/weather/night/13.png</file>
+        <file>pics/weather/night/14.png</file>
+        <file>pics/weather/night/15.png</file>
+        <file>pics/weather/night/16.png</file>
+        <file>pics/weather/night/17.png</file>
+        <file>pics/weather/night/18.png</file>
+        <file>pics/weather/night/19.png</file>
+        <file>pics/weather/night/20.png</file>
+        <file>pics/weather/night/21.png</file>
+        <file>pics/weather/night/22.png</file>
+        <file>pics/weather/night/23.png</file>
+        <file>pics/weather/night/24.png</file>
+        <file>pics/weather/night/25.png</file>
+        <file>pics/weather/night/26.png</file>
+        <file>pics/weather/night/27.png</file>
+        <file>pics/weather/night/28.png</file>
+        <file>pics/weather/night/29.png</file>
+        <file>pics/weather/night/30.png</file>
+        <file>pics/weather/night/31.png</file>
+        <file>pics/cover.png</file>
+        <file>pics/next.png</file>
+        <file>pics/prev.png</file>
+        <file>pics/background.png</file>
+        <file>pics/bg.jpg</file>
+        <file>pics/water/alarm.png</file>
+        <file>pics/water/normal.png</file>
+        <file>pics/water/offline.png</file>
+        <file>pics/alarm_bg.png</file>
+        <file>pics/FIRE/dev_alarm.png</file>
+        <file>pics/FIRE/FIREDEV.png</file>
+        <file>pics/FIRE/FIREDEV_out.png</file>
+        <file>pics/water/dev_alarm.png</file>
+        <file>pics/water/WATER.png</file>
+        <file>pics/water/WATER_out.png</file>
+        <file>pics/RTU/dev_alarm.png</file>
+        <file>pics/RTU/RTU.png</file>
+        <file>pics/RTU/RTU_out.png</file>
+        <file>pics/bg2.jpg</file>
+        <file>pics/exit2.png</file>
+        <file>pics/minsize.png</file>
+        <file>pics/Logo.png</file>
+    </qresource>
+</RCC>

BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/FIRE/FIREDEV.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/FIRE/FIREDEV_out.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/FIRE/dev_alarm.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/Logo.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/RTU/RTU.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/RTU/RTU_out.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/RTU/dev_alarm.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/alarm_bg.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/background.jpg


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/background.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/bg.jpg


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/bg2.jpg


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/cover.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/exit2.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/img/Logo.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/img/dev.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/img/edit.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/img/save.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/img/setup.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/min.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/minsize.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/next.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/prev.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/setup.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/WATER.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/WATER_out.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/alarm.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/dev_alarm.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/normal.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/water/offline.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/00.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/01.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/02.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/03.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/04.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/05.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/06.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/07.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/08.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/09.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/10.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/11.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/12.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/13.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/14.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/15.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/16.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/17.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/18.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/19.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/20.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/21.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/22.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/23.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/24.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/25.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/26.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/27.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/28.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/29.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/30.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/day/31.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/00.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/01.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/02.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/03.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/04.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/05.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/06.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/07.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/08.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/09.png


BIN
SFDataBoard/SFDataBoard/v 1.0.1 for Linux/USiST04-0100/USiST04-0100-03/pics/weather/night/10.png


Някои файлове не бяха показани, защото твърде много файлове са промени