you're just so casual about being this brilliant hahaha. Thank you so so much for these video. I am a complete beginner and would love to hear more about your background in engineering sometime! Thanks again, David!
Thanks for watching! I have a few videos that talks a little about how I got interested in this: ua-cam.com/video/rxBV3YILaaM/v-deo.html ua-cam.com/video/BcqRvHkn-EA/v-deo.html ua-cam.com/video/0S9A_c3TkRo/v-deo.html ua-cam.com/video/chrURgrkd44/v-deo.html
Thank you so much David you saved me quite bit of time i would have to spend reading all the docs. It is rather rare to stumble upon someone this knowledgeable and capable of producing content at this quality.
pio still way over my head, but the combo with micropython shows the power of the pico, great work. if the midi is sent over usb to a pc playing the notes then using several picos could work. a mini orchestra could all use the same usb , drum / piano / triangle ...
Thanks for watching. In fact, one Pico could act as a mini orchestra. It does by acting as a MIDI sequencer sending MIDI information to various channels on a timed basis. In fact, the closing Christmas music comes from a MIDI file played on the Tyros. In that case, the Tyros acted as the MIDI sequencer; but I would like to get the Pico to do the same thing in the future.
You're genious, very clever ideas. 13:15 i'm not understand at this moment using "wrap". What happened if you remove "wrap" command from end of sketch? And where is "wrap_target"? Thank you.
I wouldn't have needed "wrap" in this case. PIO programs will automatically wrap at the end of the program by default. Wrap target is at the start of the program by default.
Well, here's more engine management related logic. Reason I watched this one, I knew what it'd take in code to implement MIDI velocity. I was wondering about tieing together PIOs like that. I need to look more into waits, breaks, and jumps. Also curious about more info related to PIO input and output shift registers; can't mistime a read or I'd end up with a multiple of the value I'm going for, really bad.
My next video is all about interrupts. (It will actually be two videos.) It took a while to research; but hopefully it will be helpful. I'm hoping it's out in the next week or so.
You did not have to set and wait on IRQ in the PIO program. You could have instead had your interrupt be based on FIFO not empty and the interrupt automatically triggered when velocity is added to the FIFO. No need to have a PIO instruction to set the IRQ. Just means you need to make sure that you read from the FIFO until empty before returning from the interrupt.
That should work also (I think). I'm digging into PIO interrupts more and the MicroPython SDK is not as robust in handling them as the C.C++ SDK. I did have an ulterior motive for using a separate interrupt for future expansion. Thanks for the comment; I'll add that to my toolkit. Remember what Maslow said: "When all you have is a hammer, everything looks like a nail".
you're just so casual about being this brilliant hahaha. Thank you so so much for these video. I am a complete beginner and would love to hear more about your background in engineering sometime! Thanks again, David!
Thanks for watching! I have a few videos that talks a little about how I got interested in this:
ua-cam.com/video/rxBV3YILaaM/v-deo.html
ua-cam.com/video/BcqRvHkn-EA/v-deo.html
ua-cam.com/video/0S9A_c3TkRo/v-deo.html
ua-cam.com/video/chrURgrkd44/v-deo.html
Good stuff David! Merry Christmas.
Thanks, you too!
I have really enjoyed watching the PIO series. Thank you for putting the time and effort into making these videos. Have a Merry Christmas.
Glad you like them! Merry Christmas and thanks for watching!
Thank you so much David you saved me quite bit of time i would have to spend reading all the docs. It is rather rare to stumble upon someone this knowledgeable and capable of producing content at this quality.
You're very welcome! Thanks for watching!
Excellent presentation David. You are the 'goto' source for pico PIO
Merry Christmas.
I really enjoy making these videos. Thanks for watching!
eisai poli meraklis re david
Ευχαριστώ!
pio still way over my head, but the combo with micropython shows the power of the pico, great work.
if the midi is sent over usb to a pc playing the notes then using several picos could work.
a mini orchestra could all use the same usb , drum / piano / triangle ...
Thanks for watching. In fact, one Pico could act as a mini orchestra. It does by acting as a MIDI sequencer sending MIDI information to various channels on a timed basis. In fact, the closing Christmas music comes from a MIDI file played on the Tyros. In that case, the Tyros acted as the MIDI sequencer; but I would like to get the Pico to do the same thing in the future.
You're genious, very clever ideas.
13:15 i'm not understand at this moment using "wrap". What happened if you remove "wrap" command from end of sketch? And where is "wrap_target"? Thank you.
I wouldn't have needed "wrap" in this case. PIO programs will automatically wrap at the end of the program by default. Wrap target is at the start of the program by default.
nice
Thanks Hope it's useful!
Well, here's more engine management related logic. Reason I watched this one, I knew what it'd take in code to implement MIDI velocity. I was wondering about tieing together PIOs like that. I need to look more into waits, breaks, and jumps. Also curious about more info related to PIO input and output shift registers; can't mistime a read or I'd end up with a multiple of the value I'm going for, really bad.
My next video is all about interrupts. (It will actually be two videos.) It took a while to research; but hopefully it will be helpful. I'm hoping it's out in the next week or so.
You did not have to set and wait on IRQ in the PIO program. You could have instead had your interrupt be based on FIFO not empty and the interrupt automatically triggered when velocity is added to the FIFO. No need to have a PIO instruction to set the IRQ. Just means you need to make sure that you read from the FIFO until empty before returning from the interrupt.
That should work also (I think). I'm digging into PIO interrupts more and the MicroPython SDK is not as robust in handling them as the C.C++ SDK. I did have an ulterior motive for using a separate interrupt for future expansion. Thanks for the comment; I'll add that to my toolkit. Remember what Maslow said: "When all you have is a hammer, everything looks like a nail".
How would you use a PIO (and a chip) to read an x number of rotary encoders?
That's a good question. I'll have to look into that. Thanks for the idea; and thanks for watching!
I am honored to have set the brilliant gears in motion :)