π
<-
Chat plein-écran
[^]

Epsilon de A à Z - Episode 0.0

En ligne

Epsilon de A à Z - Episode 0.0

Message non lude redgl0w » 28 Aoû 2020, 09:50

Epsilon de A à Z

Episode 0.0 - Introduction


La calculatrice numworks, arrivée sur le marché en 2017 a su faire une entrée fracassante, grâce à son interface simple pour les utilisateurs, son prix aligné sur le marché, mais surtout par sa philosophie de partage, que ce soit au niveau matériel(mécaniquement comme électroniquement), mais aussi par leur logiciel (aussi nommé firmware, car il tourne sur un petit matériel) nommé epsilon dont on va traiter dans cette série.

Nous n'entrerons pas dans les détails ultra technique, mais tout le firmware sera passé au peigne fin, et nous serons obligé d'aborder des détails liés au fonctionnement sur matériel embarqué. Cependant, les explications seront les plus minimalistes que possible.

Les épisodes seront composés de sous épisodes, du à la complexité de l'implémentation qui peut varier d'une plateforme à l'autre, ou pour décortiquer en plusieurs sous épisodes plusieurs comportements


Pour commencer cette série, nous allons voir l'architecture globale d'epsilon, qui est composée de différentes couches : la couche la plus haute (qui sera celle des applications) utiliseront des fonctionnalités proposés par les couches plus basses.
Voici le schéma proposé par numworks dans sa courte documentation d'epsilon :
Image
Pour commencer, je vais rapidement décrire les couches du bas vers le haut, mais j'aborderais les détails des couches dans de futurs épisodes.
  • Ion est la couche d'abstraction matériel (une couche permettant de gérer le matériel, et de ne proposer au couches supérieur que des possibilités standardisés entre les plateformes qu'il supporte (simulateur, calculatrice, ...), tout en cachant les détails techniques). Voici quelques exemples concrets des fonctionnalités proposées par Ion :
    • La possibilitée de scanner le clavier, afin de regarder les touches appuyées. Comme vous pouvez le voir, il n'y a qu'une seule fonction, mais qui sera utilisée pour les différentes plateforme, afin d'avoir un standart pour les couches supérieures.
    • Une fonction afin de pousser sur l'écran un rectangle de couleur uniforme. Encore une fois, cette fonctionnalitée est standardisée.
  • Kandinsky permet d'accéder à des fonctions simple de dessins, telles que dessiner une ligne ou remplir un rectangle. Cependant, cette couche permet surtout de créer des classes, qui seront très utiles (ce qu'une couleur, un point, une taille, ... sont). L'autre dernier usage de Kandinsky est de gérer l'affichage de texte, de la conversion de fichiers de police vers des fichiers pour le firmware, en passant par une compression, jusqu'à l'affichage.
  • Escher est un GUI Toolkit : elle propose une manière plus propre pour gérer l'interface que de simple appels à la fonction permettant de changer des pixels sur l'écran. Elle propose un système MVC (Model View Controller) que l'on verra plus tard, et propose différentes "view", comme des tableaux, des entrées de texte, des boutons, ...
  • Poincare est le moteur de calcul littéral utilisé dans la numworks. Je n'irais pas plus loin dans cet épisode, car son fonctionnement est plutôt long à expliquer, et donc sera expliqué dans un autre épisode.
  • Apps est la couche la plus haute dans Epsilon : c'est là où sont les applications disponibles pour l'utilisateur (calcul, graphique, regression, paramètre, ...). Il y aura un épisode pour chaque applications.
Vous pourrez noter l'humour de numworks, en ne nommant pas ces couches HAL (Hardware Abstraction Layer), Screen, Maths et GUI, mais en donnant des noms de peintres (Kandinsky et Escher), de mathématicien (Poincare), mais aussi de physique (Ion), qui concordent avec l'intérêt de leur couche respective.

Je m'excuse tout de suite pour les nombreuses fautes qui risquent d'apparaître dans les épispdes. Si vous en voyez, n'hésitez pas à me le faire remarquer.


C'est donc ici que va s'arrêter l'épisode d'aujourd'hui. J'espère vous avoir permis d'avoir une première vue rapide sur epsilon, et on se retrouvera dans le prochain épisode non pas pour analyser une des couches, mais sur comment installer le SDK (les sources d'epsilon), afin de compiler soi-même ce firmware.
Dernière édition par redgl0w le 28 Aoû 2020, 17:14, édité 1 fois.
Avatar de l’utilisateur
redgl0wVIP+
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 56.8%
 
Messages: 283
Images: 0
Inscription: 30 Oct 2019, 20:36
Localisation: Centre Val de Loire
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP2I
Twitter/X: Gl0wRed
GitHub: RedGl0w

Re: Epsilon de A à Z - Episode 0.0

Message non lude Afyu » 28 Aoû 2020, 16:27

C'est un super article, redgl0w, merci ! Il est clair est plutôt bien présenté :bj:

J'ai appris des choses sur l'origine des noms Kandinsky, Escher, ou Ion. :D

J'ai hâte de lire la suite, surtout si ça parle de compilation. Je me souviens avoir un peu galéré la première fois que j'ai voulu installer le SDK et compiler le système. Je me suis fait un petit tuto perso, détaillé, étape par étape. Si ça t'intéresse, demande moi :)
Je pense que tu en aideras plus d'un (et plus d'une) avec tes explications :D
Avatar de l’utilisateur
AfyuVIP++
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 89.2%
 
Messages: 339
Images: 18
Inscription: 30 Oct 2019, 19:17
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: plutôt, oui :)

Re: Epsilon de A à Z - Episode 0.0

Message non lude cent20 » 13 Avr 2021, 14:02

Le prochain épisode est prévu pour quand ?
Image
Enseignant de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
Avatar de l’utilisateur
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 45.9%
 
Messages: 1007
Images: 64
Inscription: 17 Mai 2012, 09:49
Localisation: Avignon
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: nsi_xyz

En ligne

Re: Epsilon de A à Z - Episode 0.0

Message non lude redgl0w » 13 Avr 2021, 17:25

cent20 a écrit:Le prochain épisode est prévu pour quand ?

Lorsque la n0200 sortira :troll:
Image
Avatar de l’utilisateur
redgl0wVIP+
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 56.8%
 
Messages: 283
Images: 0
Inscription: 30 Oct 2019, 20:36
Localisation: Centre Val de Loire
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP2I
Twitter/X: Gl0wRed
GitHub: RedGl0w


Retourner vers Tutoriaux

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
856 utilisateurs:
>827 invités
>25 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)