So upfront disclosure....
I am dealing with a "black box" client running on a windows machine on one end of a serial USB connection and I do not have access to its source code. So I can't "show the code". So looking for any suggestions on how to figure this one out... So we are playing "guess my problem".
Gritty details...
Specifically, I have a ham radio sitting on one end of a serial port (USB) and a windows client software running on the other side. The HAM radio uses the classic serial console interface api (Serial.begin, etc.) (If you are a Ham, details are I have a ported version of KD8CEC software running on the ubitx radio, and the uBITX Manager (running on Windows) is sending the request down.). The problem is that the uBITX Manager source is not available, so have to treat it as a black box...
The client sends a "CAT" command down to the radio requesting that the contents of the EEPROM be sent back to the client running on a PC. (Native EEPROM on Nano, external I2C EEPROM on all others.)
So here is the puzzle...
This works fine on the original code written for a Nano and my ported codes works fine on the IOT 33.
However, both the BLE and the RP2040 never upload the EEPROM contents to the client.
I have used the Serial Port Monitor to confirm the series of hex bytes sent down by the client is the same for all platforms. However, the BLE and RP2040 do not reply when using the original windows client.
And to add to the fun, I can use another client program (optimized for testing CAT commands, but basically just a serial terminal), manually send the code to the BLE and RP2040, and I get the data upload! So no crashes in my code running on the radio.
So something is happening that is specific to the BLE and RP2040 that is causing a problem between the original client and the code running on a radio.
Sorry, this is really vague... I am Just looking for suggestions on where to figure this out. Would prefer not to spend a week rewriting the client code. Any wild crazy suggestions appreciated at this point!
Mark
AJ6CU