XRDS™️ Software Development
-
Developed and tested vibration data analysis algorithms for condition-based maintenance from an embedded OS
- Implemented the algorithms in C for utilization by an
ARM cortex 335x series
microcontroller. The focus of the algorithms was on time domain, frequency domain, and synchronous domain analyses - Developed a high-level framework in C incorporated with the
Yocto project for handling onboard processing
- Designed and integrated communication functions with an embedded SQLite database for retrieving algorithm parameters, as well as loading and storing both raw and processed data
- Interfaced with low-level routines for collecting raw data and monitoring system state via a watchdog timer
- Established communications protocol for system-wide integration in order to perform all onboard data acquisitions and processing upon triggers either by the user or by flight regime
- Performed software verification testing by comparing results from the data
analysis framework with a Python transliteration of the original
MatLab
scripts. The results were displayed and analyzed
- Implemented the algorithms in C for utilization by an
-
Designed and tested firmware for the
PIC24F08KL301 MCU
usingMPLAB X
, Eclipse, andPICKIT3
- The microcontroller was used to emulate tachometer signals with two 8-bit
timers and to translate between
RS-485
andRS-232
message protocols for interfacing with a rotor blade tracking system - The two
UART
peripherals were utilized for the serial communications: one dedicated toRS-485
communication with the controlling OS, and the other was dedicated toRS-232
communication with the tracking system - Implemented a communications protocol for responding to various control
bytes transmitted over
RS-485
- Developed a boot loader for executing firmware updates over serial traffic: created host side in Python using minimal packages for ease of deployment on the embedded Linux system, and tested the MCU side written in C
- Phase 1 development was done on the
SAMD21G18A MCU
with Eclipse and the Arduino IDE for programming
- The microcontroller was used to emulate tachometer signals with two 8-bit
timers and to translate between