Spelunking
-
I was trying to get DMA transfers working on the Seeed Wio Terminal. It's based on a SAMD51 MCU which itself is wrapped around an ARM Cortex M4 platform. The trick is there are 8x2 DMA registers you need to fiddle with depending on which peripheral you want to control, and I had no information as to what mapped where. I love VS Code "Go to Definition..." as it allowed me to traverse through the Wio Terminal's Arduino implementation until I found the registers it used for SPI3. SERCOM7 was my huckleberry And now I'm super satisfied that I figured that out, and got my data to the screen asynchronously. It feels like hacking old Apple computers back in the mid 1980s, at least for me.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
-
I was trying to get DMA transfers working on the Seeed Wio Terminal. It's based on a SAMD51 MCU which itself is wrapped around an ARM Cortex M4 platform. The trick is there are 8x2 DMA registers you need to fiddle with depending on which peripheral you want to control, and I had no information as to what mapped where. I love VS Code "Go to Definition..." as it allowed me to traverse through the Wio Terminal's Arduino implementation until I found the registers it used for SPI3. SERCOM7 was my huckleberry And now I'm super satisfied that I figured that out, and got my data to the screen asynchronously. It feels like hacking old Apple computers back in the mid 1980s, at least for me.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
In this day and age where everything is nice and pretty much wrapped up with a bow, it's cool that you have to / get to fiddle with the low level stuff that is more satisfying dragon to tame. :thumbsup:
-
In this day and age where everything is nice and pretty much wrapped up with a bow, it's cool that you have to / get to fiddle with the low level stuff that is more satisfying dragon to tame. :thumbsup:
I submit that it's just as satisfying when you get things working with the help of properly documented registers, it's probably a faster implementation as well.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment "Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst "I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
-
I was trying to get DMA transfers working on the Seeed Wio Terminal. It's based on a SAMD51 MCU which itself is wrapped around an ARM Cortex M4 platform. The trick is there are 8x2 DMA registers you need to fiddle with depending on which peripheral you want to control, and I had no information as to what mapped where. I love VS Code "Go to Definition..." as it allowed me to traverse through the Wio Terminal's Arduino implementation until I found the registers it used for SPI3. SERCOM7 was my huckleberry And now I'm super satisfied that I figured that out, and got my data to the screen asynchronously. It feels like hacking old Apple computers back in the mid 1980s, at least for me.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
"SERCOM7 was my huckleberry" Old west expression of "I like it because it works." Had not heard that expression in a long time. BTW. Actual Huckleberry Jam and Preserves is quite good with a very unique flavor.
"A little time, a little trouble, your better day" Badfinger