Commit message

This commit is contained in:
sdt.tutorial 2024-04-24 11:25:13 +09:00
parent 4c96bf5c7e
commit 3d70524150
2 changed files with 56 additions and 125 deletions

View File

@ -8,5 +8,5 @@ spec:
runtime: python3.9 runtime: python3.9
package: requirements.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.) package: requirements.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.)
stackbase: stackbase:
tagName: v1.0.0 # Stackbase(gitea)에 릴리즈 태그명 입니다. tagName: v1.0.1 # Stackbase(gitea)에 릴리즈 태그명 입니다.
repoName: dts-py-app # Stackbase(gitea)에 저장될 저장소 이릅니다. repoName: dts-py-app # Stackbase(gitea)에 저장될 저장소 이릅니다.

145
main.py
View File

@ -1,124 +1,55 @@
from SDT_Device.DTS import DTS from SDT_Device.DTS import DTS
import sys
from PyQt6 import QtCore
from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QApplication, QMainWindow
from MainWindow import Ui_MainWindow
from pyqtgraph import PlotWidget, plot
import pyqtgraph as pg
from random import randint
import threading
import time import time
import struct import sys
import json
import sdtcloudpubsub
class MainWindow(QMainWindow, Ui_MainWindow): # with open("./info.json","r") as f:
def __init__(self): # info = f.read()
super().__init__()
self.setupUi(self)
self.show()
self.pb_Start1.clicked.connect(self.SendStartPacket1) # ch = info['ch']
self.pb_Stop1.clicked.connect(self.SendStopPacket1) # ch = 0
# ip = info['ip']
self.pushButton_EnableDelaySet.clicked.connect(self.SetEnableDelay) # port = info['port']
self.pushButton_AverageStepSet.clicked.connect(self.SetAverage) # enableDelayVal = info['enableDelayVal']
self.pushButton_SampleRangeSet.clicked.connect(self.SetSampleRange) # sampleRangeVal = info['sampleRangeVal']
# avgStepVal = info['avgStepVal']
self.comboboxMinVal = 8
for i in range(self.comboboxMinVal, 12):
self.comboBox_AverageStepVal.addItem(str(2**i))
# Default Setup for Test
ch = 0
ip= "192.168.0.20" ip= "192.168.0.20"
port = 5001 port = 5001
self.dts = DTS(ip, port) enableDelayVal = 10
self.dtsInit() sampleRangeVal = 100
avgStepVal = 10
self.x1 = [] sdtcloud = sdtcloudpubsub.sdtcloudpubsub()
self.y1 = [] mqttClient = sdtcloud.setClient(f"device-app-{uuid.uuid1()}") # parameter is client ID(string)
self.data_line1 = self.graphWidget1.plot(self.x1, self.y1)
self.timer = QtCore.QTimer() # Run Start
self.timer.setInterval(250) dts = DTS(ip,port)
self.timer.timeout.connect(self.update_plot_data) dts.setSystemReset()
self.timer.start() dts.setAvgStart(ch, 0)
self.tick = 0 dts.setAvgEnableDelay(ch, 10 + enableDelayVal)
dts.setAvgSampleRange(ch, sampleRangeVal)
dts.setAvgStep(ch, avgStepVal)
self.prevDataCount = 0 # Get Data Start
dts. setAvgStart(ch, 1)
def SetEnableDelay(self): dts.setTimerTick(ch, 100_000_000)
val = int(self.lineEdit_EnableDelayValue.text())
self.dts.setAvgEnableDelay(0, 10 + val)
self.dts.setAvgStart(0, 0)
self.dts.setAvgStart(0, 1)
def SetAverage(self):
val = self.comboBox_AverageStepVal.currentIndex() + self.comboboxMinVal
self.dts.setAvgStep(0, val)
self.dts.setAvgStart(0, 0)
self.dts.setAvgStart(0, 1)
def SetSampleRange(self):
val = int(self.lineEdit_SampleRangeValue.text())
self.dts.setAvgSampleRange(0, val)
self.dts.setAvgStart(0, 0)
self.dts.setAvgStart(0, 1)
def SendStartPacket1(self):
print("Send Start1")
self.dts.setAvgStart(0, 1)
def SendStopPacket1(self):
print("Send Stop1")
self.dts.setAvgStart(0, 0)
def update_plot_data(self):
self.y1 = self.dts.ReadAdcData(0)
size = len(self.y1)
self.x1 = list(range(size))
self.data_line1.setData(self.x1, self.y1)
print(self.dts.dataCount)
if self.prevDataCount != self.dts.dataCount[0]:
self.prevDataCount = self.dts.dataCount[0]
current_time = time.time()
formatted_time = time.strftime("%H:%M:%S", time.localtime(current_time))
print(f"[{formatted_time}] dataCount={self.dts.dataCount[0]}")
debugData = self.dts.getDebugData()
self.lineEdit_TriggerCount.setText(str(debugData[4]))
def dtsInit(self):
self.dts.setSystemReset()
self.comboBox_AverageStepVal.setCurrentText(f"{self.comboboxMinVal}")
avgStepVal = self.comboBox_AverageStepVal.currentIndex() + self.comboboxMinVal
self.lineEdit_SampleRangeValue.setText("50000")
sampleRangeVal = int(self.lineEdit_SampleRangeValue.text())
self.lineEdit_EnableDelayValue.setText("0")
enableDelayVal = int(self.lineEdit_EnableDelayValue.text())
ch = 0
self.dts.setAvgEnableDelay(ch, 10 + enableDelayVal)
self.dts.setAvgSampleRange(ch, sampleRangeVal)
self.dts.setAvgStep(ch, avgStepVal)
self.dts.setAvgStart(ch, 0)
self.dts.setTimerTick(ch, 100_000_000)
def mainInit(): while(1):
app = QApplication(sys.argv) print("Run")
w = MainWindow() y1 = dts.ReadAdcData(0)
app.exec()
print(y1)
if __name__ == "__main__": msg = {
mainInit() "sensor_data": y1
}
sdtcloud.pubMessage(mqttClient, msg)
# pyuic6 .\MainWindow.ui -o MainWindow.py time.sleep(1)