IMA4 2016/2017 P28

De Wiki de Projets IMA
Révision datée du 15 février 2017 à 13:54 par Rtoin (discussion | contributions) (Avancement du Projet)


Cahier des charges

Présentation générale du projet

Contexte

La calculatrice TI-83 premium CE possède déjà un émulateur sous licence: TI Smart View CE (émulateur officiel gérant les calculatrices TI-83 Premium CE, TI-82 Advanced et TI-83 Plus.fr). Par ailleurs, il existe un utilitaire lui aussi officiel et gérant les mêmes modèles de calculatrices: TI connect CE. Ce dernier propose des fonctionnalités de sauvegarde de programmes, d'édition de programmes et de gestion de captures d'écran.

L'inconvénient de ces logiciels est qu'ils sont payants et très dirigistes dans leurs fonctionnalités. Il existe cependant un émulateur open-source réalisé par la communauté: CEmu. Permettant d'émuler une large gamme de TI-84, cet émulateur est également adapté à la TI-83 premium CE qui possède le même processeur que les TI-84. Il présente néanmoins quelques limitations, notamment au niveau de l’exécution d'applications.

Objectif du projet

L'objectif est d'adapter l'émulateur CEmu pour calculatrices Texas Instruments afin d'émuler totalement la calculatrice TI 83 premium CE.

Description du projet

Le projet reposera sur l'étude d'une calculatrice TI-83 premium CE, calculatrice milieu de gamme destinée aux lycéens. L’émulateur open-source CEmu propose des fonctionnalités intéressantes mais présente aussi un manque de fonctionnalités fondamentales pour le rendre intéressant pour l'apprentissage auprès de lycéens.

Améliorer CEmu passera par plusieurs points:

  • une modification du skin dans l'émulateur afin de coller à l'interface de la TI-83 ;
  • une adaptation du système de sauvegarde de la mémoire afin de ne pas devoir passer par des utilitaires libres tels que TiLP (permettant une connexion calculatrice/ordinateur pour une large gamme de TI) ;
  • implémenter la gestion de port USB afin de pouvoir communiquer le plus directement possible avec la calculatrice ;
  • en complément des fonctions de communication évoquées ci-dessus, il pourrait être intéressant de permettre un contrôle de CEmu directement via la calculatrice, comme le fait l'application Smart Pad CE avec le logiciel TI Smart View CE ;
  • permettre de lancer directement des applications dans l'émulateur comme peuvent le faire les émulateurs officiels, le problème venant du fait que les programmes de la RAM sont exécutables mais pas ceux de la mémoire flash. M. Dhaussy serait également intéressé par l'ajout d'un éditeur de programme.

Enfin, dans un intérêt purement intellectuel, il serait intéressant de voir si le mode examen est contournable. Cela pourra se faire de manière logicielle ou de manière matérielle.

Ultimement, si le temps le permet, il pourrait être intéressant de faire communiquer la calculatrice avec un Arduino.

Choix techniques : matériel et logiciel

La majorité du travail à réaliser consistera à s'approprier le code réalisé par la communauté et à l'adapter afin de le faire répondre à nos besoins. Le cœur de l'émulateur est programmé en C tandis que l'interface graphique est programmée en C++.

Afin de tenter de passer au travers du mode examen, une approche logicielle risque cependant d'être compliquée. À ce moment là, il sera probablement envisagé d'ajouter une LED à l'intérieur du boîtier de la calculatrice afin de donner l'impression que le mode examen est activé alors qu'il ne l'est pas. Le déclenchement de la LED pourra être effectuée avec un interrupteur magnétique ou en détournant l'information normalement destinée à la LED d'origine de la calculatrice.

Calendrier prévisionnel

Liste des tâches à effectuer

  • adapter l'interface graphique (ajout des boutons manquants, modification du skin, ...) ;
  • ajouter la gestion du port USB ;
  • permettre la sauvegarde structurée de la mémoire sans utilisation d'utilitaire ;
  • permettre aux programmes en mémoire flash de s’exécuter directement dans l'émulateur ;
  • permettre un contrôle du logiciel CEmu depuis l'interface de la calculatrice ;
  • donner la possibilité d'éditer des programmes ;
  • contourner le mode examen par ajout d'une LED afin de fournir une information contradictoire sur son activation.

Feuille d'heures

Tâche Prélude Heures S1 Heures S2 Heures S3 Heures S4 Heures S5 Heures S6 Heures S7 Heures S8 Heures S9 Heures S10 Total
Définition cahier des charges 0

Avancement du Projet

Semaine 1

  • Correction et enrichissement du cahier des charges suite aux remarques de M. Dhaussy
  • Récupération d'un exemplaire de la calculatrice Ti-83 premium CE
Liste de matériel fourni:
* une calculatrice Ti-83 Premium CE 
* un câble USB mini-A/mini-B
* deux câbles USB type-A/mini-B
* un bloc d'alimentation USB
* une notice d'utilisation et une d'information

Semaine 2

  • Analyse des composantes de l'émulateur. Le core du programme est constitué de 23 fichiers C chacun liés à une fonction particulière telle que la gestion du clavier, la gestion de l'usb, la gestion de la mémoire flash. Chacun de ces fichiers possède un fichier C++ correspondant destiné à être utilisé par l'interface graphique. Les sources comporte des fichiers de debugage à activer à la compilation. La compilation des fichiers est prévu via l'utilisation du logiciel QT.