IMA5 2018/2019 P28
Sommaire
Présentation générale
Description
Construire un clone de la calculatrice open-source NumWorks. Effectuer quelques modifications sur le code source et sur le hardware.
Objectifs
Il y a plusieur Axes sur le projet en premier temps sur une calculatrice officiel Logiciel :
Préambule - compilation du firmware sur linux / windows - mettre a jour un calculatrice - compréhension du code dans sa généraliter
Réquis - Modification du mode examen pour garder les programme - Modification du calculateur pour rajouter des fonction - Ajout de memoire a python ( 13 ko disponnible)
Hardware
- Rajout de memoire vive (seulement 256kb) - Recherche ecran compatible
en un second temps modifier la calculatrice en rajoutant des fonction non utiliser comme lecture de carte sd et utilisation des entrée sortie
Préparation du projet
Cahier des charges
Choix techniques : matériel et logiciel
Liste des tâches à effectuer
Calendrier prévisionnel
Réalisation du Projet
Semaine 1
Pour éviter de me retrouver avec une seul version qui a tout les modification je travail par petit segment qui seront appeler buildx (x étant un chiffre croissant) les petit modification pourront comme sa ajouter dans une version futur et des modification juger non pertinent n'impacterons pas sur le peux de place qui a en mémoire flash
Installation :
Linux
Partant d'un linux vierge pourvoir installer l'environnent sdk pour qu'on puisse mettre a jour et modifier la numwork il faut quel que ressource seront nécessaire pour compiler
make gcc g++
utiliser par "os" de numwork
bison build-essential dfu-util flex gcc-arm-none-eabi libfltk1.3-dev libfreetype6-dev libpng12-dev
une fois tout sa installer linux et enfin prés a compiler et envoyer le code sur la calculatrice
Windows
Cette fois n'ayant pas de console il faut l'installer Numwork nous propose Msys2 une fois installer comme sur linux il faut installer pas mal de ressource
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-freetype mingw-w64-x86_64-pkg-config mingw-w64-x86_64-fltk git make bison python
Mac aucun mac pour les tests mais sa doit fonctionner correctement
Mise a jour : une fois l'ordinateur configurer on compiler et essayer soit le simulateur soit envoyer le code sur la calculatrice (sachant que le simulateur ne simule pas la led et d'autre fonction de la calculatrice) Pour compiler le code vers la calculatrice
make clean make make epsilon_flash
Pour compiler le code pour le simulateur
make PLATFORM=simulator clean make PLATFORM=simulator
sachant que le clean et très important on ne peux pas exporter un code qui a était a but du simulateur
Pour exécuter le simulateur
./epsilon.elf
Build 1 désactivation du mode examen
Le mode examen et obligatoire pour tout les calculatrice programmable a partir de la rentrée 2018 le but de se mode et de bloquer l'accès au programme qui on était dejai enregistré dans la calculatrice et de l'indiquer pour aider les surveillant a verifier que le mode et bien actif.
Pour se faire Numwork a choisir d'appliquer 3 action en activant le mode examen
- ajout d'une icone examen dans le menu
- clignotement d'une led en rouge
- effacement des programme python (et non dés-affichage des programme comme le font certain concurrent)
Pour sortir du mode d'examen il suffit soit de reset sa calculatrice ou d'alimenter la calculatrice
Cette dernier fonction et vraiment contraignante même pour une utilisation normal, une mauvaise manipulation et les programmes réaliser s'envole
Pour que la supercherie que le mode examen aie était truquer les indicateur visuel doivent rester il faut juste modifier la dernier fonction
Semaine 2
Ayant avancée sur la partie software et compris un partie du code je me lance sur la liste des materiel requis pour réaliser un clone. tout les composant sont disponible dans le commerce sauf l'ecran qui a réaliser sur mesure pour numwork
On peux voire que la schème donnée par numwork qu'il utiliser des fonction particulier du controleur qui sont:
-un bus de donnée de 16 bits
-4 led de retroéclairage
-Te : Tearing Effect
-EXTC : extended comande
connaisant les port qui sont requis je peux commencer a chercher un ecran compatible sachant qu'aprés une demande a numwork le ports EXTC n'ai pas encore utiliser et le ports TE peux être desactiver sans vraiment poser de problème
Il et dur de trouver d'un concepteur d'ecran utilisant le controleur ST7789V pour leurs ecran il faut donc se tourner vers la chine sur 8 fabricant seulment 4 réponse et sur les 4 réponse seulment 2 avec des produit correspondant a la demande l'un viens de szelida et l'autre de Youri Technology je choisi donc le ET024QV01 [[1]]
on peux voire a sa liste de PIN qui a certain PIN qui deveront être fixer a vcc ou gnd pour bloquer le mode d'affichage de la calculatrice mais il posséde les pin requis pour fonctionner avec la calculatice il et juste plus petit