Thanks for the nice explanation - that helps a lot.
Currently I am working with a wheeled robot that uses a Mega 2560 for control, and I update its firmware 'over the air' using a Pololu Wixel pair configured as a serial-over-RF pipe. The Wixel shows up as a COM port on my Win10 box, so I simply select that port in my development IDE (Visual Studio Community Edition with Micro Visual Arduino IDE extension) and do a compile-with-upload (F5). The rest is completely transparent. I have used this technique for several years and it works great.
I would like to replace the Mega 2560 controller with a Teensy product (probably a T4.x), but I want to retain the convenience of seamless OTA firmware updates - thus the current push to understand and utilize your cool FlasherX package.
Currently I have been able to do the firmware update over wired serial (USB port) with a T3.5 using a 'Flasher Demo' project that incorporates the FlasherX features. Then I created a Windows console app and figured out how to call it using the post-build command features supported by the Visual Micro extension. Right now the console app doesn't do anything but echo the arguments it receives, and the post-build commands don't do anything but call the console app with the current project path as a string argument, but the plan is to have the console app follow the same workflow you described above.
I still have a lot of work to do to make this process as convenient as my current update process with the Wixel/Arduino combination.
For instance, I still don't know (yet) what RF link to use.
In a previous experiment I figured out how to use a HC-05 Bluetooth module for serial transfers, so that's a definite possibility. In another experiment I had figured out how to use an
ESP32 DevKitC as a serial bridge using a wireless ethernet connection, so that's a possibility as well. I could also use my current Wixel pair setup, but this might be a bit more complicated. Currently I use the Wixel Shield product from Pololu which is very convenient with the Mega 2560, so I'd probably have to build a custom PCB to match up with the Teensy board layout.
Also I don't yet know how to extract the currently selected port number from the VS2019 setup so I can pass that to the console app, which in turn will use that port to communicate with the Teensy on the other end of the link.
So, that's where I am. Not there yet by a long shot, but I'm having fun and learning a lot
One last thing. As you can see from the embedded links above, I document my projects on my 'Paynter's Palace' blog site. I do this because it might help others with the same issues, and because at my age my memory is so bad that I can't remember what I had for breakfast, let alone the details of a project from years ago. In any case, I plan to create at least one post documenting the effort to achieve seamless Teensy OTA, and I would like to use material from this forum thread. Would you have any objection if I use your posts (with proper attribution of course) in my blog article(s)?
Frank