buffer size can now be changed dynamically

This commit is contained in:
p.loedige 2021-01-07 22:27:46 +01:00
parent 8df7e1852e
commit 53aaee0304
2 changed files with 7 additions and 3 deletions

1
app.py
View File

@ -56,6 +56,7 @@ def xml_transfer():
str(dir + '/XML/config.xml')) str(dir + '/XML/config.xml'))
xml_reader.set_root(str(dir + '/XML/config.xml')) xml_reader.set_root(str(dir + '/XML/config.xml'))
interface_handler.init_gpio() interface_handler.init_gpio()
interface_handler.init_buffer()
else: else:
SyntaxError('the config.xml has invalid content') SyntaxError('the config.xml has invalid content')
return {'error': ''} return {'error': ''}

View File

@ -60,6 +60,7 @@ class Interface_handler:
self.buffers = [None] * 41 self.buffers = [None] * 41
self.buffer_device_names = [] self.buffer_device_names = []
self.buffer_thread = None self.buffer_thread = None
self.run_buffer = False
self.init_gpio() self.init_gpio()
self.init_buffer() self.init_buffer()
@ -97,8 +98,10 @@ class Interface_handler:
"""initializes the buffer thread """initializes the buffer thread
""" """
#stop the buffer thread #stop the buffer thread
if self.buffer_thread != None: self.run_buffer = False
self.buffer_thread.stop() while self.buffer_thread!=None and self.buffer_thread.is_alive():
time.sleep(BUFFER_SPEED)
self.run_buffer = True
#create the buffers #create the buffers
for device_name in self.xml_reader.get_device_names(): for device_name in self.xml_reader.get_device_names():
port_info = self.xml_reader.get_port(device_name) port_info = self.xml_reader.get_port(device_name)
@ -241,7 +244,7 @@ class Interface_handler:
def buffering(self): def buffering(self):
"""method that buffers the device outputs """method that buffers the device outputs
""" """
while True: #loop forever while self.run_buffer: #loop
for device_name in self.buffer_device_names: for device_name in self.buffer_device_names:
output = self.read(device_name) output = self.read(device_name)
port_info = self.xml_reader.get_port(device_name) port_info = self.xml_reader.get_port(device_name)