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)에 저장될 저장소 이릅니다.

148
main.py
View File

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