RevPiSlaveDev SD deutlich schneller - meldet nur bei sysflush schreibstatus

This commit is contained in:
2017-09-11 18:26:34 +02:00
parent 239cd9eee7
commit f881e08c73
3 changed files with 24 additions and 16 deletions

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
<!-- eric project file for project revpipyload -->
<!-- Saved: 2017-07-21, 22:24:05 -->
<!-- Saved: 2017-08-26, 09:25:46 -->
<!-- Copyright (C) 2017 Sven Sager, akira@narux.de -->
<Project version="5.1">
<Language>en_US</Language>
@@ -12,7 +12,7 @@
<Version>0.5.0</Version>
<Author>Sven Sager</Author>
<Email>akira@narux.de</Email>
<Eol index="-1"/>
<Eol index="1"/>
<Sources>
<Source>revpipyload/proginit.py</Source>
<Source>setup.py</Source>

View File

@@ -597,6 +597,7 @@ class RevPiSlaveDev(Thread):
self._deadtime = None
self._devcon, self._addr = devcon
self._evt_exit = Event()
self._writeerror = False
# Sicherheitsbytes
self.ey_dict = {}
@@ -660,6 +661,7 @@ class RevPiSlaveDev(Thread):
block = self._devcon.recv(length)
except:
proginit.logger.error("error while recv data to write")
self._writeerror = True
break
fh_proc.seek(position)
@@ -671,7 +673,12 @@ class RevPiSlaveDev(Thread):
break
# Record seperator character
if control == b'\x1c':
if self._writeerror:
self._devcon.send(b'\xff')
else:
self._devcon.send(b'\x1e')
self._writeerror = False
elif cmd == b'\x06\x16':
# Just sync
@@ -749,6 +756,7 @@ class RevPiSlaveDev(Thread):
while True:
data = fh_pic.read(1024)
if data:
# FIXME: Fehler fangen
self._devcon.send(data)
else:
fh_pic.close()