numworks / epsilon

Modern graphing calculator operating system.
https://www.numworks.com/resources/engineering/software/
1.73k stars 460 forks source link

Escher for apps #1887

Open RHL120 opened 2 years ago

RHL120 commented 2 years ago

Hi, I don't know if my request fits here and I am sorry if it does not. I am still learning how to write apps for epsilon. https://github.com/numworks/epsilon-sample-app-cpp taught me quite a bit but I have been wondering, is there a way to write apps (like settings for example) that use a library for adding GUI elements? After taking a quick look at epsilon's source I found out that the library responsible for such GUI elements is escher (for example check escher/src/button.cpp). so TLDR: is there a library like escher for developing custom & external GUI apps

Ecco commented 2 years ago

That's definitely the right location to ask!

At the moment, the only thing we don't intend to break are syscalls. That doesn't prevent a 3rd-party app from jumping to (and executing code from) elsewhere in Epsilon's binary, but this would be very hackish and fragile.

We need to expose more functions to 3rd-party apps, but we haven't had the time to do it just yet.

RedGl0w commented 2 years ago

We need to expose more functions to 3rd-party apps, but we haven't had the time to do it just yet.

More exposed APIs are definitely something which would be nice (the storage is maybe the most important one currently, and maybe a "rework" of the settings in order to change settings from apps, and have per apps settings ?).

RHL120 commented 2 years ago

That's definitely the right location to ask!

At the moment, the only thing we don't intend to break are syscalls. That doesn't prevent a 3rd-party app from jumping to (and executing code from) elsewhere in Epsilon's binary, but this would be very hackish and fragile.

We need to expose more functions to 3rd-party apps, but we haven't had the time to do it just yet.

That's definitely the right location to ask!

At the moment, the only thing we don't intend to break are syscalls. That doesn't prevent a 3rd-party app from jumping to (and executing code from) elsewhere in Epsilon's binary, but this would be very hackish and fragile.

We need to expose more functions to 3rd-party apps, but we haven't had the time to do it just yet.

Hi, thanks for taking the time to respond to my question! I know that you are working hard to make epsilon better for both users and devs but in the mean (before you expose escher) do you know of a way to make 3rd party apps with actual GUI elements buttons, text boxes, etc (the things that as far as I know, escher is supposed to achieve). Thanks