arduino-libraries / GSM

GSM Library for Arduino
http://arduino.cc/
44 stars 38 forks source link

fix for GSMTestModem not working #8

Open mrpeach-xx opened 7 years ago

mrpeach-xx commented 7 years ago

At least on Uno compiled on Windows, the software serial sends only half the characters, so the modem never responds. (e.g. ATsends only A) I found that just getting GSM3ShieldV1DirectModemProvider::write() to return the value from GSM3ShieldV1ModemCore.write() solves the issue. Perhaps some optimizing is done by the compiler which results in it not working? See around line 75 of GSM3ShieldV1DirectModemProvider.cpp:

//Write to the modem by means of SoftSerial size_t GSM3ShieldV1DirectModemProvider::write(uint8_t c) {
return theGSM3ShieldV1ModemCore.write(c); }

GeraldSoellinger commented 5 years ago

I experience a similiar problem with Arduino IDE 1.8.5. I tried also different GSM libaries (version 1.0.0, 1.0.5 and 1.0.6), but still the AT commands look different compared to Arduino IDE 1.0.5-r2 e were everything seems to work.

here some section of my code: Serial.println("GSM initialized"); Empfangsstaerke = scannerNetworks.getSignalStrength().toInt(); Serial Monitor output with IDE 1.0.5-r2 AT+COLP=1%13% 74 80>%13%%10%OK%13%%10% GSM initialized AT+CSQ%13%%10%Empfangsstaerke: 21 Serial Monitor output with IDE 1.8.5 and GSM libary version 1.0.6 AT+COLP=1%13% 102 108>%13%%10%OK%13%%10% GSM initialized A%13%Empfangsstaerke: 0

GeraldSoellinger commented 5 years ago

I made a new finding today. I removed the original GSM libary from IDE 1.0.5-r2 and replaced it with the GSM libary form IDE 1.8.5 which has version number 1.0.6 Serial Monitor output withIDE 1.0.5-r2 and GSM libary version 1.0.6 AT+COLP=1%13% 67 73>%13%%10%OK%13%%10% GSM initialized AT+CSQ%13%%10%Empfangsstaerke: 22

So it seems, there is no problem with the libary, but somewhere with the new IDE

GeraldSoellinger commented 5 years ago

Where can/should I report this issue with the IDE?

per1234 commented 5 years ago

Between 1.0.5-r2 and 1.8.5 is a huge jump. You need to bisect the issue to see exactly where it was introduced. Go back to using Arduino IDE 1.8.5 and using Boards Manager (Tools > Board > Boards Manager) to systematically roll back through the available versions of Arduino AVR Boards until you determine which is the newest version that doesn't have the issue and the oldest version that does have the issue. Then you know the cause of the issue is something that changed between those two versions. That narrows the scope tremendously.