#epsilon #calculator #numworks

no-std eadkp

Rust library for developing applications for NumWorks calculators running Epsilon OS. Provides low-level hardware interaction and high-level abstractions for display, input, battery, storage, and more.

2 unstable releases

new 0.11.2 Feb 2, 2026
0.0.1 Jan 25, 2026

#787 in Embedded development

GPL-3.0 license

70KB
1.5K SLoC

eadkp logo

Version : Alpha 1

Eadkp est une bibliothèque Rust destinée au développement d’applications pour les calculatrices NumWorks sous Epsilon.

Elle fournit des fonctionnalités de bas niveau permettant d’interagir avec le matériel de la calculatrice, notamment la gestion de l’affichage, des entrées utilisateur, de la batterie et du stockage.

La bibliothèque propose également des abstractions de plus haut niveau afin de simplifier le développement d’applications en Rust, telles que la gestion du panic handler, de l’allocateur global, ainsi que la déclaration des propriétés des applications NWA.

Fonctionnalités

  • Handlers Rust pour l'ABI Epsilon
  • Gestion basique de l'affichage
  • Gestion des entrées utilisateur (clavier)
  • Gestion de la batterie
  • Gestion du stockage (lecture/écriture de fichiers)
  • Macros pour déclarer les propriétés des applications NWA
  • Gestion simple des images (inclusion et affichage) via macro
  • Support des fichiers C et C++ (Non documenté) (Problème majeur)
  • Support du simulateur officiel Numworks
  • Support des fichiers données a l'inclusion dans les applications NWA
  • Support des graphiques avancés
  • Débogage via USB (Pas encore évaluée la faisabilité)

Installation

Cette section est incomplète et en cours de rédaction.

Configurez votre projet pour la cible thumbv7em-none-eabihf et les options de compilation spécifiques aux NWA.

Voir ./cargo/config.toml pour un exemple de configuration.

Voir ./examples/eadkp_example pour un exemple de projet utilisant eadkp.

Voir ./build.rs pour la configuration de la chaîne d'outils et ./docker-compose.yml, ./dockerfile pour un environnement de compilation Dockerisé.

Install Eadkp via Cargo:

cargo add eadkp

Contribution

Les contributions sont les bienvenues ! N'hésitez pas à ouvrir des issues ou à soumettre des pull requests.

Pour apprendre à utiliser le projet, consultez les guides suivants :

Licence

Ce projet est sous licence GPL-3.0 (GNU General Public License v3.0).

Technologie de storage.rs basée sur NumWorks Extapp Storage sous licence MIT (commit: 62e3d4c44437b93a8f14ce687a1c45d6dded87d9).

Projet basé sur l'eadk et utilitaire de NumCraft version v0.1.4 sous licence GPL-3.0.

Remerciements

Merci à Yannis300307 pour son travail sur NumCraft Rust, qui a servi de base à ce projet.

Également merci à Yaya Cout pour son travail sur la manipulation du file system interne de la NumWorks par des applications externes.

Dependencies

~13MB
~266K SLoC