Embedded softwareVersoSat
Device control and communications modelling
Built a C++ library for controlling radio hardware from Linux applications and adapted MATLAB/Simulink transmitter models for integration.
Source code is private.
Result
Enabled device-control testing before board integration and took a DVB-S2 transmitter model through HDL generation and synthesis.
The challenge
Radio applications need an interface for configuration, commands and status. The control logic needed tests without the target board, while the transmitter model needed compatible interfaces for integration with the receiver.
My contribution
- Built a standalone C++ control library on Linux, using the team's existing hardware-access wrapper as a starting reference.
- Implemented argument and state checks, mutex-protected register access, interrupt callbacks and resource cleanup through libmetal.
- Tested driver logic with simulated registers and created a software test device for local Linux Userspace I/O (UIO) register-access checks.
- Cross-compiled the library for AArch64 and linked an example application against it.
- Adapted MathWorks DVB-S2 transmitter models, connected them to a receiver reference and resolved a fixed-point interface mismatch.
- Ran model checks, short simulation, HDL generation and separate synthesis of the transmitter and receiver blocks.
Results and validation
The control library supports repeatable checks of commands, state handling and callbacks before target-board integration. The adapted DVB-S2 transmitter model reached HDL generation and block-level synthesis, providing a basis for FPGA integration. VersoSat exhibited at IAC 2026 in Antalya.
Technical details
Verification covers mocked driver logic, local register access, short simulation and separate block-level synthesis. Full interrupt integration, complete radio-link decoding and target-board operation remain unvalidated. The communications work builds on MathWorks references, with responsibility for the transmitter and integration checks.