You see that, now you guys are making me dig and I was happy with my solution. `,~)
ticker lib uses millis() and micro() and not interrupt, but with your obsessed curiosities, now I may have found the real problem. You are not supposed to use delay() in the task. And I did use delay(), so I probably need to change the long task to do a task with set number of ticks at my delay time instead of using the delay. Which is much more responsible programming anyway. This will solve it for sure, now that I know how Ticker works. Back to the testing with me. Oh well, in the end you guys are making me better. Thanks, John Vaughters On Tuesday, January 26, 2021, 11:49:44 AM EST, Carl Nobile <[email protected]> wrote: I wonder if your code used an interrupt that couldn't handle the 25 ms time period. ~Carl On Tue, Jan 26, 2021 at 11:10 AM John Vaughters via TriEmbed <[email protected]> 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 > > -- ------------------------------------------------------------------------------- Carl J. Nobile (Software Engineer) [email protected] ------------------------------------------------------------------------------- _______________________________________________ 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
