C++ Debugging for the ESP32 in Visual Studio

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 พ.ย. 2021
  • Dave shows you everything you need to know to get up and running quickly with source-level C/C++ debugging on the Arduino platform using an ESP32 chip. Access call stacks, breakpoints, local variables, watches, and more.
    Buy the Wrover Kit on Amazon: amzn.to/3x3yA1y
    FTDI Drivers for WROVER-KIT: ftdichip.com/drivers/vcp-driv...
    Zadig download: zadig.akeo.ie/
    [My bad for calling it 'Zadiag' in the video - whoops!]
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 150

  • @dmzar
    @dmzar 2 ปีที่แล้ว +82

    Love the car joke. Heard it in a slightly different format, but I like yours better.
    Now, a mathematician, an astronomer and an engineer were all sentenced to death by guillotine many years back. Each was given the opportunity to be face up or down for the act. The mathematician was first and wanted to be face down so as to not see his fate coming. As the blade was coming down it stopped inches from his neck and, as is tradition, this was seen as divine intervention and his life was spared.
    Next up was the astronomer who wanted to look upwards to the heavens and was placed, thusly. Again, the blade dropped but stopped inches from his neck and his life was also spared.
    Finally the engineer; He wished to be placed face up and as the blade was raised up to its starting position he pointed up and said "hey, I think I see your problem."

    • @flyers2000
      @flyers2000 2 ปีที่แล้ว +9

      both arent as good as the version i heard:
      A mechanical engineer, chemical engineer and software engineer are riding in a car and the engine fails.
      The mechanical says i can rebuild the engine. The chemical engineer says i can create a better motor based on nuclear fusion. The software engineer says have we tried getting out and back in the car?

  • @tlhIngan
    @tlhIngan 2 ปีที่แล้ว +42

    For watchdogs, I love the terminology I heard once on how to use a watchdog. The watchdog requires you to "pet" it periodically, like you would a real dog. You keep petting it and it stays happy. If you fail to pet it in time, then it reacts with either a "bark" (generates an interrupt), or a "bite" (resets the system). (The on-chip watchdog timers were configurable on whether they should bark or bite).

    • @sscherten
      @sscherten 2 ปีที่แล้ว +1

      ,

    • @dennisw8263
      @dennisw8263 ปีที่แล้ว

      I saw a Pioneer stereo schematic that had an IC with a "WatchDog" input pin. It came from an IC with a "DogFood" output pin!

    • @VeritasEtAequitas
      @VeritasEtAequitas ปีที่แล้ว

      Nobody says "pet". It's "feed" or worse

  • @Drew_TheRoadLessTraveled
    @Drew_TheRoadLessTraveled 2 ปีที่แล้ว +8

    I was inspired after direct chip programing on KK2 boards for quad control systems with spectrum chanal hopping (DSM2). Debugging (5 days) was done with a 2 line display and audio beeps. Hence I have NO friends to share this video with. I am always inspired by your level of conferdance Dave.
    "To the novice there is many choices, To the Expert there is but few".

  • @bradprimeaux8443
    @bradprimeaux8443 2 ปีที่แล้ว +5

    I've been looking for a good video about how to do this for a long time. Thanks again Dave.

  • @michaelhubble6252
    @michaelhubble6252 2 ปีที่แล้ว +6

    Thanks Dave. You have inspired me to have another go at debugging with the esp32. Bye bye Serial.print("I'm here")

  • @mugur52
    @mugur52 2 ปีที่แล้ว +7

    More ESP videos please! I really enjoy them!

  • @HopWorksET
    @HopWorksET ปีที่แล้ว +2

    Thank you again Dave for a great, nicely made video that helps open a number of doors for peeps like me that love to do this sort of thing. I went from PlatformIO to ESP-IDF in hopes to debug my ESP32-S3-DEVKITC-1 v1.1 and failed miserably a number of times. I even tried using Espressif's IDE and failed some more. This failed crawl down a number of related rabbit holes took so long that I cannot even remember why I ventured away from PlatformIO in the first place. So I will go back to PlatformIO and try it with the latest Wrover Kit, the ESP-WROVER-KIT-VE I just ordered. This will help me learn all the settings and technics for debugging at least, and maybe help me get the S3 working under the same environment. Anyway, thank you sir for another awesome contribution!! I appreciate it!

  • @Richardincancale
    @Richardincancale 2 ปีที่แล้ว +8

    It’s wonderful to behold! I started computing in the days of cards and paper tape editing, turnaround times in hours! Debugging often through dump cracking - quite a pleasure although consumed too many trees! Using DDT for assembler debugging on PDP11/RSX was a great step forward, although tricky for real-time multithreaded stuff. This is just magic!

    • @dave_dennis
      @dave_dennis 2 ปีที่แล้ว +2

      We got around long turnarounds when running batch by setting up a cooperative. My buddies and I would take the Job Cards we were given and duplicate them with one exception. And methodical variation in until we discovered which perforation set the job priority. Toward the end of the semester we’d get out spool out in less than a minute while others had waited as much as 24 hours. You had to be discreet and make sure no one saw you submit your job and then walk strait over and pickup your output.
      Today you’d probably get kicked out of school for something like this. But in the early 80’s we just thought we were being smart. Good times.

    • @pablot5809
      @pablot5809 2 ปีที่แล้ว +2

      That's nothing, in the really old times debugging often included spraying the computer cabinets with insecticide to actually kill the bugs. That's why that debugger was called "DDT" in the first place 😂

    • @pablot5809
      @pablot5809 2 ปีที่แล้ว +2

      Jokes aside, certainly that was the time to be into computing, with everything still to be made and with that aura of magic around it.

  • @OzzMazz
    @OzzMazz 2 ปีที่แล้ว +1

    I saw a post on TH-cam regarding building an ISS tracker. The project used an STM microprocessor. Whilst an overview was given, details were not. After struggling for some time, I bit the bullet and used the debugger and discovered that some modules weren't being compiled correctly and had to be forced to be compiled which of course solved the problem.
    Without the debugger I think I would have ditched the project and written off the time.
    Thanks goodness for the Debugger!

  • @anekroth
    @anekroth 11 หลายเดือนก่อน +1

    Thanks for the tip Dave, this is extremely relevant to a project that I'm currently working on. I think I may just have to get one of those ESP-WROVER-KIT-VE boards to dev my project on.

  • @PretzelPup
    @PretzelPup 2 ปีที่แล้ว

    Finally got my kit after a few weeks, and set it up exactly like your video. Works 100%. Bit of a scare with the zadiag program, as it timed out after 5 minutes and said it failed, but still installed the driver. BTW, I have an I7 8th gen ACER notebook for my home unit, and it took 9.75 sec to compile. Thanks!

  • @GreenCyberEng
    @GreenCyberEng ปีที่แล้ว

    Thank you, Dave,
    compare with other people's videos on this matter with so much complexity yours worked on my case with ease 🙏

  • @MrJugsstein
    @MrJugsstein 2 ปีที่แล้ว

    I don't know where they are. I just enjoy you explaining stuff. (Got the mugs ordered but the freight to Australia sux)
    Thanks for your time and effort
    Will

  • @MrPhred
    @MrPhred 2 ปีที่แล้ว +8

    "If you're -not- curious, I'm gonna tell you anyway..." Dave, you constantly crack me up. (By the way - I loved your book.)

  • @Username9182736451
    @Username9182736451 2 ปีที่แล้ว +1

    Thanks Dave! My company sells test systems. Our systems have lots of watchdogs in shared memory which are basically counters to record the amount of time since communication with something was successful. Thus we "reset" them to 0 with our device control programs and the main test executive program increments the counters. If the counters get too high, because the device froze or a program crashed, we shut the system down.

  • @dsuess
    @dsuess 2 ปีที่แล้ว

    ThANK YOU!! Serious, Dave, thank you for making this video!

  • @Kingpin3k
    @Kingpin3k 2 ปีที่แล้ว

    I just wanted to start development on the ESP32 for an homeproject. What a coincidence! :)
    Great video thanks alot.

  • @djmips
    @djmips 2 ปีที่แล้ว +2

    Lol. Love the Friendly Giant bit at the end! You must be Canadian! 🍁

  • @dukathneu
    @dukathneu ปีที่แล้ว

    Finally it works for me. You saved me a ton of time. Thanks. My compilation time was 4,47 sec. with Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz 1.50 GHz, 16GB RAM.
    ctrl-shift-b didn't work for me. Instead I used the Build Button on the PlatformIO sideboard.

  • @christopherguy1217
    @christopherguy1217 2 ปีที่แล้ว +5

    Thanks for this, being a professional software developer I always found the Arduino IDE to be frustratingly inadequate and it hides too many details that I wanted to see. I will try it again using a proper development setup.

    • @tookitogo
      @tookitogo 2 ปีที่แล้ว +1

      I recently made the switch from Arduino to PlatformIO in VS Code and, after figuring out how it thinks, it’s been miraculous. So much more efficient in every way. (Literally the only thing that takes more time is trying out library examples, since PlatformIO requires you to install the library into a project, unlike Arduino’s global library installation. Small price to pay for not having library conflict headaches.)

    • @james2396
      @james2396 ปีที่แล้ว +1

      @@tookitogo Same here, I love platformIO with VScode, it’s just so much better than the arduino IDE but still with the nice abstractions the arduino framework provides!

    • @tookitogo
      @tookitogo ปีที่แล้ว

      @@james2396 Exactly!!! My only regret is not switching sooner.

  • @robatoto
    @robatoto 2 ปีที่แล้ว +9

    When debugging the ESP32, keep in mind that you can only set 2 breakpoints at any time. If you single step, one is needed for that. So you are left with a single breakpoint. If you set more breakpoints, they will be silently ignored. This limitation does not exist on desktop systems as they run code from RAM and can modify the code to create breakpoints. MCUs other than the ESP32 usually offer 6 or 8 hardware breakpoints.

    • @DavesGarage
      @DavesGarage  2 ปีที่แล้ว +1

      Thanks, I did not know that! I assumed it would inject break instructions into RAM, not just be limited by hardware breakpoints. Why can they NOT set a breakpoint in code by modifying it?

    • @robatoto
      @robatoto 2 ปีที่แล้ว +1

      @@DavesGarage Since the code is in flash memory, an entire flash page would need to be written. And it would need to be undone when debugging ends. Otherwise a non-functional device would be left behind. If I‘m not mistaken, Segger‘s JLink debugger does it for certain MCUs. But the FTDI/OpenOCD combination sadly does not.

    • @fuzzy1dk
      @fuzzy1dk 2 ปีที่แล้ว

      @@robatoto afaik the ESP32 only has ROM and RAM, the flash is external, so code must run from RAM either copied from flash at boot or cached from flash to not make it too slow

    • @robatoto
      @robatoto 2 ปีที่แล้ว

      @@fuzzy1dk Yes, flash memory is external. But that‘s where your code resides. And it‘s directly run from there except for interrupt handlers marked with IRAM_ATTR, which are copied to RAM.

    • @fuzzy1dk
      @fuzzy1dk 2 ปีที่แล้ว

      @@robatoto the code in flash is also run from RAM it is just copied there automatically when needed. running directly from flash would be very slow

  • @TheRalliowiec
    @TheRalliowiec 2 ปีที่แล้ว +2

    Dave, can you do a video on what a driver is? Along with a code example?

  • @foxabilo
    @foxabilo 2 ปีที่แล้ว +1

    So THIS is why I sold all my ebay stock of ESP-Prog boards! Nice ONE!

  • @buffplums
    @buffplums หลายเดือนก่อน

    As someone who only really has microchip experience I’m just getting into ESP32 and it’s a bit of a learning curve. I’m used to programming in assembler on microchip products but am getting back into C which I haven’t used for many many years and using the Arduino IDE z which is really nice and gentle getting me into a new SoC.
    I’ve got platformIO and Studio code setup and need to switch to it …. It’s just all of the tools that is a bit of a nightmare to find my way around.

  • @Likeaudio
    @Likeaudio 2 ปีที่แล้ว

    I've been awaiting such a video...

  • @wliterow
    @wliterow ปีที่แล้ว

    thanks for the superb debugging lecture

  • @ran1x
    @ran1x 2 ปีที่แล้ว

    Dave thanks for all your content, are you planning creating same video for raspberry pi ?

  • @russsuter6858
    @russsuter6858 2 ปีที่แล้ว +2

    For a fair comparison, I started encoding some 4k video in OBS Studio and run a couple of additional tasks... 3.93 seconds. Also, you're my new hero, Dave!

  • @tootalldan5702
    @tootalldan5702 2 ปีที่แล้ว +1

    Great video Dave. Now can you do a video on a color printer and allow printing in black with a missing color cartridge? Right to repair with a practical problem.

  • @G5STU
    @G5STU ปีที่แล้ว +1

    For anyone with board = esp32-s3-devkitc-1 (or similar) : you can get source level debugging just by connecting a second usb cable from the pc to the board and adding these settings to platformio.ini
    debug_tool = esp-builtin
    debug_init_break = tbreak setup
    debug_speed = 5000
    I've just spent the weekend trying to get an eps-prog board working with one of my ESP32-S3s and eventually realised the board I have has built in JTAG debugging !!! Not sure how this method compares to Dave's, I've only just got it working and am yet to use it in anger, but it's hitting breakpoints I set (eventually).

  • @davidhalliday7776
    @davidhalliday7776 2 ปีที่แล้ว

    Brilliant! I guess I’m one of those rare people looking for this.

  • @Pikalops
    @Pikalops 2 ปีที่แล้ว

    You appeared on my feed about a month ago, maybe 2, at this point I'm fairly sure I'd watch anything you put out. It's always a joy to listen to someone who has a passion for what they do, the high quality level is just a bonus! Keep up the amazing work, I look forward to seeing more :D

  • @MrMitdac01
    @MrMitdac01 2 ปีที่แล้ว

    Video is so awesome , Could you show some example about Timer, task 1, 2,3 in same time, Thank you so much Sir

  • @scoates
    @scoates 2 ปีที่แล้ว +1

    Nice work on the Friendly Giant setup. 👍Next up: start videos by crawling through a log, or checking the tickle trunk!

    • @DavesGarage
      @DavesGarage  2 ปีที่แล้ว +1

      Twit Ta Wee Ta Wit Ta Woo!

  • @WibovanNoort
    @WibovanNoort 2 ปีที่แล้ว

    Nice, tried this about a year ago with a separate FTDI board, succeeded only once to get it to work. After that, endless mucking about with the driver... It seems that platform IO has made this a bit easier.

    • @DavesGarage
      @DavesGarage  2 ปีที่แล้ว

      Indeed... same here. I could get it to work once, maybe. Now it's pretty solid!

  • @arjenhiemstra
    @arjenhiemstra 2 ปีที่แล้ว

    Yes! Brilliant video, finally a real solution to debug my esp32 projects! great! Ordered a board, diving in deep. But... on MacOS, JTAG seems not to work. I know you are, besides Windwos and Linux, a Mac user as well, any luck getting this working on MacOS Monterey using the ESP-WROVER kit and PlatformIO?

    • @arjenhiemstra
      @arjenhiemstra 2 ปีที่แล้ว +1

      Never mind.... for anyone bumping into this issue; remove the FTDI drivers and then just reboot (!!!) the system grmbl. Everything is working now, going in deeeeper :P

  • @stathiskapnidis9389
    @stathiskapnidis9389 2 ปีที่แล้ว +1

    can you do an episode on the esp32 wifi NINA? It's inbuilt into the arduino uno wifi rev2 but seems to work different than other esp32 chips and isn't compatitble with some software

  • @RedneckTech
    @RedneckTech 2 ปีที่แล้ว

    This is awesome, thanks so much!!!

  • @JamesPotts
    @JamesPotts 2 ปีที่แล้ว +4

    At work, I think we've always pet the watchdog. Can't recall hearing anything else.

    • @selectstriker2
      @selectstriker2 2 ปีที่แล้ว

      We've always use the phrase "pet the watchdog" as well

  • @donvukovic7440
    @donvukovic7440 2 ปีที่แล้ว

    Will you make a video showing the ESP-PROG ?

  • @thembijan
    @thembijan 2 ปีที่แล้ว +1

    Thanks for the video

  • @jstro-hobbytech
    @jstro-hobbytech 2 ปีที่แล้ว +1

    I think it's cool and as a hobbyist programmer/ maker it interests me but not 100 cad interests when I'm on a tight budget.

  • @Bartisim0
    @Bartisim0 2 ปีที่แล้ว

    Great video. Thanks!

  • @bennguyen1313
    @bennguyen1313 2 ปีที่แล้ว +1

    The ESP32-C3 (Single Risc-V Core) shows it has JTAG/USB support, but can it also be debugged using PlatformIO and even VSCode?
    Or would the C3 need to be flashed with something that enables SWD debugging?
    BTW, in terms of debugging, any thoughts between VSCode and Visual Studio + VisualGDB ?

  • @ingenierocristian
    @ingenierocristian 5 หลายเดือนก่อน

    LOVE the video, but where can I find more info?

  • @lanatrzczka
    @lanatrzczka 2 ปีที่แล้ว +3

    Dave can you do a video on Visual Studio? Likes, dislikes, maybe build a small exe with it and review the process.

  • @YonatanAvhar
    @YonatanAvhar 2 ปีที่แล้ว +2

    I did the same things you did to create and build the empty project. It took 3.72s on my Arch Linux (btw) machine, with an i5 8400. Although I wasn't encoding 4K video. Is the 4K encoding that heavy to make your compile time slower than my i5 could do? Or is it Windows/Linux overhead differences?

  • @icorper
    @icorper 2 ปีที่แล้ว

    Can you explain the chairs at the end, seen it many time but I haven't worked it out yet

  • @danabooth5859
    @danabooth5859 2 ปีที่แล้ว +2

    I wonder if Dave has ever used Forth, that language was a plug in to the c64, his first computer. I loved Forth, I felt all stuck up 'cause I wasn't using Basic.

    • @nezbrun872
      @nezbrun872 2 ปีที่แล้ว

      I used to love Forth but wow was it difficult to teach others. However, I was coming at from a raw hex machine language background.

    • @2xsaiko
      @2xsaiko 2 ปีที่แล้ว

      Forth is awesome!

  • @bayliner4387
    @bayliner4387 5 หลายเดือนก่อน

    Great job on the video, Thank you.
    I find I need to get things lined up (just right) and from what I can see I can only debug what is inside or called from loop() and not setup(). Perhaps I need to work on my setup.
    On or about time index 11:42 you display you platform.ini. How much of that code is required for the debugger?
    build_flags = -DWROVERKIT=1
    -DDEBUG = 1
    -DUSE_SCREEN = 1
    -DUSE_PSRAM=0
    -DBOARD_HAS_PSRAM=0
    -std=gnu++17
    -Ofast
    -mfix-esp32-psram-cache-issue
    build_type = debug
    debug_tool = ftdi
    upload_protocol = ftdi
    debug_init_break =

  • @pverbakel
    @pverbakel 2 ปีที่แล้ว

    Thanks for this. Very niche, but very interesting. At time of writing 41000 views. Some theaters have to do with less viewers.

  • @aelim68
    @aelim68 2 ปีที่แล้ว

    Love this!

  • @david0x00
    @david0x00 2 ปีที่แล้ว +1

    I suppose we can't really setup the classic visual studio for this... can you explain why code instead of the standard visual studio?

    • @noweare1
      @noweare1 2 ปีที่แล้ว

      probably because code runs on all operating systems

    • @tookitogo
      @tookitogo 2 ปีที่แล้ว

      PlatformIO, which is the actual IDE in use here (using VS Code as a host and text editor) doesn’t run in the “big” visual studio. There is a commercial extension called Visual Micro for visual studio, but you can also run it for free in Atmel Studio (now Microchip Studio).

  • @nathantron
    @nathantron ปีที่แล้ว +1

    I'm running into issues using the debugger with my esp... and whcih VCP Driver should I be downloading.. I tried the zadig, but nothing shows up. So I guess I must already have that because I can upload to the ESP, just no debugging is working.. :\ I can't seem to get ftdi working either.

  • @GarryI449
    @GarryI449 2 ปีที่แล้ว +3

    I have zero people I know that would be interested in this. When they ask what I do (make shit move through programming) I usually respond, “IT type stuff!” Shuts em up and I get to listen to how many cows were born in the spring…

    • @GarryI449
      @GarryI449 2 ปีที่แล้ว

      Sorry Dave, forgot to mention, great video. 🤙

  • @keithsummers1889
    @keithsummers1889 2 ปีที่แล้ว

    Can we debug with the IDF in just the same way? I just tossed out PIO in favor of all the naturally supported build tools/processes.

    • @DavesGarage
      @DavesGarage  2 ปีที่แล้ว

      I would hope the IDF provides SOME benefit, otherwise PIO wins on pretty much all counts... but not sure.

  • @dieboodskapper
    @dieboodskapper 2 ปีที่แล้ว

    how difficult would it be to do an Arduino style platform IO for.....a quad core (possibly a million cores for that matter) using the the Raspberry PiZero!!!!

  • @bayliner4387
    @bayliner4387 2 ปีที่แล้ว +1

    Whatever happened to the good old days of VB6 where you could code and debug at the same time.
    THANKS for this Dave

  • @bruinflight1
    @bruinflight1 2 ปีที่แล้ว

    Can you do a chat about the backdoor/exploit for the ESP32 please?

    • @DavesGarage
      @DavesGarage  2 ปีที่แล้ว

      Is there one? I didn't think the ESP32 had a security model at all, so it'd be weird!

    • @bruinflight1
      @bruinflight1 2 ปีที่แล้ว

      @@DavesGarage well I’m a noob but doing research on making a DiY home control system I found an article and subsequent company disclosure about some kind of exploit that can be leveraged by an attacker to deploy a permanent hack into the chip…

  • @sjoervanderploeg4340
    @sjoervanderploeg4340 2 ปีที่แล้ว +5

    Im on a R5 3600, lets see how fast it is! Ill load up prime95 in a VM to cause some load ;)

  • @LordHaehnchen
    @LordHaehnchen ปีที่แล้ว

    Thanks for this video. Im programming in Circuitpython. Do you think it would be possible as well?
    Coding without debugging is kind of a bummer, at a certain complexity of code.
    Or should i change language? I then would prefer RUST… Anybody with experience?

  • @TheMaddi96
    @TheMaddi96 9 หลายเดือนก่อน

    Where I learned, we used to feed the watchdog :D

  • @blackpawn8407
    @blackpawn8407 2 ปีที่แล้ว

    I have often heard form my collage prof
    " feed the watch dog b4 it barks" but from now i will use kick the watchdogs as it's even more funny to say 🤣😂😉
    Great Video Dave 👍....

  • @emaayan
    @emaayan ปีที่แล้ว

    What about compiler optimzation?

  • @reekt
    @reekt 2 ปีที่แล้ว +1

    The Error you saw with the USB LIB when he was connecting to the device for debugging is a bug in OpenOCD 0.10, which is what PlatfromIO is using (I guess). OpenOCD 0.11 is a newer version which doesnt have this bug. Just FYI.

    • @DavesGarage
      @DavesGarage  2 ปีที่แล้ว

      Thanks very much for following up on that! It was confusing an worrying me, and now I know!

  • @SauvikRoy
    @SauvikRoy 2 ปีที่แล้ว

    Great intro joke man! 😂👍

  • @B_dev
    @B_dev 2 ปีที่แล้ว +3

    funny how computers are supposedly the most deterministic things in existence but a programmer ALWAYS runs his programs twice minimum when something doesn't work

    • @nexovec
      @nexovec 2 ปีที่แล้ว +2

      Build, then clean build, just in case

  • @Dziaji
    @Dziaji 2 ปีที่แล้ว

    What happened at the end there?

  • @Zauviir
    @Zauviir 2 ปีที่แล้ว

    arduino build drag racing?

  • @DavidLindes
    @DavidLindes 2 ปีที่แล้ว +1

    12:42 I imagine you're catching some AdaFruit fans... I'm not on Discord, but they have one... maybe somewhere to post?

    • @user2C47
      @user2C47 2 ปีที่แล้ว +1

      The home automation community also tends to work with ESP32 (and ESP8266) a lot.

  • @Falcrist
    @Falcrist 2 ปีที่แล้ว

    You don't kick the watch dog.
    You have to "walk the watchdog" every so often, or it gets grumpy.

  • @MikelNaUsaCom
    @MikelNaUsaCom 2 ปีที่แล้ว

    nice =D

    • @MikelNaUsaCom
      @MikelNaUsaCom 2 ปีที่แล้ว

      After building my own CPU, I needed either a way to upload to RAM, or a console communicate with it... for now I'm just using the switches to program it, but that is much slower than some sort of keyboard interface... I was thinking of having an ESP32 web interface as, I believe the ESP32 is 5v logic... otherwise with a RaspPi I would have to do some 3.3V to 5 logic interfacing. (All of my homebrew CPU logic is 5v TTL) anyways... just something to keep me from getting bored, having a nice project to flex some electronics, and blow out a few leds. Not to mention that as a programmer it's always good to understand at least 1 level lower than where you work. I'm really a Computer Engineer by Degree, but work in software. Go figure.

  • @typingcat
    @typingcat 2 ปีที่แล้ว

    It never occurred to the first person who chose Plumber as his family name "What if some descendants of mine choose a different job than plumber"?

  • @rich1051414
    @rich1051414 8 หลายเดือนก่อน

    The programmer would push up the hill and do it again to make sure they can recreate the issue before trying to fix it.

  • @SupernovaSpence
    @SupernovaSpence 2 ปีที่แล้ว

    Get 1080 ti and just do hardware encoding if you don't already have a graphics card. :)

  • @rene0
    @rene0 2 ปีที่แล้ว +2

    Next up. Dave codes multi-thread multi-user on an stock MSX with 32kB banks swapped.. (/slaps self. Dave not intro retro computing. Still daydreaming)

  • @Xsses
    @Xsses 2 ปีที่แล้ว

    I don't get why STM32 is not popular. Their STLink debugger can be bought from Chinese men for $2, or on official cheap dev boards for $5. It works with every µC, not only dev units. It offers full debug including step-by-step, breakpoints, live checking registers values, and more. And it works without any hacks. Their HAL is also great. It is not as simple as Arduino (but still very simple), but way way way more powerful.

    • @iswm
      @iswm 2 ปีที่แล้ว

      They've become quite popular for use in digital eurorack modules. Still pretty niche in the grand scheme of things I guess, but at least some people have seen the light.

    • @Xsses
      @Xsses 2 ปีที่แล้ว

      @@iswm Yeah, ST is not as old as their competition, but their products are great and the internet could help them. (Also I am European, soo...)

    • @tookitogo
      @tookitogo 2 ปีที่แล้ว

      I’ve actually been really impressed by the Nucleo boards. They can be programmed in Arduino by adding the (official) board support from ST, but in PlatformIO, they’re already there, and the Nucleo boards’ integrated STlink works beautifully for both uploading and debugging. In PlatformIO, the Nucleo boards support Arduino, STMCube, and several other frameworks, making them drop-in upgrades for Arduino boards.

  • @TD-er
    @TD-er 2 ปีที่แล้ว

    You can call it "feed the watchdog".

  • @lenz03
    @lenz03 2 ปีที่แล้ว

    For me it takes about 10s. Ryzen 5 2600 - 16Gb Ram

  • @karljay7473
    @karljay7473 10 หลายเดือนก่อน

    What about Mac?

  • @brynyard
    @brynyard 2 ปีที่แล้ว +4

    "Today, we'll be using the lighter and snappier alternative known as VS Code"
    Ahem.... it is a bit indicative of modern bloatware when a source code editor written completely in JavaScript running inside a Web Browser (easily amassing 100's of MB of binary executable code) is referred to as the "lighter and snappier" alternative.
    But yeah, it is snappier than VS, but that tells more about how dog slow VS is than how fast VS Code is.

    • @DrakeDaraitis
      @DrakeDaraitis 2 ปีที่แล้ว

      Huh, last time I used VS (some time around 2016) it wasn’t that bad but then again we were writing pretty basic applications on it and those were compiled on server farms (VDIs).

    • @brynyard
      @brynyard 2 ปีที่แล้ว +1

      @@DrakeDaraitis It is a fair bit faster and snappier than Visual Studio, but that tells more about how slow VS is, and not how fast VS Code is.
      It is still 100's of Megs of binaries, and all logic is written in JavaScript, making Emacs look like a trivial calculator app in comparison (when we compare code size, not features mind you).

  •  2 ปีที่แล้ว

    7:40 --> fastest compiling in the wild west

  • @freman
    @freman 2 ปีที่แล้ว

    We "feed the watchdog"

  • @Porama6400
    @Porama6400 2 ปีที่แล้ว +1

    breakpoint should be a human right!

  • @MrVopt
    @MrVopt 2 ปีที่แล้ว

    I’ve always fed them.

  • @bradnoyes7955
    @bradnoyes7955 2 ปีที่แล้ว

    lol, we 'pet' the watchdog

  • @pRc1337
    @pRc1337 2 ปีที่แล้ว

    My machine (Ryzen 3600X, Gentoo Linux) takes just under 3 seconds to build the empty project

  • @Tomyb15
    @Tomyb15 2 ปีที่แล้ว

    I've done esp32 debugging with the esp-prog but single stepping is sooo sloooww

    • @Validole
      @Validole 2 ปีที่แล้ว

      It is bit banging JTAG on the FTDI serial chip over USB. A JLink EDU would probably be a faster and more reliable option for hobby work, but I don't know if anyone has gotten it to work on ESP32 jet

  • @stefankachaunov396
    @stefankachaunov396 2 ปีที่แล้ว

    I was gonna say "feed" the watchdog, but "pet" is even better 👍
    Mind you - I'm not even a dog person, but kicking the watchdog doesn't evoke a feeling of serene coding zen 😂

  • @forbiddenera
    @forbiddenera 2 ปีที่แล้ว +1

    It's Zadig not Zadiag...!

  • @user-pi5xz5je4y
    @user-pi5xz5je4y 2 ปีที่แล้ว +1

    *zadig

  • @irukard
    @irukard 2 ปีที่แล้ว

    Zadig not Zadiag :)

  • @hoegge
    @hoegge 2 ปีที่แล้ว

    Zadig - not Zadiag

  • @nexovec
    @nexovec 2 ปีที่แล้ว

    :D

  • @thomasvollmar7003
    @thomasvollmar7003 2 ปีที่แล้ว

    indefinable murmur

  • @irgski
    @irgski 2 ปีที่แล้ว

    “…steam-lessly transition…”???

  • @jessereiter328
    @jessereiter328 2 ปีที่แล้ว

    So when AI can do your job what will you do.
    When memory was very limited you had to manually remember all your addresses for your
    Hardware those wore the days.

  • @QuadDerrick
    @QuadDerrick 2 ปีที่แล้ว

    Former microsnuff employer ? Shame on you..

  • @benharriston2532
    @benharriston2532 2 ปีที่แล้ว

    i dont understand ....open source ......why are you trying to get people to go the other way....when took time and effort ....to make something that already works