I sorta understand why the COM port used by the Serial monitor "drops out" at the beginning of an upload (board reset manifests itself on USB, I think), but why isn't the IDE able to re-connect with that port after the upload? In many scenarios I've seen recently, Windows puts the board back on the port where it was before the board reset.
Every 'upload' following a successful upload, while the board is running the previous sketch and the Serial monitor is up requires me to endure a failed upload attempt, after which I reselect the port and then click 'upload' again. Some days, the right choice on the port menu ping-pongs between COM3 and COM4, while other days, the port menu remains stable with only a COM3 item (and the uploads use COM4), but the COM3 item loses its check mark immediately after clicking 'upload' and it doesn't become checked again until I do it manually.
This problem seems to be dramatically worse with the new ATSAMD51 "Feather" board than I ever saw with my UNO. Speed would be an obvious difference, but why then would a slower board work better than the faster one?
Uninstalling devicwes, cleaning out old COM drivers using pnputil, cleaning out the COM arbiter registry settings and rebooting isn't having any noticeable effect.
- Windows 10 64-bit with all the current updates and the allegedly "best" drivers
(Windows' usbser.sys on COM ports;
Adafruit's driver installer doesn't change anything here).
- HP laptop with 8 i5-8250U cores at 1.6GHz, 12GB of ram
- Adafruit Metro M4 Express, as-shipped.
- Arduino IDE build 1.8.8
Thanks in advance for any constructive pointers; this is driving me nuts!