|
Over a year ago Espressif - the maker of the ESP32 MCUs broke SPI "SDA reads" under their Arduino framework implementation. An SDA read takes a normally write only data line, and reverses it, to read off it. It's a hack, but it's hack that nearly every 3-wire SPI LCD controller uses in order to report the contents of its framebuffer memory/read back from the display. You'd use this feature for example, to alpha-blend or anti-alias your draws. Without it, you're up a creek, unless you just draw everything to bitmaps first, and then send those bitmaps to the display.
So I did that.
Enter UIX. UIX is a user interface library I didn't want to have to write. It complements GFX, my graphics library, and the primary reason I wrote it is I can no longer reliably do SDA reads on at least on major IoT platform. UIX is a draw on demand framework that .. you guessed it, draws bitmaps and sends them to a display. It's built more to be a stateful, demand draw graphics engine than a UI framework, but you can't have the former without the latter really.
I'm not happy about it. That's an extra leg of my website, an extra codebase to maintain, extra docs, extra learning curve for my code's users, etc.
All for want of an SDA read.
Well, now they've done it again.
The ESP32 Arduino 2.0.16 bits are fundamentally slower than previous versions of the framework. I mean my fire demo gets 77 frames per second on a TTGO T1 under Arduino on 2.0.15 and just *29* under 2.0.16
That's not acceptable. Worse, Espressif has officially said they're not supporting PlatformIO packages anymore, so I can't even really submit issue over this and expect anything.
Now my solution? Give my library users the option of forgoing Arduino altogether. That means making any ESP32 libraries compatible with both Arduino and the ESP-IDF so users can use the ESP-IDF and not hamstring themselves.
I've got I don't know, 20 libs to upgrade? And then several projects to upgrade to be dual platform.
I posted a brief example of the sausage being made at the end of the post.
This stuff makes me angrier than it really should. Why? I'm not in control of my own code. I feel like a damned marionette just dancing on my strings to the music Espressif decides to play today.
All of this is just one more thing pushing me away from the ESP32s altogether. That and their lack of 5GHz WiFi support. Now that the Nordic nrf7002 the ESP32 is quite a bit less appealing.
#pragma once
#if __has_include(<Arduino.h>)
#include <Arduino.h>
namespace arduino {
#else
#include <stdint.h>
#include <stddef.h>
#include <esp_wifi.h>
namespace esp_idf {
#endif
enum struct wifi_manager_state {
error = -1,
disconnected = 0,
connecting = 1,
connected = 2
};
class wifi_manager {
public:
void connect(const char* ssid, const char* pass);
void disconnect(bool radio_off = false);
wifi_manager_state state() const;
};
}
#ifndef ESP_PLATFORM
#error "This library requires an ESP32 line MCU"
#endif
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Very interesting and a great post about SPI under espressif.
Quote: the maker of the ESP32 MCUs broke SPI "SDA reads" under their Arduino framework implementation
Was it a bug or a conscious decision by espressif?
If a decision, what was the reasoning behind that change? I understand you may not even know that answer.
Quote: Worse, Espressif has officially said they're not supporting PlatformIO packages anymore
Why have they done that? Are they just saying they donβt care and donβt want to support?
|
|
|
|
|
raddevus wrote: Was it a bug or a conscious decision by espressif?
I'm not sure. If I had to guess it's a bug but since it's a "hacky" feature they can't be bothered to make it work again.
raddevus wrote: Why have they done that?
The scuttlebutt I've heard is one of two things (or maybe both)
A) the third party that was building the packages was getting paid by Espressif, and there was disagreement over compensation. I can't verify this.
B) (What I found out since making this post) Espressif never officially supported it, but they had it in their docs until it became a nightmare for them because they were getting issue reports for stuff they didn't make. I think this is more likely.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Wordle 1,086 2/6*
β¬π©π©β¬β¬
π©π©π©π©π©
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
π©π©β¬β¬β¬
π©π©β¬β¬β¬
π©π©π©β¬β¬
π©π©π©π©π©
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
You do get up very early Paul
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
I'd noticed ...
I'm still finding it impossible to sleep past the time I found Michelle and there is no point in lying in bed in the dark so I may as well get up. It's a nice time of day (if I wasn't so tired all the time) - the phone doesn't ring, no one knocks the door, the electricity is cheaper ...
The cat kinda likes it - he gets breakfast earlier.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Ok - you must be exhausted - have you tried sleeping tablets ?
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Yes - back in December. The "proper ones" - a sedative - they only give you for 10 days as they are seriously addictive (but very effective). After that they give you an antihistamine which has "may make you drowsy" as a side effect. Taking drugs for a condition I haven't got in the hope that I get a side effect seems ... an odd solution.
I'm using Nytol which is more effective than the antihistamine, but all of them just help you get to sleep, not help you stay there. Better than lying there for a couple of hours trying to sleep, but not much!
Going to bed early doesn't work either, I can't get to sleep then with or without Nytol. The best thing that happened was British Summer Time as I'm still waking at the same GMT / UTC but it's an hour longer sleep. Brains are weird, they don't follow logic internally ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Did they give you Diazepam (Valium) ?
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Can't remember - that was back in December, and I don't remember much from then ... don't think so though.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Wordle 1,086 3/6
β¬β¬β¬β¬β¬
β¬π©π©β¬β¬
π©π©π©π©π©
|
|
|
|
|
Wordle 1,086 5/6
β¬π¨β¬β¬β¬
β¬π©π©β¬π©
β¬π©π©β¬π©
β¬π¨π©β¬π©
π©π©π©π©π©
|
|
|
|
|
Wordle 1,086 5/6
β¬β¬π©β¬β¬
β¬π©π©π¨β¬
π©π©π©β¬β¬
π©π©π©β¬β¬
π©π©π©π©π©
Ok, I have had my coffee, so you can all come out now!
|
|
|
|
|
Wordle 1,086 5/6
β¬β¬π¨β¬π¨
β¬π¨β¬π¨β¬
π¨β¬π¨π¨π¨
π©β¬π©π¨π©
π©π©π©π©π©
If you can't explain something to a six year old, you really don't understand it yourself. (Albert Einstein)
|
|
|
|
|
Two chemists walk up to a bar to order drinks.
First Chemist: I'll have a H2O.
Second Chemist: I'll have a H2O too.
The second chemist dies.
Jeremy Falcon
|
|
|
|
|
An oldie but goodie.
/ravi
|
|
|
|
|
Billy was a silly boy.
Billy is no more.
For what he thought was H2O
Was H2SO4.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I've heard it as this that uses "water" in its flow...
Johnny was a chemist.
But Johnny is no more.
What Johnny thought was water
Was H2SO4. Great one.
Jeremy Falcon
|
|
|
|
|
I said "sure, just don't leave my yard"
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
or "get him home in time for dinner".
|
|
|
|
|
|
If I spent MY time to report a bug in XYZ product and receive
ANSWER ( label as such )
how does this relate to XYZ product ?
"should I get a different product " ?
|
|
|
|
|
Well, it sounds to me as if the person did not understand the connection between the bug and their product, and was asking for clarification.
Did you try to explain?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
I hate when I think I'm buying organic vegetables when I get home to discover they're just regular donuts.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|