Test Rig for Geolocation: Software Architecture
Goal: The goal of the geolocation test rig is to allow end-to-end testing and validation of our geolocation algorithm. The software exists to ingest data from the test rig and put it into our geolocation algorithm.
Architecture: The entire test rig will be contained in a program under main.py called TestGeolocationProgram (see flightProgram as an example). The diagram below shows how the program will be constructed. Each square box is a module and worker function for that module, each solid arrow is a pipeline. Note that the only new module being implemented is TestIMUInterface.
Implementing TestIMU Interface:
TestIMUInterface |
---|
+getIMUData(): Function that reads 83 bits from a newline and returns IMU data as a dictionary: {
x: 123, // bits 1-16
y: 123, //bits 18-33
z: 123, //bits 35-50
timestamp: 123123123 //bits 51-83
} |
-arduinoSer: pySerial Serial object representing the endpoint where the arduino is connected. |
Worker function: Every 5 seconds, call getIMUData(), create Timestamp object using timestamp from dictionary.