diff --git a/framework.yaml b/framework.yaml index 793d4f5..d7dcdfd 100644 --- a/framework.yaml +++ b/framework.yaml @@ -8,5 +8,5 @@ spec: runtime: python3.9 package: requirements.txt # 설치할 Python 패키지 정보 파일입니다.(기본 값은 requirement.txt 입니다.) stackbase: - tagName: v1.0.0 # Stackbase(gitea)에 릴리즈 태그명 입니다. + tagName: v1.0.1 # Stackbase(gitea)에 릴리즈 태그명 입니다. repoName: dts-py-app # Stackbase(gitea)에 저장될 저장소 이릅니다. diff --git a/main.py b/main.py index 992e3fa..13c2fa8 100644 --- a/main.py +++ b/main.py @@ -1,124 +1,55 @@ -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 struct - - -class MainWindow(QMainWindow, Ui_MainWindow): - def __init__(self): - super().__init__() - self.setupUi(self) - self.show() - - self.pb_Start1.clicked.connect(self.SendStartPacket1) - self.pb_Stop1.clicked.connect(self.SendStopPacket1) - - self.pushButton_EnableDelaySet.clicked.connect(self.SetEnableDelay) - self.pushButton_AverageStepSet.clicked.connect(self.SetAverage) - self.pushButton_SampleRangeSet.clicked.connect(self.SetSampleRange) - - self.comboboxMinVal = 8 - for i in range(self.comboboxMinVal, 12): - self.comboBox_AverageStepVal.addItem(str(2**i)) - - ip = "192.168.0.20" - port = 5001 - self.dts = DTS(ip, port) - self.dtsInit() - - self.x1 = [] - self.y1 = [] - self.data_line1 = self.graphWidget1.plot(self.x1, self.y1) - - self.timer = QtCore.QTimer() - self.timer.setInterval(250) - self.timer.timeout.connect(self.update_plot_data) - self.timer.start() - - self.tick = 0 - - self.prevDataCount = 0 - - 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) - - -def mainInit(): - app = QApplication(sys.argv) - w = MainWindow() - app.exec() - - -if __name__ == "__main__": - mainInit() - - -# pyuic6 .\MainWindow.ui -o MainWindow.py +from SDT_Device.DTS import DTS + +import time +import sys +import json +import sdtcloudpubsub + + +# with open("./info.json","r") as f: +# info = f.read() + +# ch = info['ch'] +# ch = 0 +# ip = info['ip'] +# port = info['port'] +# enableDelayVal = info['enableDelayVal'] +# sampleRangeVal = info['sampleRangeVal'] +# avgStepVal = info['avgStepVal'] + +# Default Setup for Test +ch = 0 +ip= "192.168.0.20" +port = 5001 +enableDelayVal = 10 +sampleRangeVal = 100 +avgStepVal = 10 + +sdtcloud = sdtcloudpubsub.sdtcloudpubsub() +mqttClient = sdtcloud.setClient(f"device-app-{uuid.uuid1()}") # parameter is client ID(string) + +# Run Start +dts = DTS(ip,port) +dts.setSystemReset() +dts.setAvgStart(ch, 0) + +dts.setAvgEnableDelay(ch, 10 + enableDelayVal) +dts.setAvgSampleRange(ch, sampleRangeVal) +dts.setAvgStep(ch, avgStepVal) + +# Get Data Start +dts. setAvgStart(ch, 1) + +dts.setTimerTick(ch, 100_000_000) + + +while(1): + print("Run") + y1 = dts.ReadAdcData(0) + + print(y1) + msg = { + "sensor_data": y1 + } + sdtcloud.pubMessage(mqttClient, msg) + time.sleep(1)