StationD Python Rewrite

Poster Image
Event poster; details follow in description
Poster Session
B
Poster Number
12
Project Author(s)
Steven Borrego
Institution
Portland State University
Project Description

OreSat is an open-source cubesat project led by the Portland State Aerospace Society (PSAS). Various antennas and other devices comprise the ground station operated by PSAS. The ground station utilizes a software daemon (StationD) running on a Raspberry Pi to remotely control device power states over a network, via General Purpose Input/Output (GPIO). A system written in C has been in place for this, but it was difficult to modify and adapt to different ground station configurations. For this internship, PSAS requested a new daemon written in python. The new implementation of StationD required a complete redesign of the software architecture, moving from state-machine logic to an object-oriented design, allowing for simple, readable code that emphasizes configurability and maintainability. StationD listens for User Datagram Protocol (UDP) commands on the network, handles numerous dependencies and constraints, and responds with detailed error/success messages. Development of StationD was done on a Raspberry Pi connected to a breadboard fitted with LED lights to simulate device power states. The development process involved several code reviews with PSAS leadership, ensuring that the requirements were met. By the end of the internship, software had been produced that was ready to replace the old system after testing on the actual hardware. I also gained valuable software development experience and was able to produce a deliverable that is fit to be moved into production.