View Single Post
Old 03-11-2021, 05:36 PM   #82
stevenaleach
Enthusiast
stevenaleach can bend spoons with a thought.stevenaleach can bend spoons with a thought.stevenaleach can bend spoons with a thought.stevenaleach can bend spoons with a thought.stevenaleach can bend spoons with a thought.stevenaleach can bend spoons with a thought.stevenaleach can bend spoons with a thought.stevenaleach can bend spoons with a thought.stevenaleach can bend spoons with a thought.stevenaleach can bend spoons with a thought.stevenaleach can bend spoons with a thought.
 
Posts: 46
Karma: 134116
Join Date: Oct 2013
Device: Android Tablet
Quote:
Originally Posted by hobnail View Post
The Arduino API is a layer on top of (wrapper around) the ESP-IDF API.

Several times I've read that the Arduino libraries have limitations that aren't there when you use the ESP-IDF so I'm focusing on the latter.

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/
I think the memory display is the problem - it's a write-only device that doesn't use the MISO pin, the SD and FRAM work fine with hardware SPI - but the display no longer works. If I stick with software SPI for everything, then it's fine. Not a problem because the IT8951 code I've looked at all supports software SPI and though hardware SPI would be a bit faster, it won't really matter. Menu scrolling and UI interaction on the little screen will still feel "instant" -- It's the e-ink screen that will suffer the most from the slower transfer rate of software versus hardware SPI, but it's also just slow to begin with - taking "< 1 second" according to WaveShare (so we'll assume a good fraction of a second at least) to refresh. Sending a whole page at once, the slower SPI transfer rate might add a few milliseconds to that. If partial refresh scanning down the page transferring more data while the previous chunk is being drawn is possible then it'll make no difference at all - but I don't know if the IT8951 is that clever or not, I haven't dug that deep into it yet and don't yet have one on hand.

I'm VERY pleased with the power usage - I'd bought the cheapest little battery I could find that looked like it would do for prototyping (3.7V 1200mAh) - I expected, however, that after I knew how much room I'd have in the eventual case, I'd get the biggest battery I could fit because I want to be able to get several days, if not some weeks out of a charge. Well... I had some test code running for at least six hours yesterday that continuously polled the encoder pins, updating the display immediately on any changing, and updated the display every second if there weren't changes, displaying battery voltage... after over six hours, it had *just* dropped below four volts.... considering that when in use as a reader, the controller will spend most of its time sleeping and the little display will be off, this little battery probably will be good for a week with 3.0V as a nice safe cutoff point. Especially since the FRAM will be holding the 'restart' information instead of (or in addition to) RTC memory which means I'll be able to add a toggle switch on the battery line - that way it can just be shut OFF when it's set down, or when it's displaying a page that won't be changing for a while (like a piece of sheet music) and doesn't need to be powered on.

So no need for the big battery - which is especially cool because the one I've got weighs approximately nothing and I went with the flexible e-ink display instead of glass because I'm chicken and decided the flexible panel that wouldn't shatter from eventual drops was worth the extra cost. I wasn't thinking about or prioritizing weight but it seems this reader/display gadget is going to be remarkably light.
stevenaleach is offline   Reply With Quote