I have a Cerb40 with the appropriate voltage regulator and capacitor attached. I have a USB to TTL cable connected to PA2 & PA3 (COM2). This cable supplies 5V, which I have connected to USB, and ground connected to GND. Whenever I plug in the debugging microUSB cable, I am able to deploy and debug, communicating with a homegrown “terminal” program over (PC)COM9/(Cerb)COM2 without issue. Everything just works.
However, when I unplug the debugging microUSB cable and reset (or not), I am unable to communicate with, or at least get a response from, the Cerb40. Voltages across USB to ground and 3.3V to ground are the same regardless of whether the debugging microUSB cable is plugged in or not.
Don’t you ever take a break, Gus? Thanks for the suggestion.
Ok, got an LED up and blinking, changing the rate when data is transferred. Once again, with the debugging cable connected, everything works great, even after disconnecting the debugger. Commands and responses flow back and forth, and the LED blink rate increases at the appropriate times.
I unplug the debugging microUSB, reboot the Cerb40, and the LED blinks. Then I attempt to connect with the terminal program. I never see a change in the LED blink rate in this scenario. I must restart debugging to reestablish a connection, at which point the LED blink rate indicates that it is receiving data that must have been stacked up in the buffer. If I then disconnect the debugging microUSB cable, the connection continues to work, and I seem to be able to disconnect and reconnect at will until I reboot the Cerb40.
So essentially, connecting the debugger starts the program and leaves it in a connectable state, while a cold boot results in a running program, but in a non-connectable state. Something to do with the listening on COM2 seems to be getting screwed up on cold boot.
UPDATE: I added a command to reboot the Cerb40 programatically. Soft or hard reboots result in the same non-connectable state.
It seems this is a different issue than the “won’t boot unless RX is held low on a disconnected serial debug setup” as I am not experiencing the same symptoms. Is serial debugging possible on the Cerb40? After reboot, the program runs, as witnessed by the LED, just won’t communicate via COM port. I’ll try spewing out Result messages out the COM port and see if I can pick them up on the terminal side. The code encompasses a messaging system that is somewhat involved. I plan on posting it in code share when it works. Should I post it now? Would anyone care to see it?