2026-06-25

ESP IDF v6

I do not wish to speak ill of such an awesome project, but, this is head banging against wall stuff.

ESP IDF v6 is out, and there is a migration guide, and a lot of breaking changes. I appreciate these happen, and appreciate a guide to help.

But today I have hit some major stuff with no simple answer.

SHA1

Regardless of security issues, SHA1 is a function needed by some protocols and applications, and generating an SHA1 should be a simple common standard function. ESP32 even has hardware to help AFAIK.

It was in mbedTLS, but no, now it is not, and is some other API, but the ESP IDF does not actually list the functions.

But there is an esp TLS thing with a simple SHA1, except you have to initialise a whole TLS subsystem to use it. I just want to simply do an SHA1 of a buffer. That is all. I do not want to create some huge config object and init a whole subsystem. At this point a local SHA1 coded function may be in order.

This should not be complicated.

I ended up, for this application, changing to esp_rom_md5, which is just stupid. It will be fine for this application, security is not the issue, just a sane hash, but something as basic as a simple SHA1 function should not be this hard.

HTTPS

I have an application that does a lot of https client requests. This used to work well.

Now it breaks it horrid ways - the https client itself may break, or other things break that need memory. Even a simple SPI bus init fails after a few https fetches. My best guess is a memory leak. Long ago https client was not good, and was fixed, but now it seems seriously broken once again. I know this is hard work for an embedded system.

Work around, and I do not like, but files are signed, is use http for now for this application. Will be back to https as soon as this is sorted.

Console

The console, i.e. basic C stdio, is default UART0. But could be set to USB/JTAG.

The console outputs to multiple places, so works on USB/JTAG anyway, but used to have a simple INPUT from USB/JTAG as well which worked.

Now, magically, that seems not to work, and no clue at all how to fix it. I can't even find where I set the input to be USB/JTAG.

Arrrrg!

I'll keep at it.

No comments:

Post a Comment

Comments are moderated purely to filter out obvious spam, but it means they may not show immediately.

ESP IDF v6

I do not wish to speak ill of such an awesome project, but, this is head banging against wall stuff. ESP IDF v6 is out, and there is a migra...