Thanks for sharing the details. As you and the others may know I made the journey from hobby to narrowly focused biz with respect to this stuff, so my perspectives and biases are now very different from what they were in 2012. I too am very wary of learning curves vs just getting what you need done and moving on. So many of the tools we use can be bottomless pits of hairy details and we have to ask ourselves if we want to be a _____ expert or just skate across the ice and hope it's thick enough.

I applaud your use of "task" in this context. As you say, it's effectively like you have support for a background task even though there may be no formal interfaces offering "real tasks". A wild stab would be to suggest you have to be careful about non-reentrant code if somehow you're reentering the timer code from a second tick. But you've already routed around the issue.

-Pete

On 1/26/21 11:07 AM, John Vaughters via TriEmbed wrote:
Pete,

There is a debug port on the board for sure, not sure if it qualifies as JTAG. 
I've never actually used a debugger on a micro-processor, only on regular 
desktop/server programming. I never invested the time or money to get that up 
to speed. I will say it dumps a bunch of hex code to the serial port when it 
crashes and I did not really look at that either. The reason being that I never 
ran into a limitation that prevented my pragmatic application results and I'm 
more interested in the end result than the finer details. I just hack until I 
get it to work. Same goes for oscilloscopes and electronics, I just use basic 
concepts and practices and usually get it to work. However, I definitely want 
to gear up with oscilloscopes and logic analyzers one day. But until I have the 
time to play, no need in putting out the dough for it to sit on the shelf. This 
attitude is from experience of too many things sitting on the shelf.

There are two timers on the board, but one is used for wifi. The other one is 
available, and I might be able to use that with better results, but the Ticker 
library does magic in the background and appears to act like a simple task 
scheduler. So in the code it appears you are setting tasks, but behind the 
scenes I have not investigated what it is actually doing. For sure if you use 
the single timer you are limited to one task or a tight management of tasks on 
that timer. I'm not quite sure because I did not go that route, I am just 
parroting my perception of what I read. So I opted for the code appearance of 
tasking through the Ticker library to make my code more readable. It seems to 
work great so far and I am close to being done with my wifi modbus device. The 
next application will be a very simple wifi serial to tcp converter to be able 
to use with micro-processors that have no network connections. This will allow 
modbus over TCP via serial conversion. You get the sense I like modbus? `,~) 
What I found so far is that the serial to tcp application is already solved and 
out there in multiple forms, so I just need to pick one and give it a go.

I never really exposed my end applications; it is for my home SCADA system that monitors 
energy use for the goal of reducing energy while remaining comfortable. Basically, I am 
trying to use technology to "Stick it to the Man" `,~) Oh and have fun learning 
along the way. I'm pretty sure on just the electric controls implemented on the hot water 
heater alone I have saved enough to pay for my electronics. So anything above that is pay 
dirt.

For Robotics, I am really liking the ESP32 combined with some nano arduinos as 
specialized processors. Top priority being a weed eater head remote controlled 
lawnmower to minimize allergen exposure. And for the record that has been on 
the task list for years and I wouldn't be surprised if it waits years longer, 
but hey the technology keeps making the idea easier as time flies by.

Dreams are good, jobs are better! `,~)

Bottom line is I am loving the ESP line of products.

John Vaughters






On Tuesday, January 26, 2021, 10:20:04 AM EST, Pete Soper via TriEmbed 
<[email protected]> wrote:





Does ESP-12E support JTAG debugging? It might be interesting to figure
out what the crash is about (maybe there isn't actually a task scheduler
present and if you don't "yield" back you've violated the API
contract?). But you've stuck with the pragmatic approach, John. Thanks
for the tip.

GettingĀ  SparkFun "Micromod" boards with ESP32 and ESP8266 (no idea what
flavors) and the "All the Pins" carrier board today. But these go on the
shelf as I wait for the RP2040 Micromod board, and my stack is pushed
anyway. Particle Land, here I come. :-)

-Pete

On 1/26/21 10:03 AM, John Vaughters via TriEmbed wrote:
In my playing around with the ESP-12e's that I have, I found something that may 
save someone some time. Using the Ticker library to schedule a task, I quickly 
found out that the task better be quick or it will crash the program. To define 
quick, my task was maybe 25ms, which was enough to crash the program. To get 
around this I found on the web a quick tip that made alot of sense. Just use 
the Ticker task to flip a bool and then have an if statement run the task and 
reset the bool.

It's not what I consider a great programming technique, but I consider it a 
valid workaround on the limitation. And it still beats running the task on 
every loop cycle.

I am certainly open to other suggestions, but it works quite well and I will be 
sticking with it for now.

John Vaughters
_______________________________________________
Triangle, NC Embedded Computing mailing list

To post message: [email protected]
List info: http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
TriEmbed web site: http://TriEmbed.org
To unsubscribe, click link and send a blank message: 
mailto:[email protected]?subject=unsubscribe

_______________________________________________
Triangle, NC Embedded Computing mailing list

To post message: [email protected]
List info: http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
TriEmbed web site: http://TriEmbed.org
To unsubscribe, click link and send a blank message: 
mailto:[email protected]?subject=unsubscribe



_______________________________________________
Triangle, NC Embedded Computing mailing list

To post message: [email protected]
List info: http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
TriEmbed web site: http://TriEmbed.org
To unsubscribe, click link and send a blank message: 
mailto:[email protected]?subject=unsubscribe



_______________________________________________
Triangle, NC Embedded Computing mailing list

To post message: [email protected]
List info: http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
TriEmbed web site: http://TriEmbed.org
To unsubscribe, click link and send a blank message: 
mailto:[email protected]?subject=unsubscribe

Reply via email to