Compare commits

..

No commits in common. "main" and "v1.0.0" have entirely different histories.
main ... v1.0.0

2 changed files with 125 additions and 57 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.2 # Stackbase(gitea)에 릴리즈 태그명 입니다. tagName: v1.0.0 # Stackbase(gitea)에 릴리즈 태그명 입니다.
repoName: dts-py-app # Stackbase(gitea)에 저장될 저장소 이릅니다. repoName: dts-py-app # Stackbase(gitea)에 저장될 저장소 이릅니다.

180
main.py
View File

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