| Presentation - This first document is an overview PowerPoint that I used when presenting my final project. The presentation itself doesn't have a lot of information, because most of the demonstration was hands-on with the hardware and software. (just a tip - If someone can understand your whole message just by looking at the PowerPoint, you probably included too much in the PowerPoint.) |
| Project Proposal - Before we actually started the project, we had to write a proposal, and get approval from our professor to begin. In this proposal I explained the software I was proposing to write (the yeasuControl Class), and gave an example of it's potential use, by explaining what ARES, RACES, etc. are, and how those organization could use something like this. This is where I detailed that the core of the project was the yeasuControl software, and that the scope of the project would revolve around this software - any actual interface software (radioInterface3) and hardware was just to support demonstrating yeasuControl's functionality. |
| Project Plan - This is the fully fleshed out project and scope. This included details on the management of the project, it's schedule (5 weeks from start to finish), and the scope. For highlights, the main purpose was to write the Class, and to include in that class all of the functionality that Yeasu CAT control can support. Secondary to the scope was writing a minimally viable user interface (radioInterface3), to demonstrate the functionality of the class. Since it's text base, you could technically use this rig control software on a computer that doesn't have a GUI installed - for single board computers this is sometimes a benefit, because you don't lose processing power running a pretty window manager. The scope also includes details on the types of hardware that the software should be able to run on, etc. Because this was something that needed to be done rapidly, I had to keep the scope pretty tight. |
| Class Documentation - This is the documentation that explains each class object attribute, what it does, and how to use it. For the non-IT minded, this document doesn't explain how an end-user uses a piece of software - it explains how a software developer would use this within the software they are making. You can think of it like the manual that an engine manufacture would prepare for the auto-maker. It's documenting a specific part, not a whole program. |
| radioInterface3 Documentation - This is the document that reads like a user manual for the the program that could be considered the user-interface. This program was written to be the most basic possible program (minimally viable) that would demonstrate the functions of the yeasuControl Class. It is text based, but if you have a very low-power computer, that might be just the ticket you need. |
| Python Files - Here they are, the actual .py files containing the code I wrote. If you like to tinker around with Python programming, I hope these help. If you're a pro, be nice when you critique my work (I am an amateur after all!) I don't have room for an entire Python lesson here, but if you do a Google search for "Python Basics" you'll find all sorts of information, including information on how to compile these and use them if you want to just take what I wrote and use it as-is. |
Enjoy!