Debut du stage, ambience trés sympatique, Joseph m'acceuille, il me presente les employés et l'entreprise. J'installe ma machine.
Recherche documentaire, premiere mission: faire marcher le bouton on/off du robot:
mettre la carte en veille dès son allumage
activer la carte quand on appuie sur le bouton
la remettre en veille quand on rappuie
plus tard:
envoyer l'ordre d'allumage/instinction a la tete par usb
premier cpu grillé !
le programme met l'arm en mode power-down, donc impossible de le flasher, obligé de trouver le moyen de n'avoir que le bootloader qui demarre en mettant une pin a la masse, mais on a grillé le processeur avec le multi en testant avec la carte sous tension !!
stoquage fini: on stoque sur un secteur, que l'on efface au debut (on remet tout les bit a 1), puis on ecrit par petit paquet (on met les zero)
gestion deco/reco libusb: dcm ⇔ carte torse
recherche: what to do when the arm abort (smart exception handling)
refactoring du code usb: c ⇒ c++
recherche pour la gestion du reseau sur la geode (udev/network manager/load balancing)
ecriture des calibrations du robot dans la carte torse (ecriture de la partie dcm)
la pression monte, la livraison des robots est dans 2 semaines, l'ambience est explosive, mais ca reste trés conviviale.
gestion des bugs de l'i2c: impossible de planter la carte torse mm si l'esclave i2c met la clock a 0 (timeout)
publication de la 1er video de nao pour la robocup

il marche, on voit l'atelier de montage
correction d'un bug de cross-compilation dans naoqi: fin de la fuite memoire de 1Mo/sec (on utilisait un crt et un ld-linux.so completement différents !!! (option –sysroot))
creation d'un svn pour la distribution opennao
open-embedded : packaging de opencv, uraball, ifplugd, acapela, soundtouch + patch pour support geode
carte torse: reset puis clignotement rouge rapide en cas d'erreur hard
carte torse: stoquage des numeros de version + utilitaire usb de relecture (n° robot, n° bootloader, n° carte)
carte torse: allumer la tete et rester dans le bootloader quand le bouton est appuyé lors de la mise sous tension
cross-compilation de naoqi: packaging des libraries dans oe, aide au nettoyage des fichiers cmake, separation intelligente entre lib fournit par noaqi (sous linux/windows/mac) et celle fournit par oe (pr la geode)
regeneration d'un cross-tool-chain propre
opennao: bug fixes: extinction du robot possible, demarrage du ventillo a fond
openembedded : new meta package for the distribution, depending on everythink usefull for the robot
flashage: 52 cartes torses avec numero de serie et robot
oe : added package for lighteyes, lightears
oe : support for ifplugd (relaunch the dhcp)
oe/udev : support to reload dhcp when the wifi keys is inserted
geode : corrected a problem with the nand flash and bad sector in the linux kernel
oe : use git as the aldebaran-linux kernel scm
flashage 16 cartes geode marqué "nand defecteuse" avec le nouveau kernel : ca marche youpi

creation d'un git pour le kernel que nous utilisons, et integration dans opennao
recherche realtime/thread posix : rtprintf, SCHED_FIFO, nanosleep, ...
mode hla: (human logic annalyser) debuguage protocole usb entre carte torse et carte mere
debut de mise en place latencytop + linux 2.6.25
contrat??!!
test 2.6.25, 2.6.24 + patch rt
nouveau module naoqi: rttools
port du dcm vers rttools dans une branche git a part
mise en prod: rttools/dcm patché RT
ctorse: (PC) programme test i2c
ctorse: fixes usb/i2c that "segfaulted" the cboard
ctorse:
GUI to flash/get info of the robot
ctorse: ajout du watchdog
ctorse: extinction du robot par la batterie (i2c) (pour ne pas decharger la batterie)
tete: debug i2c tete
opennao:script de diagnostique et livraison au client