From bcfe4808c017ab3383eb9942bdf0ed5009d2ed96 Mon Sep 17 00:00:00 2001 From: Leon Teichroeb Date: Tue, 27 Jul 2021 15:09:24 +0200 Subject: [PATCH] Refatoring: Moved .py files into src folder. Unified some file names --- Test cases.xlsx | Bin 18028 -> 0 bytes {Arduino => src/arduino}/README_arduino.md | 0 {Arduino => src/arduino}/__init__.py | 0 {Arduino => src/arduino}/arduino.py | 0 {Arduino => src/arduino}/prototype.ino | 0 cage_func.py => src/cage_func.py | 12 ++++++------ config_handling.py => src/config_handling.py | 2 +- csv_logging.py => src/csv_logging.py | 4 ++-- csv_threading.py => src/csv_threading.py | 2 +- globals.py => src/globals.py | 4 ++-- main.py => src/main.py | 6 +++--- {pyps2000b => src/ps2000b}/LICENSE | 0 {pyps2000b => src/ps2000b}/PS2000B.py | 0 {pyps2000b => src/ps2000b}/README.md | 0 {pyps2000b => src/ps2000b}/__init__.py | 0 socket_control.py => src/socket_control.py | 2 +- User_Interface.py => src/user_interface.py | 0 test.csv | 4 ---- 18 files changed, 16 insertions(+), 20 deletions(-) delete mode 100644 Test cases.xlsx rename {Arduino => src/arduino}/README_arduino.md (100%) rename {Arduino => src/arduino}/__init__.py (100%) rename {Arduino => src/arduino}/arduino.py (100%) rename {Arduino => src/arduino}/prototype.ino (100%) rename cage_func.py => src/cage_func.py (98%) rename config_handling.py => src/config_handling.py (99%) rename csv_logging.py => src/csv_logging.py (98%) rename csv_threading.py => src/csv_threading.py (99%) rename globals.py => src/globals.py (94%) rename main.py => src/main.py (97%) rename {pyps2000b => src/ps2000b}/LICENSE (100%) rename {pyps2000b => src/ps2000b}/PS2000B.py (100%) rename {pyps2000b => src/ps2000b}/README.md (100%) rename {pyps2000b => src/ps2000b}/__init__.py (100%) rename socket_control.py => src/socket_control.py (99%) rename User_Interface.py => src/user_interface.py (100%) delete mode 100644 test.csv diff --git a/Test cases.xlsx b/Test cases.xlsx deleted file mode 100644 index da0c57af67d80b2605f18655ffaa09d840b61233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18028 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