Can I partition both uLisp & meshtastic firmware onto my T-deck?


#1

I just got my T-deck in today, I bought it for its LoRa capabilities but want to use its full functionality. I have been told the stock firmware does not support the SD card port. Can I partition the esp32s3 board so that I can flash both firmwares for Meshtastic and uLisp so they can coexist? (That way, I can use the SD card port.)


#2

I’m guessing probably not, unless Meshtastic is available as an arduino library. The esp32s2 is single core so your firmware will have to manually and explicitly set up the multitasking.


#3

i think maybe you read it wrong I have an S3, which is a dual-core core, (s2 is single-core core) ,

Arduino does have a Meshtastic library, but it is not the Meshtastic firmware itself.
The Arduino lib is for interfacing an Arduino board with a serial protobuf interface of the node. the firmware can only be built with platformio.

On another note, i did ask the Arduino Discord, and they told me the esp32-s3 boards can be partitioned.
I think i can program a hot key to trigger the switching process, and it would just reboot to the other firmware on the other partition.

I’ve only programmed in C++, but I would like my T deck to have this functionality.


#4

I don’t know anything about flash partitioning, and at any rate the arduino IDE does not support multiple app partitions. So you’re gonna have to build uLisp outside of the Arduino IDE if you want to do something like this.

At any rate, uLisp arduino sketch is mostly valid C++ already, there just isn’t the forward references to allow it to compile as-is, because the Arduino IDE adds those automatically. So just look at the compiler errors, and add forward references for the functions it complains about.