Versio dev workflow

Hi!

I’m learning C++ development for Daisy and I want to experiment with a Versio. I already have my first custom firmware (build ok), but I’m not very familiar with VS Code, Cortex Debug, debug probes, etc.

I have a few questions about the recommended development workflow with Versio:

  1. Powering:
    Can I safely power my Versio using the Eurorack ±12V PSU and simultaneously plug the USB port into my computer?
    In other words, is double power (USB + Eurorack) safe for the module?

  2. Flashing firmware:
    Do I really need to power down or remove the Versio from the rack before flashing a new firmware, or is hot-plugging / in-rack flashing OK?

  3. Debugging:
    Is it possible to run my custom firmware on the Versio while debugging/printing variables in real time over USB (e.g. serial output or SWD)?
    If so, what tools should I use and why (Cortex Debug? Serial over USB? SWD?) and how should I configure VS Code for that?

  4. Best workflow:
    What is the recommended / common workflow for firmware development on a Versio using VS Code?

Thanks a lot for any guidance!

Hello!

I recommend checking out this document (https://daisy.audio/tutorials/cpp-dev-env/) for getting started with Daisy and C++.

And you should be able to plug USB to the Versio that’s connected to the eurorack power supply. Daisy chooses whichever source that’s providing more power.

Hope this helps :slight_smile:

1 Like

Thank you !
I understand. I haven’t a debug probe, but serial port print could be fine.

But I have a problem :
hw.StartLog() & hw.PrintLine() doesn’t exist in #include “daisy_versio.h”…
Only on “daisy_seed.h”

How to do it ?

Thanks for your help :folded_hands:

The DaisyVersio class contains a DaisySeed member called ‘seed’.

So, if you have your Versio object defined as:

DaisyVersio hw;

You can access the seed features with ‘hw.seed’, such as:

hw.seed.PrintLine()

1 Like

Thank you !