Life with David
Life with David
  • 140
  • 1 162 631
RP2040 - Bare Metal Direct Memory Access - BMA14
RP2040 - Bare Metal Programming - DMA - BMA14
Join David as he explores how to implement Direct Memory Access using Bare Metal techniques without using the C/C++ SDK.
Resources for this Chapter:
Demonstration files for this video:
github.com/LifeWithDavid/RaspberryPiPico-BareMetalAdventures/tree/91ec1ebcc1d5d2e32604054feff3838912e7e70c/Chapter%2014
Link to “Bare Metal Adventures, Chapter 03”:
czcams.com/video/MUT6ZubKS3w/video.html
Link to “The PIO Chronicles, Chapter 08”
czcams.com/video/OenPIsmKeDI/video.html
Link to “The PIO Chronicles, Chapter 09”
czcams.com/video/-Wh3SIAl0Ic/video.html
Link to “The PIO Chronicles, Chapter 12”
czcams.com/video/ZEBkM5FQ86Q/video.html
Cortex-M0+ Generic User Guide: developer.arm.com/documentation/dui0662/latest/
ARMv6-M Architecture Reference Manual:
developer.arm.com/documentation/ddi0419/c/Application-Level-Architecture/
RP2040 Datasheet: datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf
Getting Started with the Raspberry Pi Pico: datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf
Emulator cpulator.01xz.net/?sys=arm-de1soc
ARM Assembly Language Tutorial: czcams.com/video/gfmRrPjnEw4/video.html
00:00 - Introduction
00:32 - DMA review
01:24 - DMA address and control registers
04:46 - Triggering the DMA transfer sequence
07:14 - DMA example programs
07:48 - Releasing DMA from reset
10:06 - DMA control register worksheet
11:59 - Demo 1 - memory to memory by words
14:19 - Demo 2 - memory to memory by bytes
14:49 - Demo 3 - reusing the transfer register
15:50 - Demo 4 - peripheral to memory
16:54 - Demo 5 - memory to peripheral
17:50 - Closing
Music:
(Pinnacle 25 royalty-free music):
Pulsing Dance
City Night Groove
zhlédnutí: 613

Video

RP2040 Bare Metal Two Core Operation - BMA 13
zhlédnutí 998Před 2 měsíci
RP2040 - Bare Metal Programming - 2 Core Operation - BMA13 Join David as he explores how to execute code using both of the RP2040 cores at the same time. We’ll cover waking core 1 and identifying the core that is running. Then we’ll examine how spinlocks can be used to allocate common resources between the 2 cores. Demonstrations use the Raspberry Pi Pico but other RP2040 systems can also be us...
Track the eclipse with a cell phone and cheap timer!
zhlédnutí 194Před 3 měsíci
Track the sun and the eclipse! Join David as he builds and demonstrates a cell phone camera solar tracker using a 24-hour mechanical timer for capturing the upcoming eclipse. Record video and photos while the sun remains in frame. Link to STL files used in this video: Harbor Freight Timer: www.thingiverse.com/thing:6550277 Walmart Timer: www.thingiverse.com/thing:6550294 Harbor Freight Timer: w...
Refining my Plugable USB Microscope
zhlédnutí 473Před 3 měsíci
Improving a digital microscope mounting system Join David as Improves the operation of his Plugable USB Digital Microscope using 3D printed parts. This rack and pinion adjustment system is stable, and lockable. Link to STL files used in this video: www.thingiverse.com/thing:6525634 . 00:00 - Introduction 00:42 - Safety 01:19 - Background 02:27 - Rack & Pinion 03:27 - Slide, Crank, and Support 0...
DOOM on the RP2040 - BMA12
zhlédnutí 1,5KPřed 4 měsíci
DOOM and the Pico - BMA12 Join David as he installs Doom on the Raspberry Pi Pico (RP2040). Included is the VGA interface, a PCM/I2C 5102 module and using a USB keyboard. Link to files used in this video: How to use PCM5102 raspberrypi.stackexchange.com/questions/76188/how-to-make-pcm5102-dac-work-on-raspberry-pi-zerow Link to PIO Chronicles Ep 6 czcams.com/video/mrThmFlgV_s/video.html Link to ...
Broken Yamaha Tyros 1 - YOU can fix it!
zhlédnutí 940Před 5 měsíci
Yamaha Tyros 1 Repairs - Join David as he tackles a flaky power supply problem and a speaker failure on a Yamaha Tyros 1 keyboard. These repairs can be completed by anyone with basic skills and minimal tools. Tyros 1 service manual: psrtutorial.com/lessons/workshops/ServiceManuals/Tyros1_ServiceManual.pdf Solder tutorial: czcams.com/video/Pjsoq-ZejRM/video.html Desoldering wick: www.amazon.com/...
RP2040 - 6502 Emulator - TIM, Tiny Basic, and EHBasic
zhlédnutí 836Před 5 měsíci
RP2040 - 6502 Emulator - TIM, Tiny Basic, and EHBasic
RP2040 - Bare Metal 6502 Emulator - Demonstration - BMA10
zhlédnutí 896Před 6 měsíci
RP2040 - Bare Metal 6502 Emulator - Demonstration - BMA10
RP2040 - Bare Metal 6502 Emulator - BMA 09
zhlédnutí 1,7KPřed 7 měsíci
RP2040 - Bare Metal 6502 Emulator - BMA 09
The "HELLORLD!" challenge!
zhlédnutí 1,1KPřed 8 měsíci
The "HELLORLD!" challenge!
RP2040 - Bare Metal Interrupts and Debugging - BMA08
zhlédnutí 848Před 8 měsíci
RP2040 - Bare Metal Interrupts and Debugging - BMA08
RP2040 - Bare Metal - Executing from SRAM - BMA07
zhlédnutí 1,2KPřed 9 měsíci
RP2040 - Bare Metal - Executing from SRAM - BMA07
RP2040 - PIO and Bare Metal Programming - BMA06
zhlédnutí 2,3KPřed 9 měsíci
RP2040 - PIO and Bare Metal Programming - BMA06
RP2040 - System Clocks - Bare Metal Programming - BMA05
zhlédnutí 2,5KPřed 11 měsíci
RP2040 - System Clocks - Bare Metal Programming - BMA05
RP2040 - NO SDK! Assembly Language Programming - BMA -04
zhlédnutí 4,3KPřed rokem
RP2040 - NO SDK! Assembly Language Programming - BMA -04
UDOO Key Introduction - A Dual Microcontroller Board
zhlédnutí 1,4KPřed rokem
UDOO Key Introduction - A Dual Microcontroller Board
RP2040 - Using UARTs with RP2040 Assembly Language - BMA-03
zhlédnutí 2,7KPřed rokem
RP2040 - Using UARTs with RP2040 Assembly Language - BMA-03
RP2040 - Compiling and Linking Assembly Programs - BMA-02
zhlédnutí 3,3KPřed rokem
RP2040 - Compiling and Linking Assembly Programs - BMA-02
RP2040 - Introduction to Assembly Language - BMA-01
zhlédnutí 10KPřed rokem
RP2040 - Introduction to Assembly Language - BMA-01
Pinnacle Studio 26 vs. 25 - Should you upgrade?
zhlédnutí 13KPřed rokem
Pinnacle Studio 26 vs. 25 - Should you upgrade?
Creality Ender-3 S1 Assembly and Demo...by a newbie!
zhlédnutí 377Před rokem
Creality Ender-3 S1 Assembly and Demo...by a newbie!
Raspberry Pi Pico PIO - PIO Interrupts using MicroPython - Ep. 20
zhlédnutí 3,8KPřed rokem
Raspberry Pi Pico PIO - PIO Interrupts using MicroPython - Ep. 20
Raspberry Pi Pico PIO - PIO Interrupts using C - Ep. 19
zhlédnutí 6KPřed rokem
Raspberry Pi Pico PIO - PIO Interrupts using C - Ep. 19
Raspberry Pi Pico PIO - Ep. 18 - MIDI using MicroPython and Velocity for Pico
zhlédnutí 2,8KPřed rokem
Raspberry Pi Pico PIO - Ep. 18 - MIDI using MicroPython and Velocity for Pico
Raspberry Pi Pico PIO - Ep. 17 - MIDI for the Pico
zhlédnutí 6KPřed rokem
Raspberry Pi Pico PIO - Ep. 17 - MIDI for the Pico
Inexpensive Water Filters for newer GE Refrigerators - PYE22K and more
zhlédnutí 6KPřed rokem
Inexpensive Water Filters for newer GE Refrigerators - PYE22K and more
Raspberry Pi Pico PIO - EP. 16 - Smoother Arbitrary Waveform Generator
zhlédnutí 3,3KPřed rokem
Raspberry Pi Pico PIO - EP. 16 - Smoother Arbitrary Waveform Generator
Samsung Gear S2 Battery Replacement
zhlédnutí 21KPřed rokem
Samsung Gear S2 Battery Replacement
Raspberry Pi Pico PIO - Ep. 15 - Faster Arbitrary Waveform Generator
zhlédnutí 4,9KPřed rokem
Raspberry Pi Pico PIO - Ep. 15 - Faster Arbitrary Waveform Generator
Flying the B-17 Flying Fortress
zhlédnutí 449Před rokem
Flying the B-17 Flying Fortress

Komentáře

  • @KennethScharf
    @KennethScharf Před 2 dny

    I'm running Kubuntu Linux, though I do have a copy of Windows 10 installed inside of a VM running on Linux. I'd like to be able to build code for the RP2040 using the Eclipse IDE as I have a JLink debugger that supports the SWD interface on the Pico. I know that you can make use of a RPi with open OCD to debug the Pico, and open OCD also works with the JLink. I have used that to burn a bootloader onto a SAMD21 processor.

  • @KennethScharf
    @KennethScharf Před 2 dny

    I haven't used assembly language much since I started programming microcontrollers in C. The GNU GCC family of compilers support the AVR series micro controllers, as well as many (if not all) variants of the ARM family. However, before I started working with micro controllers, I did a lot of work as a software engineer writing code for embedded 8086 family processors. Once such project was for a four port serial communications co-processor board used in a PC based user access point in a Coulter blood counter. I had a choice of programming it using C, Pascal, PLM, ADA (don't ask!), or assembler. I decided to write the code in assembler, not trusting the ability of the available compilers to give me enough control of the hardware. It was actually easy to write, and the 8086 itself has features that enabled me to divide the program into separate tasks for each of the serial channels. BTW, the processor was actually an 80188, but that chip is nothing more than an embedded variant of the 8086 with an 8 bit data bus and built in support chip functions. As far as the processor is concerned, there is NO difference between machine language and assembler. When writing machine code, YOU are the assembler. Assembler code is nothing more than a human readable form of machine code, and having the computer do all the heavy lifting of getting that code into binary format CORRECTLY. I've often looked at the assembler code generated by a C compiler, and realized I could almost always tweek it to remove extra lines of code, or rearrange things so it would run faster. It seems the compiler wants to move data from memory into registers, operate on the data, and then put all the results back into memory, even though it will be reloading the same registers with the same memory for the next high level language instruction! Of course there are compiler command line options that will enable optimizations that will notice these things, at the expense of longer compile times. Still, the assembly language programmer can often see outside the box that the compiler designers have limited themselves to, compilers seem to be based on a set of macros that can be strung together to translate various high level sequences into assembler routines. There is also the issue of memory usage vs speed. I once had to write a bit of code that HAD to complete in a small amount of time. I ended up writing a number of macros that were recursively called by other macros in several levels. A few small lines of assembly code took nearly an hour to assemble and produced a huge amount of binary image! It was fast, because it was all straight line code, NO SUBROUTINES! From the assembler macro point of view, it was a mess of nested routines however. Perhaps a gross example, but assembler gives you that option!

  • @adriftatlife
    @adriftatlife Před 3 dny

    can anybody help me trouble shoot? my buttons gives power to the motor and the motor continues to make a small click sound if I keep the switches pressed, where do start to trouble shoot?

    • @LifewithDavid1
      @LifewithDavid1 Před 3 dny

      I'm working on a troubleshooting video; but it won't be ready for a few weeks. In the meantime, try this. If you hear a click (from the relays) when each button is pushed, then the button circuits work. If you rapidly cycle the buttons and you sometimes get movement; then a relay may be bad. If you VERY QUICKLY touch the motor leads to the power, and the motor doesn't turn; then the motor is probably bad. If the motor is good; then one of the limit switches may be bad. Good luck!

  • @funkbungus137
    @funkbungus137 Před 3 dny

    this is what I was looking for, awesome.

  • @TastyBusiness
    @TastyBusiness Před 4 dny

    Nice to see the TIM get some coverage, it isn't often talked about beyond cursory mentions as more of a historical footnote. Thank you for showing us one in action!

    • @LifewithDavid1
      @LifewithDavid1 Před 4 dny

      You're welcome. Check out chapter 11 of the Bare Metal Adventures on my channel. There I implement the TIM on a 6502 emulator running on a Raspberry Pi Pico. Thanks for watching!

  • @DebraRoggie
    @DebraRoggie Před 5 dny

    Our n300 lights but there us a strong smell inside our camper. What is causing this? 6:26

    • @LifewithDavid1
      @LifewithDavid1 Před 5 dny

      If the strong smell smells like "gas" then there could be a leak, probably around the valves and controls that are on top of the refrigerator. Unless you are very handy, have an expert check it out. I would pull the refrigerator and check the lines and connections with a soapy solution. If you following along; you are doing so at your own risk. Good luck!

  • @pedropig
    @pedropig Před 5 dny

    Maybe I’ve missed something, but what does the 0x100 appended to each on/off message actually do? I can’t find a reference to it elsewhere. Thanks for any help!

    • @LifewithDavid1
      @LifewithDavid1 Před 5 dny

      I'm sorry, it WAS a little vague. Check out lines 58 through 64 of the PIO program (about 14:06 in the video), I used uint (32 bit word) instead of an unsigned character (8 bits) because I wanted to transmit 0x00 to signify the end of the midi event. Since I'm only transmitting the least significant 8 bits of the 32 bit word (the ninth bit is set), it was just an easy way to flag the end of the midi event while still transmitting a null character. Hope this helps. Thanks for watching!

  • @kryhavoc
    @kryhavoc Před 6 dny

    65 missed calls...

    • @LifewithDavid1
      @LifewithDavid1 Před 6 dny

      And 100% of them were spam. Thanks for watching!

  • @prestonashworthmusic

    Great work, thank you.

  • @radrico9876
    @radrico9876 Před 9 dny

    Hey Dave. I was attempting this wd40 fix and unfortunately it didn't work. I stumbled upon your video where you explained HOW the pressure worked. Mine is too low and dropped. You explained it so well @ 4:10 . I guess i have to get a new chair, but I really do appreciate the knowledge and explanation. Thank you!

    • @LifewithDavid1
      @LifewithDavid1 Před 8 dny

      You might be able to salvage the chair by replacing the cylinder. Thanks for watching and good luck!

  • @horstlinde2001
    @horstlinde2001 Před 9 dny

    After a weekend with the cylinder lowered and the chair upside down the chair seems to be fixed. Thank you very much!

  • @CptNoms
    @CptNoms Před 11 dny

    Dang man you out here saving people money thank you.

    • @LifewithDavid1
      @LifewithDavid1 Před 11 dny

      Fantastic! That's what I love to do, save people money. Thanks for watching!

  • @mohahary7410
    @mohahary7410 Před 12 dny

    Thank you David. We can use for example raspberry pico for object detection in real time. For example we use PIO to transfer data between camera and one core of raspberry pico pico and the other core well be used to run machine learning Model. Is that feasible??

    • @LifewithDavid1
      @LifewithDavid1 Před 12 dny

      That's very feasible as long as the Pico has enough computing power and memory for your application. In fact, you could use PIO with DMA to transfer the data from the camera into memory without using any core resources. Then you would have both cores available for machine learning. Sounds interesting. Good luck!

  • @larryguo3254
    @larryguo3254 Před 13 dny

    This video was very informative. But more than that, I loved the early late 80's - early 90's aesthetic of it. The intonation of the narration, the music, and the general instructional video quality of it, absolutely perfect.

    • @LifewithDavid1
      @LifewithDavid1 Před 12 dny

      Glad you enjoyed it! The mid 80's was when I made my first training video; I guess I haven't changed much since then. LOL. Thanks for watching!

  • @sveinarsandvin6418
    @sveinarsandvin6418 Před 13 dny

    Thank You. You are the best. This might be exactly what i need for my hand held text radio.

    • @LifewithDavid1
      @LifewithDavid1 Před 13 dny

      You're welcome. It's always great when viewers can use this info for really creative projects! Let us know how it turns out. Thanks for watching!

  • @ValentinoRossFan46
    @ValentinoRossFan46 Před 14 dny

    Hardest part is getting the battery cable hole on that little nipple.

  • @haryoulimohamed3891
    @haryoulimohamed3891 Před 14 dny

    thank you david. When I use SM_CLK_FREQ=10,000 Hz, I get a distorted sine waveform. When I increase it to 125 MHz, I get an undistorted sine waveform. Could you please explain why this happens? knowing that in my case I did not add the capacitor and the amplifier.

    • @LifewithDavid1
      @LifewithDavid1 Před 14 dny

      When the state machine runs slowly (10 KHz); it can only output at the speed of the 10 KHz/the length of the PIO output loop. The faster the state machine runs, the faster you can output the data. The faster the data, the smoother the curve.

    • @haryoulimohamed3891
      @haryoulimohamed3891 Před 14 dny

      @@LifewithDavid1 Thank you for your answer. In ou PIO program we have just one instruction, tha means the output rate is 10Khz when the SM runs at 10 KH.But In your example, the state machine runs at 10 kHz, ensuring that the sine wave is not deformed in my example i get a deformed sine wave.

    • @LifewithDavid1
      @LifewithDavid1 Před 13 dny

      @@haryoulimohamed3891 In the video, I suggested that you run the state machine as fast as possible. Let's assume that you want to output a 10 KHz sine wave. You should have at least 16 samples per wave cycle (32 or 64 is much better). That means you need to run the state machine at least 160 KHz (16 * 10 KHz).

  • @martinbonfiore7871
    @martinbonfiore7871 Před 15 dny

    Great series! I am trying to understand a program that I found that uses IO_IRQ_BANK0 and I am not understanding. It seems to different and maybe powerful but why someone would use it is not clear. Any help or pointers to info would be greatly appreciated.

    • @LifewithDavid1
      @LifewithDavid1 Před 15 dny

      Bank 0 is the GPIO. IO_IRQ_BANK0 refers to NVIC interrupt #13 (table 80 of the RP2040 datasheet). Check out section 2.19.5.2. "Enable a GPIO interrupt" of the RP2040 datasheet to help understand how to use GPIO Interrupts. You would use GPIO interrupts so you don't always have to check the status of the GPIO. Instead, let the interrupt start an interrupt service routine when the GPIO changes state. Then the core can do something productive, like comprehending its navel, while waiting for a GPIO to fire. It does take a bit of head scratching to understand how to set up these interrupts. Good luck!

    • @martinbonfiore7871
      @martinbonfiore7871 Před 15 dny

      @@LifewithDavid1 Thanks!

  • @dgomes4464
    @dgomes4464 Před 16 dny

    So what exactly was the problem? TY David

    • @LifewithDavid1
      @LifewithDavid1 Před 15 dny

      I believe dirt contamination. These early high voltage charge pumps could get screwed up if there was a little current leakage in just the wrong place. It's kinda unsatisfying not to find a bad part; replace it; and then claim success; but that's what it is. Thanks for watching!

  • @elektron2kim666
    @elektron2kim666 Před 16 dny

    I just completed a DIY level shifting construct between a GPS and an M5Stack device/MMBasic Pico. I'm not sure about the raw data yet. I use another GPS with success on both, but I need a better quality on speed/positioning (speedometer idea) for something. The way I made it can test other GPS units, so I'm pleased. It's something like 10 jumper wires and whatnot with a lot of thinking. Without a lot of videos to watch it would not work for me.

    • @LifewithDavid1
      @LifewithDavid1 Před 15 dny

      It sounds really interesting! I like those kinds of projects the best; stuff that no one else has tried. Exercising the brain keeps one young, lol. Thanks for watching!

  • @DavidM2002
    @DavidM2002 Před 17 dny

    I took a short piece of PVC pipe, cut it in half length ways, and then clamped it over the chair's cylinder with a couple of hose clamps. ( I guess a couple of black zip ties would have been a bit more inconspicuous. ) I had to trim the length a couple of times but now my chair is mechanically fixed and nothing had to be disassembled / reassembled and no oil dripping on the floor.

    • @LifewithDavid1
      @LifewithDavid1 Před 16 dny

      That's good. My more recent video doesn't involve any disassembly or oil. It's very easy and may work for you of you ever want to restore adjustability to your chair. Thanks for watching.

  • @hypecustomz4608
    @hypecustomz4608 Před 19 dny

    what do i do if it doesn’t go up or down? just got a new leather office chair from a garage sale, everything works except the up & down, when i try to move the pedal to make it go up or down, it just wiggles a bit, but doesn’t let me move the pedal, hence not letting me the chair go up or down

    • @LifewithDavid1
      @LifewithDavid1 Před 19 dny

      It sounds like the lever isn't pressing on the valve button on the end of the cylinder. See my other chair video (in the description) for more info. The lever might be bent, or the lever pivot point might be dislodged. Good luck!

    • @hypecustomz4608
      @hypecustomz4608 Před 19 dny

      @@LifewithDavid1 i will check it out thanks!

    • @hypecustomz4608
      @hypecustomz4608 Před 15 dny

      @@LifewithDavid1 i opened up the chair, & lever is fine, the valve button doesn’t go down, i tried pressing down manually & it doesn’t go down

  • @SaiyanSerenityV
    @SaiyanSerenityV Před 19 dny

    Thank you SO MUCH for this video. I lost my job recently and there was no way I could afford a new chair or even a replacement valve, I tried this out and it worked like a charm

    • @LifewithDavid1
      @LifewithDavid1 Před 19 dny

      Glad I could help! I hope you get a new job that you like soon. Good luck!

  • @peterstansfeld11
    @peterstansfeld11 Před 19 dny

    Hi David. I have watched and enjoyed all of your RP2040 related content, so thank you very much for that. My only suggestion would be to treat yourself to a $12 Raspberry Pi Debug Probe. I find that using it to program the Pico's RP2040 much more efficient than copying UF2 files, and it frees up the Pico's USB port. The Debug Probe also provides a UART serial port, so it needn't take up an additional USB port on your PC.

    • @LifewithDavid1
      @LifewithDavid1 Před 19 dny

      Thanks for the suggestion. I've been meaning to try it out; but I've been too lazy to try new things. Thanks for the kick in the pants.

    • @peterstansfeld11
      @peterstansfeld11 Před 18 dny

      @@LifewithDavid1 You're very welcome. And good luck with your VGA!

  • @ChromaticReflection
    @ChromaticReflection Před 20 dny

    Keep up the great stuff David. These deep dives are gold.

  • @sapiosuicide1552
    @sapiosuicide1552 Před 20 dny

    I'm your biggest fan this stuff is amazing this is exactly what I needed

  • @OnstreamGaming
    @OnstreamGaming Před 21 dnem

    Thank you so much , it helped

  • @derekchristenson5711
    @derekchristenson5711 Před 22 dny

    What a fascinating device, especially for being made mostly from plastic!

    • @LifewithDavid1
      @LifewithDavid1 Před 20 dny

      It is very cool. Thanks for the comment and for watching!

  • @kamilmensik6521
    @kamilmensik6521 Před 23 dny

    Hello, love the series, just wanted to ask, whether you are planning to release a video on debugging using another pico or the debug probe without the SDK. Tried to find it somewhere on the internet but to no avail.. wondering whether it is even possible though. :(

    • @LifewithDavid1
      @LifewithDavid1 Před 20 dny

      Thank you. I haven't tried to use the Pico probe even with the SDK, so I don't know if it is possible. That's why I developed my own troubleshooting subroutines.

  • @haryoulimohamed3891
    @haryoulimohamed3891 Před 24 dny

    thank you david. i have a project real time signal processing(audio) with pio and DAC 8 bits. can you suggest me what can i do please

    • @LifewithDavid1
      @LifewithDavid1 Před 20 dny

      I added a DAC to the Pico in my DOOM video. I think that should work well for your application. You could use both cores; one for the signal processing, and one to handle the interface between memory and the PIO. DMA can help. My most recent video does a bare metal DMA. Good luck!

    • @haryoulimohamed3891
      @haryoulimohamed3891 Před 16 dny

      @@LifewithDavid1 Thank you. i want to use ADC with PIO and DAC 8 bits for data processing in real time .And don't know what i must do?? Can I use PIO for sampling analog signal??

    • @LifewithDavid1
      @LifewithDavid1 Před 16 dny

      @@haryoulimohamed3891 I would try using DMA to move the ADC data to a PIO FIFO. See section 4.9.2.5 of the RP2040 datasheet. Although this is not a beginner's project, if you have enough time to play, you should be able get the DMA to grab the ADC sample, then send it to PIO. You can use DREQ_ADC to control the pace of the DMA (500ksps) (see my most recent video and Table 119 of the datasheet). However, I don't know where you are going to do the signal processing. If it is one of the cores; then you may want to send it to a memory location directly instead of PIO. Then you can modify the data-steam as desired and then send it to PIO to output to a DAC. Although I haven't addressed this problem specifically, hopefully there is enough information in my 36+ videos on the RP2040 to give you some help. Good luck!

    • @haryoulimohamed3891
      @haryoulimohamed3891 Před 15 dny

      @@LifewithDavid1 "Thank you for your answer. Can I use PIO for data processing to reduce the latency, such as implementing a low-pass filter with PIO? Is that feasible?

    • @LifewithDavid1
      @LifewithDavid1 Před 15 dny

      @@haryoulimohamed3891 Probably not; but it depends how clever you are. Check out The PIO Chronicles, Episode 1-5. There are only 9 instructions, and none of them are logical (except a version of the jump command). No arithmetic. PIO is used to move data between the RP2040 and the outside world. But you should have no problem keeping up with the ADC (500ksps max speed) with the main core. It will work if you can do your filtering in under 250 clock cycles on one of the cores. Program in C (if you've got a lot of slop) or assembly (if timing is tight). Use DMA to move data from the ADC to the core. Manipulate the data in the core, and then use PIO to send the manipulated data from the core to the DAC, Check out my PIO and bare metal videos. That should bring you up to speed.

  • @junebuggy1967
    @junebuggy1967 Před 25 dny

    Hello David! Have you ever replaced the igniter on your N300 refrigerator? If so, do you have a video on how to do it? I can't find anything on CZcams that explains how to do this. Thanks

    • @LifewithDavid1
      @LifewithDavid1 Před 24 dny

      I'm sorry, but I have not. I checked the links to the service and parts manuals in the description and found that they no longer worked. However, I had downloaded the manuals in October 2021, so I reposted them to my Github site this morning. Please check the new links in the description for these manuals. Perhaps they will help you. PLEASE NOTE: Guarantees to the accuracy of these documents are neither offered nor implied.

    • @junebuggy1967
      @junebuggy1967 Před 24 dny

      @LifewithDavid1 Thanks so much for your reply. I will look at the links. I will give it my best shot to figure out how to change the igniter.

  • @davannaleah
    @davannaleah Před 25 dny

    I had one when I was 12. I live in Australia and saw them advertised on the back of an American comic book and thought there was no way to get one here way back in the 60's until a school friend told me a store in the city was importing them. I begged my dad to buy me one and it set me up, literally, for the rest of my life, becoming an engineer and specialising in software engineering my whole working life. Unfortunately I got rid of it when I thought my Apple II would be all I would ever need... And I have regretted that decision ever since. Several years ago I decided to write a simulator for the Digicomp I on a windows PC. I was surprised that I could remember exactly how it worked and had the program running old Digicomp I programs perfectly.

    • @LifewithDavid1
      @LifewithDavid1 Před 25 dny

      That's a great story! It affected my life and career similarly. In fact, I believe (from the comments I've been getting), that there are many of us that became hooked on computers due to the DigiComp. Thanks for sharing!

  • @johnwayne8114
    @johnwayne8114 Před 27 dny

    Great video, didn't expect to find one so detailed as there's not much info on the subject. Mine has a different problem, quite the opposite of what you usually see: i like to actually keep it low, but everytime i leave it alone it springs back to the maximum extended position. What do you think about that?

    • @LifewithDavid1
      @LifewithDavid1 Před 25 dny

      It's probably the same problem, leaking seals. Try the easy solution in my other office chair video that I have pinned in the comments. Good luck!

  • @bludolfin53
    @bludolfin53 Před 27 dny

    Hi David .. I used the method by just turning it upside down. I left it over night. I used my whole body weight on the seat to bring the chair down. It worked!!! I did it this way cause I don't have the strength to use my hands. Thank you so much for your video 😊.

    • @LifewithDavid1
      @LifewithDavid1 Před 25 dny

      Great tip! It is a little awkward and difficult to push it down when upside down.

  • @carlhardy364
    @carlhardy364 Před 28 dny

    Thanks for the info. I am using Pinnacle 23 and have been thinking about an upgrade.

  • @GoonerRrrr
    @GoonerRrrr Před 28 dny

    Wow, I appreciate your time and effort to like and reply all the comments.

    • @LifewithDavid1
      @LifewithDavid1 Před 28 dny

      Thank you. It may take me a couple days, but I do try to get back to everyone. Thanks for watching!

  • @Michael-fw5ef
    @Michael-fw5ef Před 29 dny

    I use pinnacle 25 and it is so slow at rendering/exporting a video. I can't figure out how to solve this problem.

    • @LifewithDavid1
      @LifewithDavid1 Před 28 dny

      26 was a little faster. Try closing all other non-essential programs. Pinnacle is very memory intensive; more available memory will help. Good luck!

    • @Michael-fw5ef
      @Michael-fw5ef Před 28 dny

      @@LifewithDavid1 I realized the problem. I changed my acceleration engine to Intel, reduced the playback rate to 70, and I also realized I was trying to export videos which had protective Codec language in them. Now, when I try to export non-protected videos (normal videos), the exporting is SUPER FAST.

    • @LifewithDavid1
      @LifewithDavid1 Před 28 dny

      @@Michael-fw5ef That's great! I'll have to try that myself. Thanks for sharing!

  • @porte3530
    @porte3530 Před 29 dny

    so, you can't flash it directly, bypassing the bootloader??

    • @LifewithDavid1
      @LifewithDavid1 Před 28 dny

      Check out BMA Chapter 6. There i discuss the bootloader. I'm still using the bootloader, but I think there is a way to use the PicoProbe to bypass the bootloader process.

  • @ralphlenardrogel5008
    @ralphlenardrogel5008 Před měsícem

    Hi David, I follow all your steps and I already emailed Hantek. However, the device still unresponsive on all buttons so I cannot update the firmware, any tips? Thank you.

    • @LifewithDavid1
      @LifewithDavid1 Před 28 dny

      Mine was completely unresponsive, but the steps I used got me going again. Hopefully Hantek will get back to you. Check out the links in the description for more information. Good luck!

  • @cirobermudez
    @cirobermudez Před měsícem

    Incredible video, thank you for making these kinds of videos where you share the journey you take when learning something new.

  • @lanak5578
    @lanak5578 Před měsícem

    Hi David. I have opposite problem. It’s not sinking it’s rising by itself. What can I do?

    • @LifewithDavid1
      @LifewithDavid1 Před 28 dny

      I'm assuming it is rising when the chair is empty. If that's the case, check out my other video pinned to the top of description. Good luck!

    • @lanak5578
      @lanak5578 Před 27 dny

      Thank you

  • @stevevanwinkle4462
    @stevevanwinkle4462 Před měsícem

    Finally someone showed me the interupter circuit diagram. I thought the coil was in the valve body - like on my old home furnace system. Could not figure out what the interupter did. Now I know. Thanks for a great video.

  • @bludolfin53
    @bludolfin53 Před měsícem

    Thank you so much for sharing this video. I'm going to try these two methods. My problem is that the chair WON'T down. Now it's too high .

    • @LifewithDavid1
      @LifewithDavid1 Před 28 dny

      Make sure that the adjustment lever actually presses the button on the end of the cylinder. It it doesn't, then it won't go down. Good luck!

  • @shivas4207
    @shivas4207 Před měsícem

    big W mr David. thanks a lot

  • @patotspatotoy3169
    @patotspatotoy3169 Před měsícem

    this informative Thanks Sir David.

  • @kandysweethouseblackburn751

    You are best. Thank you

  • @user-dp8nz7qn8e
    @user-dp8nz7qn8e Před měsícem

    You method is very good and when I think about it I have to ask "Why did I not think of that ?"

    • @LifewithDavid1
      @LifewithDavid1 Před měsícem

      I actually thought that too when I noticed it. Thanks for watching!

  • @davidchampion9548
    @davidchampion9548 Před měsícem

    Awesome instructions. Thank you David

  • @phillipneal8194
    @phillipneal8194 Před měsícem

    The rpi pico development environment needs lots of work. Lots !!

    • @LifewithDavid1
      @LifewithDavid1 Před měsícem

      I haven't used the Arduino IDE since I made this video; I really don't know if it has improved since then. Thanks for watching!

  • @bitlong4669
    @bitlong4669 Před měsícem

    This is awesome!!