Anyone have some desired additions that they’re working on, or want accomplished for the T-Deck? Off the top of my head, here are some that I’ve been thinking about as extensions or lisp functions.
MP3 player: I got mp3 playing working on the bare bones hardware, but when I went to integrate it with uLisp, I ran into a mismatch between the Audio libraries used. This shouldn’t be too difficult to remedy.
More filesystem functionality: delete-file, move-file, make-directory, rename-file, etc. I assume this is just mapping out existing LittleFS functions to uLisp. On top of this a
less stream reader would be nice.
Lora support: it would be nice to include a RadioLib library support for Lora messages. I’ve gotten this working on the base hardware, but haven’t bothered integrating it with uLisp. I’m currently working on C++ version of the Secure Scuttlebutt gossip protocol that works over lora, so eventually I’d like to be able to compose messages and send it out over a mesh network of lora devices.
NTP time, calendar and scheduling: with wifi support, and the
time.h library one can call a NTP server and update the real time clock. It would be nice a persistent line on the screen that had the time, and some other OS level information. Maybe the ability to schedule function calls.
RTOS Tasks: It would be nice to be able to use both cores, and the task functionality of the underlying RTOS. Not sure how this is accomplished in CL. Interrupt handling would also be a nice to have to go with this.
Edit files, and text: The current editor is progressing greatly. It would be nice to add the ability to open up a file, move around through text and save your edits. I’m assuming a screen buffer with a cursor position would be in order to accomplish this.
Persistent database(s): integration with sqlite, or the the more lispy query language for use in storing calendar events, contact info, sensor data, or what have you.
Packages: I took a first stab at this, but I was unsure what functionality and conventions would be needed going forward. Are uLisp packages stored as
.ul files, and therefore the function just needs the package name?
Macros, nlambda or fexpr’s: I’m unsure how much this is needed, but it seems like with backquote implemented, we are half way to nlambda, which is like function templates, which reduces macro expansion memory problems (I’m told :)).
Graphical Calc Mode: It would be nice if the repl didn’t alway overwrite any graphical images that you generate. Perhaps a mode can be entered where the a plot or other graphical data remains in one part of the display, and the bottom line is the repl input.