π
<-
Chat plein-écran
[^]

Epsilon de A à Z - Episode 0.0

Epsilon de A à Z - Episode 0.0

Unread postby redgl0w » 28 Aug 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.
Last edited by redgl0w on 28 Aug 2020, 17:14, edited 1 time in total.
User avatar
redgl0wVIP+
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 12.5%
 
Posts: 169
Images: 0
Joined: 30 Oct 2019, 20:36
Location: Sarthe
Gender: Male
Calculator(s):
Class: 1ère générale spé maths, physique chimie, NSI
GitHub: RedGl0w

Re: Epsilon de A à Z - Episode 0.0

Unread postby Afyu » 28 Aug 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
User avatar
AfyuVIP++
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 6.1%
 
Posts: 246
Images: 17
Joined: 30 Oct 2019, 19:17
Gender: Male
Calculator(s):
Class: plutôt, oui :)

Re: Epsilon de A à Z - Episode 0.0

Unread postby cent20 » 13 Apr 2021, 14:02

Le prochain épisode est prévu pour quand ?
Image
Enseignant de mathématiques et de spécialité NSI ( projets, tutos ...)
:favorite: NumWork, Python : démineur, snake, tétris
User avatar
cent20VIP++
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 89.8%
 
Posts: 661
Images: 60
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
Twitter: nsi_xyz

Re: Epsilon de A à Z - Episode 0.0

Unread postby redgl0w » 13 Apr 2021, 17:25

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

Lorsque la n0200 sortira :troll:
User avatar
redgl0wVIP+
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 12.5%
 
Posts: 169
Images: 0
Joined: 30 Oct 2019, 20:36
Location: Sarthe
Gender: Male
Calculator(s):
Class: 1ère générale spé maths, physique chimie, NSI
GitHub: RedGl0w


Return to Tutoriaux

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Social
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Découvre les nouvelles fonctionnalités en Python de l'OS 5.2 pour les Nspire CX II
Découvre les nouvelles fonctionnalités en Python de l'OS 5.5 pour la 83PCE/84+C-T Python Edition
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
569 utilisateurs:
>557 invités
>7 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)

-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)