Please feel free to visit my GitHub page to view my full collection of repositories.
Aviation GPS Error Plotter
- From a GPS log, provides a visual Latitude/Longitude plot of an aircraft track. The plot will indicate portions of the
flight where the Horizontal Dilution of Precision (HDOP) was high.
- Description: Using the provided GPS log, provide a visual Latitude/Longitude plot of the aircraft track.
The NMEA message format used in the log is explained in this
website: http://aprs.gids.nl/nmea/ The plot should indicate portions of the
flight where the Horizontal Dilution of Precision (HDOP) was high. For example, by using a red colour to indicate a
DOP greater than 2.0.
- What I Learned: This project has seen me refine my skills at using the Matplotlib Python package and has
improved my skill at rendering images and plots using the Python coding language. It has also served as a refresher
in geospatial navigation calculations.
TIE Corps Tailoring Tool 3
- A 3D graphical rendering tool produced in Python to read PHP
in from a website, parse the data into XML format and then dynamically launch POV-Ray
to render a high-quality ray-traced jpeg image.
- Description: As a member of an online sci-fi video gaming club, members took on the alias of naval officers.
A requirement of being a member included the creation of a uniform consisting of rank, position, squadron patch and medals.
The club's existing tool was old, out of date and required maintenance. It was also compiled with no available source code.
Using Python, Qt and POV-Ray
I recreated the tool from scratch, implemented existing functionality and added enhanced features.
- What I Learned: I learned how to request and parse PHP returned web data.
I enhanced my Qt skills and learned how to make attractive GUIs utilising CSS Stylesheets.
I learned how to parse data into an XML format ready for 3D rendering. The software then interrogates a Windows operating system
in order to find the version and location of POV-Ray ,
execute POV-Ray and extract a 3D ray-traced jpeg image.
Aircraft Transponder Code Loader
- Graphical Python application used in conjunction with Mil-Std 1910 and 1553
protocols to load data to an aircraft transponder.
- Description: Taking advantage of PBA.Pro bus analysis software, this program utilises
Python and Qt to manipulate a 3910/1553 aircraft data bus to load
data. The program will retrieve the current data on-board, perform analysis of the data to ensure it's correct, and if it's not, ask the
user to load correct data after which a final data check is performed.
- What I Learned: In this project I learned how to manipulate aircraft data bus architecture to become a dynamic bus controller.
I learned how to directly manipulate binary and hexadecimal data using Python as well as
performing checksum calculations. I leard how to create and read data from a database.
Arduino Animator
- A Python application to dynamically write C++ Arduino code to run an LED panel.
- Description: Supporting a friend's project, where they had constructed an Arduino powered RGB LED panel,
they were then going on to manually writing the C++ code for over 100 individual RGB LEDs with the aid of hand drawn
diagrams. I used my Python and QT programming knowledge to create a PyQT5 GUI driven Python application that would
allow them to 'paint' their creations and then rapidly export the converted C++ code to Arduino.
- What I Learned: I further enhanced my PyQt skills by learning how to dynamically create GUI elements and
then overload their signals and slots to grant me the control over the GUI that i required. I learned how to parse
data into a C++ format ready for LED rendering.
PBA.Pro Python IDE Emulation
- A Python wrapper module to allow Python
scripting of bespoke PBA.Pro class objects in any IDE.
- Description:PBA.Pro is bespoke databus analysis software that features
Python scripting. The software itself features a built in IDE but is extremely rudimentary
and is similar to programming in notepad. To aid my team in being able to script for this software utilising any off the shelf
Python IDE, I created this wrapper class to emulate all
PBA.Pro script functionality and include features such as intellisense.
This module allows users to run their PBA.Pro scripts within their IDE of choice
allowing them to spot errors quickly and have full docstring intellisense. The module also features persistent object creation,
meaning that an object can be created multiple times while maintaining its attributes.
- What I Learned: In this project I learned how to process and parse XML data into a
Python runtime, persistently store information pending it’s request and make a
valuable Python module.
SkyShadow's Rapid Reporting Tool
- Graphical Python application used for collecting information and generating reports for an online club.
- Description: A Python application featuring a
Qt based GUI used to scrape and parse HTML data from a live website and produce concise reports
about club members.
- What I Learned: In this project I learned more about applying CSS Stylesheets to a Qt GUI. I learned to read in and parse HTML
using the 'urlllib', 'BeautifulSoup' and 'soupsieve' Python modules.
Triple-X C++ Console Game
- Part of Final Project Submission of
Unreal Engine C++ Developer: Learn C++ and Make Video Games Course.
- Description: C++ Console based text game where you play the role of a hacker trying to break into a secret
server with increasing difficulty.
- What I Learned: In this project I learned the programming fundamentals of writing pure C++ code.
FPV Radio Controlled Plane
- Uses Raspberry Pi, 2.4GHz radio and 5GHz video telemetry to create and automated 'First-Person View' radio controlled aircraft.