Read and display firmware on startup.

Prepare for 0.0.5
pull/12/head
Rune B. Broberg 2019-09-04 18:40:45 +02:00
rodzic b98622047f
commit 4cdb1cf3a8
2 zmienionych plików z 30 dodań i 6 usunięć

Wyświetl plik

@ -534,11 +534,13 @@ class NanoVNASaver(QtWidgets.QWidget):
return
def flushSerialBuffers(self):
self.serial.write(b"\r\n\r\n")
sleep(0.1)
self.serial.reset_input_buffer()
self.serial.reset_output_buffer()
sleep(0.1)
if self.serialLock.acquire():
self.serial.write(b"\r\n\r\n")
sleep(0.1)
self.serial.reset_input_buffer()
self.serial.reset_output_buffer()
sleep(0.1)
self.serialLock.release()
def startSerial(self):
self.lister.appendPlainText("Opening serial port " + self.serialPort)
@ -558,6 +560,9 @@ class NanoVNASaver(QtWidgets.QWidget):
sleep(0.05)
self.flushSerialBuffers()
sleep(0.05)
self.lister.appendPlainText(self.readFirmware())
frequencies = self.readValues("frequencies")
@ -618,6 +623,25 @@ class NanoVNASaver(QtWidgets.QWidget):
self.threadpool.start(self.worker)
def readFirmware(self):
if self.serialLock.acquire():
try:
data = "a"
while data != "":
data = self.serial.readline().decode('ascii')
# Then send the command to read data
self.serial.write("info\r".encode('ascii'))
except serial.SerialException as exc:
print("Exception received: " + str(exc))
result = ""
data = ""
sleep(0.01)
while "ch>" not in data:
data = self.serial.readline().decode('ascii')
result += data
self.serialLock.release()
return result
def readValues(self, value):
if self.serialLock.acquire():
try:

Wyświetl plik

@ -20,7 +20,7 @@ from PyQt5 import QtWidgets
from NanoVNASaver import NanoVNASaver
version = "0.0.4"
version = "0.0.5"
if __name__ == '__main__':
print("NanoVNASaver " + version)