Bruno Martin
42 years 20 av. Albert 1er de Belgique, 38000 Grenoble 06.20.52.95.65 bruno.martin.2@gmail.comPhD in Optics, Real Time Software Developer and Data Processing Engineer
Professional experience |
|
Since 2018 |
Since 2018Software developer at ALPAO in charge of development of Real Time multithread and multiprocess C/C++ application for controling adaptive optic loop. In charge of development, tests, integration and packaging of industrial C/C++ SDK and their C, Python, Matlab and LabVIEW wrappers and ALPAO RTC product. GitLab internal web application administrator and in charge of continuous integration servers maintenance. Real Time intenal tools development (Python, NI-DAQmx). In charge of software worldwide customer support for ALPAO products and worldwilde suppliers discussions for integration of new Real Time devices in ALPAO solutions. Project leader of a partnership between laboratoire d'astrophysique de Marseille research team and ALPAO on new ALPAO RTC features with a junior developer management and formation. |
---|---|
2012-2017 |
2012-2017Software developer at Resolution Spectra Systems. Development of industrial data processing software, GUI and SDK for customer and internal use. Development, documentation, tests and maintenance of C/C++ and Qt solutions with Python, C#, .NET and LabVIEW wrappers. |
2010-2011 |
2010-2011Expert collaborator in SWIFTS 400-1000 project at Institut de Planétologie et d'Astrophysique. Development of a non uniform and undersampled fast Fourier transform. Development of the first version of SWIFTS instrument software in C/C++ and Qt. Self-educated formation in object oriented programmation in C/C++, PHP, C# and java. |
2009 |
2009Postdoctoral researcher at IMEP-LaHC. Improvements of curved AFMM 2D simulation tools an implementation in C/C++ from Matlab code. New lithography mask design for next spectrometer prototype generation. |
2005-2009 |
2005-2009PhD in Optics at IMEP-LaHC. Electromagnetism modeling and development of curved AFMM 2D simulation tool in Matlab. Realisation of spectrometer prototype in glass ion exchanged integrated optics. Design of characterisation optic bench for analyzing and qualifying realized prototypes. Presentation of research work at international conferences and by scientific papers. |
Initial training |
|
2002-2005 |
2002-2005Grenoble engineer school of Physics (ENSPG/PHELMA) instrumentation branch, Master's degree in Optics (INPG/Grenoble INP - UGA), Grenoble, France. |
---|---|
2000-2002 |
2000-2002Preparatory class for high schools, physics and chemestry, Lycée René Descartes, Tours, France. |
2000 |
2000Scientific baccalaureate, Poitiers, France. |
Professional skills |
|
Software development |
Software development
|
---|---|
Scientific |
Scientific
|
Language |
Language
|
Personnal experience |
|
Microcontrôleurs |
Microcontrôleurs
Le but de ce projet est de prendre en main les microcontrôleurs STM32 (80MHz) et ESP32 (240MHz). L'exercice consiste à implémenter un horodateur d'évènements sur le STM32. On prévoit deux lignes d'entrée indépendantes capables d'horodater des front montant ou descendant sur la même base de temps. Les horodatages, précis à 12.5ns, sont encodés en entiers 32 bits et envoyés dans un packet UDP sur le réseau. On utilise un W5500 interfacé en SPI avec le STM32 pour envoyer ces paquets. On utilise d'abord la connection série pour renvoyer les statistiques sur les pulses détectés (moyenne, minimum et maximum de période). Puis, on utilise le système d'IRQ pour horodater les pulses. On utilise ensuite le transfert DMA pour envoyer les statistiques par connexion série UART. Enfin, on ajoute le W5500 par connection SPI avec transfert DMA pour envoyer les horodatages sur le réseau. Dans ce système, le ESP32 est utilisé comme générateur de pulses. Une API web est développée pour lancer l'émission d'un nombre de pulse spécifique à une fréquence donnée. Le dépôt de ce projet est à cette url esp32-pulse-emitter. Le code du STM32 est disponible à cette url : stm32-pulse-timestamper. On attends des fréquence de train de pulses de l'ordre de qques 10aine de kHz en émission et en lecture. |
---|