eadkp banner

eadkp

7 devlogs
42h 38m 41s

A Rust library to facilitate the development of external applications for NumWorks Epsilon (features and abstractions).

Demo Repository

Loading README...

Oignon

Alpha 4 (v0.13.0): Switched to LGPL-3.0 License!

I have officially moved the project to the LGPL-3.0 license! LGPL-3.0 allows you to use this library in your own projects without the license “contaminating” your entire codebase. This means your project’s license remains independent of this library.

I have also (mostly) translated all code comments into French, as the NumWorks community is almost exclusively French. Additionally, I’ve added two new functions to input (is_alphanumeric and to_alphanumeric) to easily convert keyboard input into strings.

Attachment
0
Oignon

v1.12.0 is Here! - Important update: Storage sub-module refactor!

After 67 days of working on refactoring the calculator’s storage management sub-module, it’s finally done!
The logic in storage.rs has been entirely rewritten to be faster, more secure, and more modular. It’s been a long journey, but I finally made it!

-> Release here

For this third overhaul of storage.rs, I had to create a new sub-module: epsilon.rs. This module contains the structures and representations of Epsilon’s system objects. Thanks to this centralized logic, fixing a mapping error on an object will now have an immediate effect across the entire project. This is a huge plus!

This refactor forced me to dive even deeper into the calculator’s memory structure and gain a thorough understanding of its layout.

Minor Changes:

  • Updated README
  • Synced justfile
  • Updated example files
  • Added Errors enum
  • Added Rust CI workflow

I can now focus on adding new features to the library’s API !

Attachment
0
Oignon

Version 0.10, 0.11, 0.11.1 and 0.11.2 :

  • Removed conditional imports, unnecessary since std already provides alloc when OS=YES.
  • Cleaned up imports in the setup macro.
  • Switch to 0.11.2-alpha.2
  • Publish 0.11.2 to crates.io
Attachment
0
Oignon

Fix MAJOR compilation ISSUES in the eadkp::builder::setup() script and embedded dynamic allocator imports within the setup macro.

Code preview of the future template using the library (after bug fixes):

Attachment
0
Oignon

Moved build script inside the EADKP library:
- The build script has been moved into the EADKP library for easier usage and project integration.

Attachment
0
Oignon
  • C/C++ support testing
  • Binary generation optimization:
    • Unused C/C++ code is no longer compiled or linked, reducing final binary sizes.
  • C/C++ support in the simulator:
    • C/C++ code will now be compiled and linked when running in the simulator, rather than only on the physical device.
  • Support for c/ and cpp/ folders for C/C++ code.
  • EIF file extension change:
    • EIF files now use the .eif extension instead of .bin.
  • Added Micro and Nano text editors to the Docker image to facilitate editing files directly from the shell.
Attachment
0