Trying to get save-image working on ESP32


#1

Hello all,

I’m new to uLisp and microcontrollers in general, working on my first project.
Basically, I’m trying to create a weather station node that uploads data periodically to a local system.

I’m using uLisp 3.3, on an ESP32 (Adafruit Huzzah32), with Adafruit’s BME280 sensor for temp, humidity and air pressure. Using the sample code from the site (thanks!), I can read the data easily enough.

Since I will be wanting to use this functionality and more, I attempted a basic (save-image) call, and receive this:
Error: ‘save-image’ image size too large: 870
If I understand correctly, I should have tons of space available at this point; haven’t added the rest that would upload, update a local display and so on.

Essentially, I would like to know if it’s something I did (or didn’t do), or a bug, or other limitation.

Cheers,
Tim


#2

On the ESP32 uLisp uses the EEPROM emulation provided by the Arduino core to implement save-image, and this is limited to 4096 bytes, so you will only be able to save a workspace of about 500 objects.

In a future release of ESP32 uLisp I may be able to use the SPIFFS flash-based filesystem to implement save-image, which would give more space. In the meantime the best solution is to add an SD-card interface to your board; you can then save images up to the size of the SD card.


#3

Good to know, thanks!