Network delays range well into the eye response producing unwanted visual effects
in display appearance to human eye. Even in non networked environments in tight
code loops.
A technique I have used on simple non networked character oriented displays is create a display
buffer that replicates the display under use. Then in code loop display buffer data is checked
to see if a change is needed comparing char for char in the buffer. If it is the display is written
and buffer updated. If no change is needed actual display not written. This eliminated a lot
of visual "artifacts" in tight code loop excessive un-needed write activity. Given most char
displays have their own async controller on the modules compounding the problem. But works
as well on limiting write thrashing on bare display solutions.
Given you are working with bare 7 seg LEDs another consideration is modern leds can
glow at very low currents, so digit to digit timing can produce unwanted effects. Like
changing from one digit to another then updating seg data. Better yet turn off digit,
update segment drives, then turn digit back on.
In closing I think the network activity will definitely affect real timing of other processes
on an ESP32, so using FreeRTOS and creating a priority task can help in this as well.
This is not trivial to setup for first time user, at least its not been for me recently learning
multi-tasking, but very effective for handling multiple processes. At least if you are using
dual core part run the display code on the other core. As a new learner I am working on a
solution with many near simultaneous processes, using FreeRTOS dramatically simplified
code and managed this. But its not a 1 hour fix.....to develop.
One other development aspect of ESP32, its largely an open source driver environment. So
updates to the IDE can cause compile problems because one developer made changes to
his lib. So you might have to revert to earlier lib versions and keep track of all that implies.
I use both C and block language (Tuniot) to do programming. Check out Tuniot, it includes
multitasking blocks easily configured. Here is a series done by author on youtube showing
how rapid it is to create projects.
Share your videos with friends, family, and the world
Nodered also another way of doing this.
ESP32 drive levels allowed :
Regards, Dana.