From fd196db800267181accce744866e4aaa50ae23bd Mon Sep 17 00:00:00 2001 From: jtkenny <jtkenny@iastate.edu> Date: Sun, 12 Nov 2023 21:26:51 +0100 Subject: [PATCH] LogHandler works --- cflib_groundstation/LogfileHandler.py | 26 +++++++++++++----- .../__pycache__/LogfileHandler.cpython-38.pyc | Bin 0 -> 4849 bytes .../SetpointHandler.cpython-38.pyc | Bin 0 -> 7436 bytes .../crazyflie_connection.cpython-38.pyc | Bin 0 -> 8952 bytes .../groundstation_socket.cpython-38.pyc | Bin 0 -> 4797 bytes .../__pycache__/uCartCommander.cpython-38.pyc | Bin 0 -> 7993 bytes cflib_groundstation/main.py | 5 +++- 7 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 cflib_groundstation/__pycache__/LogfileHandler.cpython-38.pyc create mode 100644 cflib_groundstation/__pycache__/SetpointHandler.cpython-38.pyc create mode 100644 cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc create mode 100644 cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc create mode 100644 cflib_groundstation/__pycache__/uCartCommander.cpython-38.pyc diff --git a/cflib_groundstation/LogfileHandler.py b/cflib_groundstation/LogfileHandler.py index fe61aacd8..4dca8f924 100644 --- a/cflib_groundstation/LogfileHandler.py +++ b/cflib_groundstation/LogfileHandler.py @@ -61,10 +61,10 @@ class LogfileHandler: def refresh_logging_configs(self): - raise Exception + return self.read_all_active_blocks() - def load_logging_configs() : - raise Exception + def load_logging_configs(self): + return self.read_all_active_blocks() def clear_logging_configs(self): """ Stop logging and clear configuration. Used when refreshing @@ -115,17 +115,29 @@ class LogfileHandler: if len(formatLine) == 0 or formatLine[0] == '#': continue elif formatLine == "START BLOCK": - print(line) data = [] - for i in range(0,6): - newLine = logBlockFile.readline().strip() + i = 0 + newLine = logBlockFile.readline().strip() + while newLine != "END BLOCK": + print(newLine) if newLine == "" or newLine == "END BLOCK": + print("New Line: " + newLine) raise Exception("loggingBlocks.txt is not formatted correctly") + if i == 0 or i == 2: data.append(int(newLine)) else: data.append(newLine) - if len(data) != 6 or logBlockFile.readline().strip() != "END BLOCK": + newLine = logBlockFile.readline().strip() + i += 1 + if logBlockFile.readline().strip() == "START BLOCK": + print(data) raise Exception("loggingBlocks.txt is not formatted correctly") + config = LogConfig(data[1], data[2]) + for i in range(3, len(data)): + config.add_variable(data[i]) + config.create() + active_blocks.append(config) + return active_blocks diff --git a/cflib_groundstation/__pycache__/LogfileHandler.cpython-38.pyc b/cflib_groundstation/__pycache__/LogfileHandler.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7fcdd75366634ed8a67ceb0bc0249148df63257c GIT binary patch literal 4849 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 DM(hO6 literal 0 HcmV?d00001 diff --git a/cflib_groundstation/__pycache__/SetpointHandler.cpython-38.pyc b/cflib_groundstation/__pycache__/SetpointHandler.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0c7e0a74ab5cc30a12251e4bb5914b570dbe5755 GIT binary patch literal 7436 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 literal 0 HcmV?d00001 diff --git a/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc b/cflib_groundstation/__pycache__/crazyflie_connection.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c0374ef88a85fc8fd2568c1ec8d3a508f778406b GIT binary patch literal 8952 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 literal 0 HcmV?d00001 diff --git a/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc b/cflib_groundstation/__pycache__/groundstation_socket.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c7682e1b85a3353b38ec590272b6af5937d17a5e GIT binary patch literal 4797 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 literal 0 HcmV?d00001 diff --git a/cflib_groundstation/__pycache__/uCartCommander.cpython-38.pyc b/cflib_groundstation/__pycache__/uCartCommander.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..80519f2ef307568ffdfa9785fe9f2aa52894b146 GIT binary patch literal 7993 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 literal 0 HcmV?d00001 diff --git a/cflib_groundstation/main.py b/cflib_groundstation/main.py index 0c3e2198f..212ed6b46 100644 --- a/cflib_groundstation/main.py +++ b/cflib_groundstation/main.py @@ -4,6 +4,7 @@ from queue import Queue from threading import Thread from groundstation_socket import GroundstationSocket, MessageTypeID from crazyflie_connection import CrazyflieConnection +from LogfileHandler import LogfileHandler class main(): @@ -75,6 +76,8 @@ class main(): if __name__ == '__main__': - main().start() + lf = LogfileHandler() + lf.read_all_active_blocks() + #main().start() \ No newline at end of file -- GitLab