My application uses the various I/O lines on the ConnectME as a sort of handshake system. I have another processor talking to the ME and it monitors DTR as a online/offline flag, and RTS as a BUSY/AVAILABLE flag. Likewise, CTS is used as a BUSY/AVAILABLE flag for the other processor.
When I power up my application using code from 7.3 and earlier, everything works as expected. When I power up my application built using 7.4, the network stack never seems to come up (both LED’s stay solid, no activity seen in Wireshark). Looking at the relevant signals with my scope, on 7.3 I see the following (cut and paste into a fixed font editor):
RTS_:--------------
DTR:--------------
CTS:______________________________________
DSR_:__________________________________________
DCD_:__________________________________________
INIT:__----------------------------------------
(Approx 30 seconds shown, at the end of which the serial port begins accepting messages - too slow, but that’s another gripe)
On 7.4, however, I see this:
RTS_:-----________------------------------
DTR:-----------------------------
CTS:__________________________________
DSR_:__________________________________________
DCD_:__________________________________________
INIT:__----------------------------------------
Both RTS and DTR are generated by the Digi, not by my app. My app (since it hasn’t changed) drives all of its outputs exactly the same.
I know that 7.4 has changed its recovery process and uses both pin 18 and 20 to determine how to do a recovery, but I can’t find where anything else might have changed to prevent booting because of any other I/O lines. I know that if I hold pins 18 and 20 low during power up, I can get the stack up (I assume it tries a serial recovery and the menu times out and boots the stack) but since my other processor’s app assumes that the Digi is running its app, I can’t do much with that. TFTP boot app loading works in that case, but other than putting a 7.3 version on the module, that doesn’t do me much good.
Anyone else seen this behavior, and more importantly, anyone know how to fix it?