Here are the main skills I can bring to you.
I have been practicing software development for more than 20 years.
My specialties are mainly the low layers of embedded systems
(MCU, DSP, GPP).
My favorite languages are
C, C++, Python and many assembly languages. I'm also learning
RUST because I think this language is very promising.
Over the last few years, I have developed an expertise
in software SDET / QA:
Integrating, validating, qualifying complex software and hardware systems,
automating
processes, writing procedures etc.
Continuous integration is nowadays essential as IOTs possibilities are increasing
every
days.
I realized several electronic boards, for example for the Paris metro.
I like to get my hands dirty in industrial R&D laboratories.
My daily life consists in handling oscilloscopes, measuring devices of all kinds,
and smelling the soldering iron!
Here we go
May 2023 - Present
KeywordsDescription:
The MPM is an embedded system which is able to communicate with many avionics system
for testing, updating or data exchange. It can be connected to custom boards to
increase its capabilities. It's a powerful and cheaper alternative to avionic
benchmarks.
My achievements:
As the technical leader of the project, my work consists to define the
product policy to help the internal customers to test the avionic
systems, to make the bids, and to lead the team to achieve these
goals. I also actively participate in the development of the low-level
layers and the system testing integration.
The systems is composed of a Yocto custom linux distribution which is
embedded with a IMX 7. The IMX communicates with a Cyclone V FPGA through a
PCI express link to activate I/O, serial links and aviation specific standards
(Arinc 429, AFDX ...).
Developping the drivers, the middleware and the API with my team in C, Python and
bash, I also make the IP architecture to be described in VHDL.
Now, I specify the hardware motherboard and its addons for the future MPM version.
We are also building the CI/CD process with Jenkins, and soon with Gitlab and docker.
March 2021 - February 2023
KeywordsDescription:
My achievements:
As a QA (Quality Assurance) engineer, and more exactly as SDET (Software Development
Engineer in Test),
I was responsible of the quality process of the Luos library.
My job was to verify that the quality process is respected at each step: when a
developper commit his code, the CI pipeline is triggered: compilation, test
covering,
unit tests, automatic tests on a hardware benchmark, logs saving.
Another important role was to prepare the releases: Prepare the future release
with the team (new features and bug to fix),
upload it to registry & update the lib changelog.
To deal with this missions, I had to specify the end to end testing
strategy and
to automate all the CI/CD pipeline.
With Github Actions, a Linux PC with dockers to launch the test from the web,
I've made
many scripts (in bash & python)
and programs (in C) to completely automate the QA process.
For the hardware benchmark platform, I had to connect many MCUs in a
programmable network to automatically test each scenario with a simple click.
2019 - February 2021
KeywordsDescription:
Comtics is a complete network communication system for the
French Navy. It allows secure radio communications between ships and ground and air
segments. It also provides internal services to ships: voice, messaging, video,
conferences, alarms, point-to-point communications...
My achievements:
My work consisted in setting up the end-to-end automatic testing strategy with
continuous integration tools, following the BDD (Behavior Driven Development)
methodology.
This
involves the automatic deployment of terminals, the configuration of the system's
operation with
Selenium for REST API testing, the control of radios and analogue
equipments,
the verification of the correct operation of
the various software layers.
The system is thus validated from different angles: functional, performance,
robustness, limit values to shake the system to its core.
Test definition and results documentation are generated automatically.
2017 - 2019
KeywordsDescription:
Areos is an on-board system for reconnaissance aircraft. It allows the collection of
high resolution pictures. The transfer of pictures is guaranteed without data loss, even
when radio propagation conditions are degraded.
My achievements:
During this project, I first worked with the Waveform software team to set up the
automatic testing strategy with a proprietary scripting tool coupled with
the Jenkins environment (Groovy language). The aim was to validate the various
radio modes and the system for retransmitting erroneous frames, in particular by
driving traffic and noise generation devices.
The test description documents are drawn up manually and the test
results are produced automatically.
I then joined the product team to integrate this software with the software
produced in the radios, in a real time environment.
A proprietary test tool was used to validate the hundreds radio configurations.
The laboratory equipment was automatically driven to generate errors and test the
resilience of the system.
Finally, after joining in the System Team, my work mainly consisted of
validating the antennas positioning algorithm with the complete system
(ground modem and parabola & nacelle and air antennas).
2014 - 2017
KeywordsDescription:
Flexnet is a Software Defined Radio research product, based on the OFDM waveform.
This modulation technique consists of
distributing the signal over a large number of subcarriers, in particular to allow a
significant improvement of the signal propagation in some unfavourable environments.
My achievements:
In this project, I reworked the code to find endurance crashing bugs, memory crashes
and message collisions. To do this, I had to integrate a trace debugging tool
thanks to a real time event software, allowing to visualize post mortem the real time
sequences.
I continued the development of the physical layer in C and C++, in
particular to
re-design the memory mapping, the task scheduling and to
optimise the interrupt routines. An important part of the work was to rework
the messaging, in particular the configuration of the routing table and the buffers
of the MHAL layer (message abstraction layer).
Then I carried out the integration phases with other software components
that were provided to me by other teams: a GPP instantiating the MAC layer
and an FPGA carrying out the signal processing for the radio part. The work
consisted in monitoring and correcting the radio performance metrics (modulation,
resistance to noise and multi-bounce) and then carrying out the field tests.
2011
KeywordsDescription:
The different army corps are renewing almost all their radios by moving to the digital
era, with SDR (Software Defined Radio) technologies. The Contact project is a
multi-billion euro project, including a part for the french army.
My achievements:
I worked more specifically on the "ERS-p handheld project" as a developer and
integrator. The development part consisted in defining and writing the
drivers in C and the wrappers in C++ for: the DMA and the GPMC
bus
of the DM3725 processor.
Then it was necessary to integrate the
software with an FPGA and a GPP, with a logic analyser for debugging. Another
part of my
activity consisted in developping the automatic tests with a proprietary software
(definition of commands in XML).
2015
KeywordsDescription:
The project mainly consisted in developping all the drivers for the application
layer
in C and C++ on a C64 DSP : DMA, McBSP bus, I/O, Led, debug system... A very
complete unit
test campaign allowed to validate all the functionalities.
My achievements:
I also developed and benched a mathematical calculation library, optimized
inassembly, using the intrinsics provided by Texas Instruments.
2012 - 2013
KeywordsDescription:
Melchior is a secure HF radio communication system. It offers in particular a vocoded
digital voice service (several voice compression algorithms by modelling, to NATO
standards).
My achievements:
During this mission, I was in charge of a software module for a team
of three engineers: staff supervision, definition and follow-up of
schedules, reporting of indicators and alerts to management.
Another aspect consisted in developing various software functions on DSP
(TI C54) with the DSP Bios OS: Porting of C-coded algorithms from vocoded speech
to assembly to optimise real time. Speech Encryption by implementing a
signal processing algorithm
(also coded in fixed C on PC to check the bit accuracy of the test patterns).
Another aspect consisted in
implementing and optimising an image processing algorithms in C++.
Finally, I set up the test automation strategy by defining and coding a
test tool in Python: creation of messaging classes, sequencing, logs...
The tool allowed me to implement a debugging function of voice recording by RS-232
serial link for future qualitative studies.
It also allowed me to facilitate the integration of the DSP with
the soft modem delivered by an external team and to validate the bit accuracy
of the vocoding algo by injecting it with the tens of test patterns delivered by the
NATO standard.
2010 - 2012
KeywordsDescription:
High sensitivity military satellite modem, capable of resisting enemy jamming attacks.
My achievements:
This service mainly consisted in carrying out the
Integration, Validation & Verification tasks by carrying out the
functional, performance and endurance. tests previously written
by myself in the test plan.
It also consisted in monitoring various radio
transmission and reception parameters, software bug alerts, simulation of jamming
attacks to verify the resilience of the system using a propagation channel
simulation device.
I added new features on the Opium test tool of the service
coded in LabWindows.
The other side of the mission consisted in developing the
low layers in C on DSP C54 and then integrating the DSP/FPGA
communication
system on ETX bus, using a logic analyser.
2009 - 2010
KeywordsDescription:
Automatic opening and closing device of the landing doors of the metro line 1 to avoid
passenger accidents on the platforms, according to the railway safety standards EN 50128
and EN 50129 (maximum railway safety SIL3 and SIL4).
My achievements:
During this mission for the RATP, I had to implement almost all the steps of the
V cycle for the DOF 1 on-board electronic & computer system,
from documentation to verification.
Hardware part: Definition of analogue & digital boards:
choice of components, mock-ups, spice simulations, subcontracting of boards,
laboratory tests (oscilloscope, GBF and a lot of soldering iron) and finally
testing on the metro rails.In particular, I had to
design very selective analogue and digital filters,
an amplifier to amplify the magnetic signal transmitted by a coil located
on the rails, and a SIL 4 safety level card to make
a relay break down when a precise frequency is received (NE555 components, class D
amplifier, etc.).
Software part: Study and development of the whole firmware, including the
security state machine in C on the Microchip DSPIC microcontroller
to operate thesystem.Communication by serial link to a PLC and with the security card.
2006
KeywordsDescription:
The Multibus is intended to be used as a validation board for other electronic boards
developed by the company. It integrates different communication buses within a single
PCB.
My achievements:
This project first consisted in designing the Multibus board with Orcad
and writing the hardware and software documentation.
This board was very complex because an FPGA with
nearly 500 pins was connected to various bridges to manage these communication
protocols: RS-232, RS-422, PCI, PCI Express, VME, CAN, SPI, Firewire, USB.
To name just
one, the PLX9050 bridge allows a Xilinx FPGA to configure and control a PCI bus. It
was
then necessary to code in VHDL some of the protocols to make the buses talk to
each other (for example, a card connected to PCI can talk to another card connected to
USB).
2007
KeywordsDescription:
Seismic detector for anti-nuclear Start 3
My achievements:
Within the framework of the Start 3 nuclear non-proliferation treaty, this embedded
system analyses seismic signals to search for possible traces of illegal nuclear
testing.
This project consisted in taking over and completing a simulation of
seismic signal processing and porting the algorithm to a TI microcontroller with
DSP/BIOS OS. As the OS could not handle multiple RS-232 serial links, two drivers
had to be reworked to handle the communication protocol.
2005
KeywordsDescription:
To help surgeons perform precise gestures, the TIMC-IMAG laboratory project sends
regular electrical signals to an electrode array connected to a surgeon's tongue.
My achievements:
During this atypical project, it was necessary to develop in assembly and in C
the real time software on a MSP430 microcontroller.
An array of several tens of electrodes was driven to successively light the
desired electrode during 2 us every 50 us. An input signal sent regularly by serial
link
allows the desired electrode(s) to be activated, producing an electrical pattern on
the tongue that can be interpreted by a trained surgeon.
This same project was then ported to the Atmel ATMEGA MCU.
with more interesting low-power functions.
6 months in 20xx
KeywordsDescription:
The robot, equipped with a camera, follows a line on the floor in order to move
autonomously in a warehouse.
The width of the line controls its behaviour: turn
right or left or stop a pre-programmed time.
My achievements:
This robot, equipped with an FPGA that formats the video signal, and a speed and
position control system, provides information from the environment to
a 68-HC11 microcontroller.
I had to program the FPGA in VHDL, to build the board carrying the MCU
and to develop the software in assembly.
The final goal of this software is to control the servomotors
to pilot the robot in its environment.
I'd Love To Hear From You.
jerome.galan@gmail.com
Bordeaux
33000 France
Phone: (+33) 6 76 07 18 05