Étape 4: C code à l’aide d’outil du SDK de EDK
Le code est structuré comme
s’ensuit :
1. initialisation
Tous les périphériques sont initialisées et définies comme entrées ou sorties en fonction de leur objet. En outre initiale a la valeur si nécessaire. Les périphériques initialisés sont : voyants, interrupteurs DIP, PixelController (ce périphérique écrit les données dans la mémoire RAM de l’Image), RGBout (canal 2 est utilisé pour la commande de gradation).
2. initialisation de l’Image RAM
L’image de RAM est initialisée à l’image d’arrière-plan. L’image de l’indicateur est défini.
3. infinite Loop
À l’intérieur de la boucle infinie sont deux boucles pour l’indexation de tous les pixels de l’indicateur. À chaque pixel est la matrice de rotation appliquée suivant le même concept qui a été préalablement testé dans Matlab. La méthode des matrices de rotation a un inconvénient. Pas tous les pixels de l’indicateur de rotation seront couvert par les pixels d’une image témoin, mais peu sont de l’image d’arrière-plan. Pour compenser ce bug, la matrice de rotation appliquée a un angle légèrement différent.