Développement d'un routeur d'analyse de trafic en C, d'une application de traitement de trames http en Java et
d'un module d'échange de message entre deux applications java.
Développement d’une application de test pour une architecture logicielle de communication utilisant différents
protocoles réseau.
Projet
Portage de drivers de Nikon D7000 fonctionnant sur Windows 7 embedded sur une carte utilisant linux embarqué.
Développement C.
Contribution au projet
Atermes développe le système BARIER composé de balises autonomes de reconnaissance, d’identification et d’évaluation de la riposte. Il s'agit d'un système clé en main pour le contrôle des frontières par des moyens de détection et d’interception. Un des moyens mis en œuvre dans la détection est l'installation d'un appareil photo dans la tête des balises permettant d'effectuer des prises de vue mais aussi des surveillances par le biais de vidéos. Cet appareil photo étant piloté par une carte sous linux, le but du développement a été d'installer et de modifier les drivers libgphoto permettant de piloter l'appareil et de développer la couche logicielle permettant d’envoyer les commandes à la balise de prise de vue, mise au point, etc....
Aucun cahier des charges ayant été prédéfini à l’avance, une grande partie du projet a été consacré à l’étude des drivers développés sous Windows afin de cibler les différentes fonctionnalités nécessaires et déjà créées. (Mise au point automatique, prise de vue automatique sur détection de mouvement, mise au point manuelle en fonction de la distance de l’objet, calibration de l’ouverture de focale, du temps d’exposition en fonction des conditions météo, etc…)
Pour Windows des drivers bas niveau sont développés par Nikon afin de piloter informatiquement le D7000. Aucune démarche dans ce sens n’est faite pour Linux. Il a donc été nécessaire de se servir de libgphoto permettant de piloter un grand ensemble de caméras et de les adapter aux fonctionnalités demandées par notre application.
En parallèle, un logiciel permettant de tester toutes les différentes fonctionnalités développées a été créé en Qt. Il permettait d’envoyer des commandes à l’appareil photo par le biais d’un système serveur client http.
Utilisation de toolchain arm afin de compiler pour la carte propriétaire sous linux.
Projet
Développement, évolution et résolution de problèmes sur l’application d’acquisition d’images du périscope du sous-marin nucléaire de classe Barracuda.
Développement C
Contribution au projet
Sagem développe la partie viseur permettant d’acquérir les images provenant de différentes caméras (IL, IR, TV) disposées sur un périscope de sous-marin. En lien avec l’équipe IHM, le travail a consisté à développer en C, les différents modules permettant de leur fournir les images provenant des caméras.
Reprise et modification des modules permettant de compresser et décompresser en temps réels les images provenant des caméras selon les types de vidéos désirées par l’utilisateur en utilisant les librairies ffmpeg.
Implémentation du module injectant les images vers une carte d’acquisition fibre optique (HDExpress). Debug du driver de la carte lorsque des soucis ont été rencontrés.
Développement de modules permettant de fournir à l’IHM des bandeaux d’images et des zooms sur les images compressées ou provenant de la carte fibre optique.
Implémentation de lignes de champs dans les images fournies afin d’envoyer à l’utilisateur des données de navigation spécifiques au sous-marins (Azimuth, Cap,…)
Développement d’un outil de simulation d’images provenant de n’importe quelle caméra installée (TV, IL, IR), avec ajout de lignes de champs dans les images si désirées.
Développements des différentes évolutions désirées par le client ainsi que résolutions des différents problèmes rencontrés lors des tests avec le client.
Projet
Développement d’une application sur machine radiologique dentaire.
Développement C embarqué
Contribution au projet
Pour Owandy, société spécialisée dans le dentaire, une application permettant l’utilisation de cette machine a été développé sur une carte propriétaire (processeur Freescale Coldfire MCF5329) utilisant un OS Linux et LTib pour charger l’OS sur la carte créée par Owandy.
Développement de l’IHM sur LCD tactile afin de modifier la configuration de la machine. Module d’accès à la mémoire flash de la machine, sauvegarde des informations de configuration, création de pages d’accès à ces informations par le biais du pupitre.
Utilisation du décodeur vidéo implémenté sur la carte pour faire de l’acquisition d’image provenant d’une caméra afin de régler la machine avec précision sur le visage du patient.
Implémentation de l’interface I²C pour pouvoir configurer le décodeur vidéo.
Implémentation du DMA (module Linux pour gérer les interruptions DMA, du LCD, et du Coldfire) afin de stocker les images en temps-réels et de les traiter par le biais de l’application Owandy (affichage sur le LCD de la machine).
Implémentation du module logique Lattice (PLD, FPGA) en ABEL pour gérer la copie des images provenant du décodeur en RAM.
Projet
Développement d’une application de numérisation de cylindre de boite à musique par le biais d’une caméra.
Développement C embarqué
Contribution au projet
Un musée voulant numériser un cylindre de boite à musique, un logiciel doit être développer par le LISIF. Un moteur permettant la rotation du cylindre est utilisé et géré par un contrôleur tandis que la caméra prend une photo du cylindre à chaque fois qu’une rotation du moteur est effectuée.
Développement de la partie de contrôle moteur permettant la rotation du cylindre.
Développement de l’applicatif permettant de prendre une photo du cylindre et de traiter par la suite les images enregistrées.
Projet
Projet de prospection, d’étude et de conception d’architecture radar pour Thalès.
Ingénieur de recherche
Contribution au projet
Définition des solutions (architectures) programmables de traitement numérique à haut débit (1 à 2 ordres de grandeurs supérieurs aux capacités actuelles des calculateurs PC) notamment au travers de deux grandes classes d’architectures de traitement numérique à savoir, les architectures à base de circuits configurables de type FPGA et les architectures à base de processeurs programmables (PC, MPsoc).
Caractériser les performances techniques de ces architectures (nombre d'opérations par seconde, débit entrée/sortie, accès mémoire, etc.).
Etude des problèmes d’échanges de données internes entre les sous-ensembles via des supports de communications numériques rapides.
Etude des standards existants et futurs, notamment les bus internes aux architectures de traitement, les bus d’entrées-sorties et les réseaux locaux, en vue de sélectionner la (ou les) meilleure(s) solution(s).
Caractériser les performances techniques en particulier les temps de latences associés aux différents types d’architecture de bus.
Etude des outils de développement logiciel nécessaire à la conception d’un système radar.
Etude des outils qui permettent de maîtriser cette complexité à savoir les flots de données synchrones (pour la description de systèmes statiques), les techniques de compilation (compilation d’un langage en programmation de haut niveau vers des processeurs ou des architectures matérielles).
Etude des outils de parallélisation (gestion de la répartition des tâches ou des ressources de mémoire partagées dans le cadre d’une solution multi-processeurs).
Développement d’une application Java permettant de connaître en fonction des données radar reçues par l’architecture retenues le nombre d’opérations par seconde nécessaires au traitement des données.
Projet
Management et développement des évolutions et des correctifs en C++ embarqué sur une application de diagnostic pour Nissan.
Développement C++ embarqué
Contribution au projet
Développement sur deux parties de l’application des correctifs et évolutions demandées par Nissan durant toute la durée de la mission.
Réception des demandes de correction et d’évolution de la part de Nissan menant au développement en C++ (applicatif) et QT de la partie IHM de l’application de Diagnostic Nissan.
Sur la couche entre les drivers de la sonde de diagnostic Nissan et l’IHM, développement en C embarqués avec analyse des trames CAN provenant du réseau automobile et correction ou évolution en fonction du standard des trames et de la gestion des alarmes remontées.
Gestion des correctifs et évolutions demandées par Nissan sur les parties de l’application dont je n’étais pas responsable en temps que développeur.
Réception des demandes de correctifs et d’évolution sur la partie drivers de la sonde de diagnostic Nissan.
Gestion du temps de développement et du suivi des équipes assignées à Nissan.
Organisation de réunions avec le client.
Projet
Développement d’un banc de démonstration en Java pour Orange afin d’ad...