Holy ... you're the first person I found who actually knows what he's doing. I found so many blogs and tutorials out there just ignoring all the issues around multithreading while going about and writing "maker" code. Thanks for the clear instructions, although I already figured that stuff out by trial and error.
It amazes me that you always manage to present what are pretty complicated subjects in an entertaining and accessible way. Please don't stop what you are doing.
If any university runs this topic and hires this guy as a lecturer I’m pretty sure it’s gonna succeed! Not mention many other TH-camr, he’s actually teaching way better than many professional teachers
Great Shawn! Good thing to publish an MicroPython example how to run two things at the same time. The example could be called a asynchronous hello world.
Another terrific video!! Very articulate, very easy to follow and understand. And you just happen to be covering the more complicated subjects I want to work with! Bravo! Thanks for your contribution and please continue, especially with the Pico!!!
This is the answer to a question that has been bugging me for months. It’s going to take a few iterations until it all sinks in, but at least I have a place to start. It seems unfortunate that there are two cores in the 2040 but we can only access one right now. I’m hoping Micropython can catch up to utilize both cores efficiently.
I've been able to get the second core working in MicroPython with some success. th-cam.com/video/8xjkKY_DDVI/w-d-xo.html As I mention in the description of the linked video continuous memory allocation will crash the second core, both cores actually. My main test is to temporarily add print(gc.mem_free()) which has to be stable. This means float point and many functions can't be used or need to be cached. For example I want to put a two digit number on a screen. The text() function I'm using requires a string. str() allocates memory so instead of this: text(str(number)) I had to do this: s=['0','1','2','3','4','5','6','7','8','9'] # this is outside the main loop s1=s[number//10] s2=s[number%10] text(s1) text(s2)
Holy ... you're the first person I found who actually knows what he's doing. I found so many blogs and tutorials out there just ignoring all the issues around multithreading while going about and writing "maker" code. Thanks for the clear instructions, although I already figured that stuff out by trial and error.
It amazes me that you always manage to present what are pretty complicated subjects in an entertaining and accessible way. Please don't stop what you are doing.
If any university runs this topic and hires this guy as a lecturer I’m pretty sure it’s gonna succeed! Not mention many other TH-camr, he’s actually teaching way better than many professional teachers
i like the stile of "no gossip" at the start.
we need to give this man as community sourecd nobel pride for all his videos. The Millennial Coding Bill Nye with a Bow Tie
asyncio is a great feature & you teach it very well❤
This is exactly what I was looking for as I'm pushing Pico's potential. Thanks!
Great Shawn! Good thing to publish an MicroPython example how to run two things at the same time. The example could be called a asynchronous hello world.
Another terrific video!! Very articulate, very easy to follow and understand. And you just happen to be covering the more complicated subjects I want to work with! Bravo! Thanks for your contribution and please continue, especially with the Pico!!!
Great presentation of the topic! I wish this video happened a year ago when I first started learning about uasyncio. :-)
This is the answer to a question that has been bugging me for months. It’s going to take a few iterations until it all sinks in, but at least I have a place to start.
It seems unfortunate that there are two cores in the 2040 but we can only access one right now. I’m hoping Micropython can catch up to utilize both cores efficiently.
I've been able to get the second core working in MicroPython with some success.
th-cam.com/video/8xjkKY_DDVI/w-d-xo.html
As I mention in the description of the linked video continuous memory allocation will crash the second core, both cores actually. My main test is to temporarily add print(gc.mem_free()) which has to be stable. This means float point and many functions can't be used or need to be cached.
For example I want to put a two digit number on a screen. The text() function I'm using requires a string. str() allocates memory so instead of this: text(str(number)) I had to do this:
s=['0','1','2','3','4','5','6','7','8','9'] # this is outside the main loop
s1=s[number//10]
s2=s[number%10]
text(s1)
text(s2)
I highly recommend that folks implement PIOs on RP2040 before trying to do async stuff.
Clear, detailed and practical! Thanks!
Excellent!
Thank you for the tutorial.
In your example how would you stop the continuous loop of the LED using a button?
Good video!
I'm trying to figure out where to get the cancel() method I need to cancel an async task then start a new one in it's place.
Very good
Спасибо! Очень Помогло!
How can I press the button so it activates/deactivates led ? each action being a different task? Thanks. 🙂
I get an error: 'Pin' object has no attribute 'toggle'
I am trying to find details on .mpy and viper to speed up micropython. Using windows and thonny. Kiss.
pull a tucker carlson and ditch the bow
Just to say, Erlang is way easier to do this. And it uses way less memory for each tasks.
Ahh! what happened to you guys? A whole genetation of people that pronounce 'button' as butun.