I think first steps would be to check gsm.debug() and to see what the current state of the sockets is (socks - you'll need to know what the socket number was but you could see that from the debug data). If it's wait or not true then somehow the CONNECT OK got missed - maybe it had extra stuff on the start of the line?
Otherwise it's a matter of poking around in the actual HTTP implementation, but I'm not sure that would be an issue as it's been used quite a lot to date. The SIM900 module is by far the mode likely culprit.
If you are in the Wait state, maybe start adding print statements to the connect code to see where it's got to.
Hope that's some help - let us know how you get on!
What are your changes? If you could contribute them back it'd be great - anything that cleans up the SIM900 code or makes it more reliable would be great.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Hi Jon, that's a really odd one.
I think first steps would be to check
gsm.debug()
and to see what the current state of the sockets is (socks
- you'll need to know what the socket number was but you could see that from the debug data). If it'swait
or not true then somehow theCONNECT OK
got missed - maybe it had extra stuff on the start of the line?Otherwise it's a matter of poking around in the actual HTTP implementation, but I'm not sure that would be an issue as it's been used quite a lot to date. The SIM900 module is by far the mode likely culprit.
If you are in the
Wait
state, maybe start adding print statements to the connect code to see where it's got to.Hope that's some help - let us know how you get on!
What are your changes? If you could contribute them back it'd be great - anything that cleans up the SIM900 code or makes it more reliable would be great.