diff --git a/build/shared/revisions.txt b/build/shared/revisions.txt index 2865d8413..71f76b249 100644 --- a/build/shared/revisions.txt +++ b/build/shared/revisions.txt @@ -1,4 +1,9 @@ +ARDUINO 1.0.7 + +[libraries] +* Backported GSM from IDE 1.5.x + ARDUINO 1.0.6 - 2014.09.16 [core] diff --git a/libraries/GSM/GSM3ShieldV1AccessProvider.cpp b/libraries/GSM/GSM3ShieldV1AccessProvider.cpp index 67ae75553..d628c9055 100644 --- a/libraries/GSM/GSM3ShieldV1AccessProvider.cpp +++ b/libraries/GSM/GSM3ShieldV1AccessProvider.cpp @@ -6,8 +6,8 @@ #define __TOUTMODEMCONFIGURATION__ 5000//equivalent to 30000 because of time in interrupt routine. #define __TOUTAT__ 1000 -char _command_AT[] PROGMEM = "AT"; -char _command_CGREG[] PROGMEM = "AT+CGREG?"; +const char _command_AT[] PROGMEM = "AT"; +const char _command_CGREG[] PROGMEM = "AT+CGREG?"; GSM3ShieldV1AccessProvider::GSM3ShieldV1AccessProvider(bool debug) diff --git a/libraries/GSM/GSM3ShieldV1BaseProvider.cpp b/libraries/GSM/GSM3ShieldV1BaseProvider.cpp index d63967be3..9d4970d03 100644 --- a/libraries/GSM/GSM3ShieldV1BaseProvider.cpp +++ b/libraries/GSM/GSM3ShieldV1BaseProvider.cpp @@ -12,7 +12,7 @@ int GSM3ShieldV1BaseProvider::ready() return theGSM3ShieldV1ModemCore.getCommandError(); }; -void GSM3ShieldV1BaseProvider::prepareAuxLocate(PROGMEM prog_char str[], char auxLocate[]) +void GSM3ShieldV1BaseProvider::prepareAuxLocate(PGM_P str, char auxLocate[]) { int i=0; char c; diff --git a/libraries/GSM/GSM3ShieldV1BaseProvider.h b/libraries/GSM/GSM3ShieldV1BaseProvider.h index 802d46cbd..8f03947cd 100644 --- a/libraries/GSM/GSM3ShieldV1BaseProvider.h +++ b/libraries/GSM/GSM3ShieldV1BaseProvider.h @@ -54,7 +54,7 @@ class GSM3ShieldV1BaseProvider @param str PROGMEN @param auxLocate Buffer where to locate strings */ - void prepareAuxLocate(PROGMEM prog_char str[], char auxLocate[]); + void prepareAuxLocate(PGM_P str, char auxLocate[]); /** Manages modem response @param from Initial byte of buffer @@ -70,4 +70,4 @@ class GSM3ShieldV1BaseProvider }; -#endif \ No newline at end of file +#endif diff --git a/libraries/GSM/GSM3ShieldV1DataNetworkProvider.cpp b/libraries/GSM/GSM3ShieldV1DataNetworkProvider.cpp index aaffdba6e..f0b732a74 100644 --- a/libraries/GSM/GSM3ShieldV1DataNetworkProvider.cpp +++ b/libraries/GSM/GSM3ShieldV1DataNetworkProvider.cpp @@ -1,8 +1,8 @@ #include #include -char _command_CGATT[] PROGMEM = "AT+CGATT="; -char _command_SEPARATOR[] PROGMEM = "\",\""; +const char _command_CGATT[] PROGMEM = "AT+CGATT="; +const char _command_SEPARATOR[] PROGMEM = "\",\""; //Attach GPRS main function. GSM3_NetworkStatus_t GSM3ShieldV1DataNetworkProvider::attachGPRS(char* apn, char* user_name, char* password, bool synchronous) diff --git a/libraries/GSM/GSM3ShieldV1ModemCore.cpp b/libraries/GSM/GSM3ShieldV1ModemCore.cpp index c90ff4dd4..ea08150ff 100644 --- a/libraries/GSM/GSM3ShieldV1ModemCore.cpp +++ b/libraries/GSM/GSM3ShieldV1ModemCore.cpp @@ -75,7 +75,7 @@ void GSM3ShieldV1ModemCore::closeCommand(int code) } //Generic command (stored in flash). -void GSM3ShieldV1ModemCore::genericCommand_rq(PROGMEM prog_char str[], bool addCR) +void GSM3ShieldV1ModemCore::genericCommand_rq(PGM_P str, bool addCR) { theBuffer().flush(); writePGM(str, addCR); @@ -157,7 +157,7 @@ void GSM3ShieldV1ModemCore::openCommand(GSM3ShieldV1BaseProvider* provider, GSM3 }; -size_t GSM3ShieldV1ModemCore::writePGM(PROGMEM prog_char str[], bool CR) +size_t GSM3ShieldV1ModemCore::writePGM(PGM_P str, bool CR) { int i=0; char c; diff --git a/libraries/GSM/GSM3ShieldV1ModemCore.h b/libraries/GSM/GSM3ShieldV1ModemCore.h index f9efce728..daed2a51b 100644 --- a/libraries/GSM/GSM3ShieldV1ModemCore.h +++ b/libraries/GSM/GSM3ShieldV1ModemCore.h @@ -167,7 +167,7 @@ class GSM3ShieldV1ModemCore : public GSM3SoftSerialMgr, public Print @param CR Carriadge return adding automatically @return size */ - virtual size_t writePGM(PROGMEM prog_char str[], bool CR=true); + virtual size_t writePGM(PGM_P str, bool CR=true); /** Establish debug mode @param db Boolean that indicates debug on or off @@ -182,11 +182,11 @@ class GSM3ShieldV1ModemCore : public GSM3SoftSerialMgr, public Print */ bool genericParse_rsp(bool& rsp, char* string=0, char* string2=0); - /** Generates a generic AT command request from PROGMEM prog_char buffer + /** Generates a generic AT command request from PROGMEM buffer @param str Buffer with AT command @param addCR Carriadge return adding automatically */ - void genericCommand_rq(PROGMEM prog_char str[], bool addCR=true); + void genericCommand_rq(PGM_P str, bool addCR=true); /** Generates a generic AT command request from a simple char buffer @param str Buffer with AT command @@ -194,12 +194,6 @@ class GSM3ShieldV1ModemCore : public GSM3SoftSerialMgr, public Print */ void genericCommand_rqc(const char* str, bool addCR=true); - /** Generates a generic AT command request from characters buffer - @param str Buffer with AT command - @param addCR Carriadge return adding automatically - */ - void genericCommand_rq(const char* str, bool addCR=true); - /** Returns the circular buffer @return circular buffer */ @@ -257,4 +251,4 @@ class GSM3ShieldV1ModemCore : public GSM3SoftSerialMgr, public Print extern GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore; -#endif \ No newline at end of file +#endif diff --git a/libraries/GSM/GSM3ShieldV1ModemVerification.cpp b/libraries/GSM/GSM3ShieldV1ModemVerification.cpp index e5d190fb0..1ad15e9e9 100644 --- a/libraries/GSM/GSM3ShieldV1ModemVerification.cpp +++ b/libraries/GSM/GSM3ShieldV1ModemVerification.cpp @@ -69,7 +69,7 @@ String GSM3ShieldV1ModemVerification::getIMEI() modemResponse.toCharArray(res_to_compare, modemResponse.length()); if(strstr(res_to_compare,"OK") == NULL) { - return NULL; + return String(NULL); } else { diff --git a/libraries/GSM/GSM3ShieldV1MultiClientProvider.cpp b/libraries/GSM/GSM3ShieldV1MultiClientProvider.cpp index 797424f03..c2fd72d46 100644 --- a/libraries/GSM/GSM3ShieldV1MultiClientProvider.cpp +++ b/libraries/GSM/GSM3ShieldV1MultiClientProvider.cpp @@ -1,7 +1,7 @@ #include #include -char _command_MultiQISRVC[] PROGMEM = "AT+QISRVC="; +const char _command_MultiQISRVC[] PROGMEM = "AT+QISRVC="; #define __TOUTFLUSH__ 10000 diff --git a/libraries/GSM/GSM3ShieldV1MultiServerProvider.cpp b/libraries/GSM/GSM3ShieldV1MultiServerProvider.cpp index 6a915f29d..de74b4973 100644 --- a/libraries/GSM/GSM3ShieldV1MultiServerProvider.cpp +++ b/libraries/GSM/GSM3ShieldV1MultiServerProvider.cpp @@ -4,7 +4,7 @@ #define __NCLIENTS_MAX__ 3 -char _command_QILOCIP[] PROGMEM = "AT+QILOCIP"; +const char _command_QILOCIP[] PROGMEM = "AT+QILOCIP"; GSM3ShieldV1MultiServerProvider::GSM3ShieldV1MultiServerProvider() { diff --git a/libraries/GSM/GSM3ShieldV1ScanNetworks.cpp b/libraries/GSM/GSM3ShieldV1ScanNetworks.cpp index 23da8a6b4..9d7ea6b13 100644 --- a/libraries/GSM/GSM3ShieldV1ScanNetworks.cpp +++ b/libraries/GSM/GSM3ShieldV1ScanNetworks.cpp @@ -63,7 +63,7 @@ String GSM3ShieldV1ScanNetworks::getCurrentCarrier() String final_result = ptr_token; return final_result; }else{ - return NULL; + return String(NULL); } } @@ -82,7 +82,7 @@ String GSM3ShieldV1ScanNetworks::getSignalStrength() final_result.trim(); return final_result; }else{ - return NULL; + return String(NULL); } } diff --git a/libraries/GSM/examples/GsmWebClient/GsmWebClient.ino b/libraries/GSM/examples/GsmWebClient/GsmWebClient.ino index e7eb27587..4de67b150 100644 --- a/libraries/GSM/examples/GsmWebClient/GsmWebClient.ino +++ b/libraries/GSM/examples/GsmWebClient/GsmWebClient.ino @@ -1,19 +1,19 @@ /* Web client - + This sketch connects to a website through a GSM shield. Specifically, - this example downloads the URL "http://arduino.cc/asciilogo.txt" and + this example downloads the URL "http://arduino.cc/asciilogo.txt" and prints it to the Serial monitor. - + Circuit: * GSM shield attached to an Arduino * SIM card with a data plan - + created 8 Mar 2012 by Tom Igoe - + http://arduino.cc/en/Tutorial/GSMExamplesWebClient - + */ // libraries @@ -30,7 +30,7 @@ // initialize the library instance GSMClient client; GPRS gprs; -GSM gsmAccess; +GSM gsmAccess; // URL, path & port (for example: arduino.cc) char server[] = "arduino.cc"; @@ -51,10 +51,10 @@ void setup() // After starting the modem with GSM.begin() // attach the shield to the GPRS network with the APN, login and password - while(notConnected) + while (notConnected) { - if((gsmAccess.begin(PINNUMBER)==GSM_READY) & - (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY)) + if ((gsmAccess.begin(PINNUMBER) == GSM_READY) & + (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY)) notConnected = false; else { @@ -77,7 +77,7 @@ void setup() client.println(server); client.println("Connection: close"); client.println(); - } + } else { // if you didn't get a connection to the server: @@ -87,7 +87,7 @@ void setup() void loop() { - // if there are incoming bytes available + // if there are incoming bytes available // from the server, read them and print them: if (client.available()) { @@ -103,7 +103,7 @@ void loop() client.stop(); // do nothing forevermore: - for(;;) + for (;;) ; } } diff --git a/libraries/GSM/examples/GsmWebServer/GsmWebServer.ino b/libraries/GSM/examples/GsmWebServer/GsmWebServer.ino index e957b4cf8..326d55183 100644 --- a/libraries/GSM/examples/GsmWebServer/GsmWebServer.ino +++ b/libraries/GSM/examples/GsmWebServer/GsmWebServer.ino @@ -1,13 +1,13 @@ /* GSM Web Server - + A simple web server that shows the value of the analog input pins. using a GSM shield. Circuit: * GSM shield attached * Analog inputs attached to pins A0 through A5 (optional) - + created 8 Mar 2012 by Tom Igoe */ @@ -30,7 +30,7 @@ GSM gsmAccess; // include a 'true' parameter for debug enabled GSMServer server(80); // port 80 (http default) // timeout -const unsigned long __TIMEOUT__ = 10*1000; +const unsigned long __TIMEOUT__ = 10 * 1000; void setup() { @@ -39,16 +39,16 @@ void setup() while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } - + // connection state boolean notConnected = true; - + // Start GSM shield // If your SIM has PIN, pass it as a parameter of begin() in quotes - while(notConnected) + while (notConnected) { - if((gsmAccess.begin(PINNUMBER)==GSM_READY) & - (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY)) + if ((gsmAccess.begin(PINNUMBER) == GSM_READY) & + (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY)) notConnected = false; else { @@ -56,12 +56,12 @@ void setup() delay(1000); } } - + Serial.println("Connected to GPRS network"); - + // start server server.begin(); - + //Get IP. IPAddress LocalIP = gprs.getIPAddress(); Serial.println("Server IP address="); @@ -77,21 +77,21 @@ void loop() { if (client) - { + { while (client.connected()) { if (client.available()) { Serial.println("Receiving request!"); bool sendResponse = false; - while(char c=client.read()) { + while (char c = client.read()) { if (c == '\n') sendResponse = true; } - // if you've gotten to the end of the line (received a newline - // character) - if (sendResponse) - { + // if you've gotten to the end of the line (received a newline + // character) + if (sendResponse) + { // send a standard http response header client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); @@ -103,7 +103,7 @@ void loop() { client.print(analogChannel); client.print(" is "); client.print(analogRead(analogChannel)); - client.println("
"); + client.println("
"); } client.println(""); //necessary delay diff --git a/libraries/GSM/examples/MakeVoiceCall/MakeVoiceCall.ino b/libraries/GSM/examples/MakeVoiceCall/MakeVoiceCall.ino index 64df44afc..8cdb6d10b 100644 --- a/libraries/GSM/examples/MakeVoiceCall/MakeVoiceCall.ino +++ b/libraries/GSM/examples/MakeVoiceCall/MakeVoiceCall.ino @@ -1,21 +1,21 @@ /* Make Voice Call - + This sketch, for the Arduino GSM shield, puts a voice call to a remote phone number that you enter through the serial monitor. - To make it work, open the serial monitor, and when you see the - READY message, type a phone number. Make sure the serial monitor + To make it work, open the serial monitor, and when you see the + READY message, type a phone number. Make sure the serial monitor is set to send a just newline when you press return. - + Circuit: - * GSM shield - * Voice circuit. + * GSM shield + * Voice circuit. With no voice circuit the call will send nor receive any sound - - + + created Mar 2012 by Javier Zorzano - + This example is in the public domain. */ @@ -42,15 +42,15 @@ void setup() } Serial.println("Make Voice Call"); - + // connection state boolean notConnected = true; - + // Start GSM shield // If your SIM has PIN, pass it as a parameter of begin() in quotes - while(notConnected) + while (notConnected) { - if(gsmAccess.begin(PINNUMBER)==GSM_READY) + if (gsmAccess.begin(PINNUMBER) == GSM_READY) notConnected = false; else { @@ -58,7 +58,7 @@ void setup() delay(1000); } } - + Serial.println("GSM initialized."); Serial.println("Enter phone number to call."); @@ -84,33 +84,33 @@ void loop() // Call the remote number remoteNumber.toCharArray(charbuffer, 20); - - + + // Check if the receiving end has picked up the call - if(vcs.voiceCall(charbuffer)) + if (vcs.voiceCall(charbuffer)) { Serial.println("Call Established. Enter line to end"); // Wait for some input from the line - while(Serial.read()!='\n' && (vcs.getvoiceCallStatus()==TALKING)); + while (Serial.read() != '\n' && (vcs.getvoiceCallStatus() == TALKING)); // And hang up vcs.hangCall(); } Serial.println("Call Finished"); - remoteNumber=""; + remoteNumber = ""; Serial.println("Enter phone number to call."); - } + } else { - Serial.println("That's too long for a phone number. I'm forgetting it"); + Serial.println("That's too long for a phone number. I'm forgetting it"); remoteNumber = ""; } - } + } else { // add the latest character to the message to send: - if(inChar!='\r') + if (inChar != '\r') remoteNumber += inChar; } - } + } } diff --git a/libraries/GSM/examples/ReceiveSMS/ReceiveSMS.ino b/libraries/GSM/examples/ReceiveSMS/ReceiveSMS.ino index af800f46f..d40538e4d 100644 --- a/libraries/GSM/examples/ReceiveSMS/ReceiveSMS.ino +++ b/libraries/GSM/examples/ReceiveSMS/ReceiveSMS.ino @@ -1,20 +1,20 @@ /* SMS receiver - - This sketch, for the Arduino GSM shield, waits for a SMS message - and displays it through the Serial port. - + + This sketch, for the Arduino GSM shield, waits for a SMS message + and displays it through the Serial port. + Circuit: * GSM shield attached to and Arduino * SIM card that can receive SMS messages - + created 25 Feb 2012 by Javier Zorzano / TD - + This example is in the public domain. - + http://arduino.cc/en/Tutorial/GSMExamplesReceiveSMS - + */ // include the GSM library @@ -28,25 +28,25 @@ GSM gsmAccess; GSM_SMS sms; // Array to hold the number a SMS is retreived from -char senderNumber[20]; +char senderNumber[20]; -void setup() +void setup() { // initialize serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only - } + } Serial.println("SMS Messages Receiver"); - + // connection state boolean notConnected = true; - + // Start GSM connection - while(notConnected) + while (notConnected) { - if(gsmAccess.begin(PINNUMBER)==GSM_READY) + if (gsmAccess.begin(PINNUMBER) == GSM_READY) notConnected = false; else { @@ -54,38 +54,38 @@ void setup() delay(1000); } } - + Serial.println("GSM initialized"); Serial.println("Waiting for messages"); } -void loop() +void loop() { char c; - - // If there are any SMSs available() + + // If there are any SMSs available() if (sms.available()) { Serial.println("Message received from:"); - + // Get remote number sms.remoteNumber(senderNumber, 20); Serial.println(senderNumber); - // An example of message disposal + // An example of message disposal // Any messages starting with # should be discarded - if(sms.peek()=='#') + if (sms.peek() == '#') { Serial.println("Discarded SMS"); sms.flush(); } - + // Read message bytes and print them - while(c=sms.read()) + while (c = sms.read()) Serial.print(c); - + Serial.println("\nEND OF MESSAGE"); - + // Delete message from modem memory sms.flush(); Serial.println("MESSAGE DELETED"); diff --git a/libraries/GSM/examples/ReceiveVoiceCall/ReceiveVoiceCall.ino b/libraries/GSM/examples/ReceiveVoiceCall/ReceiveVoiceCall.ino index 14dbc5ee1..a4c76295f 100644 --- a/libraries/GSM/examples/ReceiveVoiceCall/ReceiveVoiceCall.ino +++ b/libraries/GSM/examples/ReceiveVoiceCall/ReceiveVoiceCall.ino @@ -1,24 +1,24 @@ /* Receive Voice Call - - This sketch, for the Arduino GSM shield, receives voice calls, + + This sketch, for the Arduino GSM shield, receives voice calls, displays the calling number, waits a few seconds then hangs up. - + Circuit: - * GSM shield + * GSM shield * Voice circuit. Refer to to the GSM shield getting started guide at http://arduino.cc/en/Guide/ArduinoGSMShield#toc11 * SIM card that can accept voice calls - + With no voice circuit the call will connect, but will not send or receive sound - + created Mar 2012 by Javier Zorzano - + This example is in the public domain. - + http://arduino.cc/en/Tutorial/GSMExamplesReceiveVoiceCall - + */ // Include the GSM library @@ -32,7 +32,7 @@ GSM gsmAccess; GSMVoiceCall vcs; // Array to hold the number for the incoming call -char numtel[20]; +char numtel[20]; void setup() { @@ -43,15 +43,15 @@ void setup() } Serial.println("Receive Voice Call"); - + // connection state boolean notConnected = true; - + // Start GSM shield // If your SIM has PIN, pass it as a parameter of begin() in quotes - while(notConnected) + while (notConnected) { - if(gsmAccess.begin(PINNUMBER)==GSM_READY) + if (gsmAccess.begin(PINNUMBER) == GSM_READY) notConnected = false; else { @@ -59,44 +59,44 @@ void setup() delay(1000); } } - + // This makes sure the modem correctly reports incoming events vcs.hangCall(); - + Serial.println("Waiting for a call"); } void loop() { // Check the status of the voice call - switch (vcs.getvoiceCallStatus()) + switch (vcs.getvoiceCallStatus()) { case IDLE_CALL: // Nothing is happening - + break; - + case RECEIVINGCALL: // Yes! Someone is calling us - + Serial.println("RECEIVING CALL"); - + // Retrieve the calling number vcs.retrieveCallingNumber(numtel, 20); - + // Print the calling number Serial.print("Number:"); Serial.println(numtel); - + // Answer the call, establish the call - vcs.answerCall(); + vcs.answerCall(); break; - + case TALKING: // In this case the call would be established - + Serial.println("TALKING. Press enter to hang up."); - while(Serial.read()!='\n') + while (Serial.read() != '\n') delay(100); vcs.hangCall(); - Serial.println("Hanging up and waiting for the next call."); + Serial.println("Hanging up and waiting for the next call."); break; } delay(1000); diff --git a/libraries/GSM/examples/SendSMS/SendSMS.ino b/libraries/GSM/examples/SendSMS/SendSMS.ino index 677442a93..beaf96dfc 100644 --- a/libraries/GSM/examples/SendSMS/SendSMS.ino +++ b/libraries/GSM/examples/SendSMS/SendSMS.ino @@ -1,24 +1,24 @@ /* SMS sender - - This sketch, for the Arduino GSM shield,sends an SMS message - you enter in the serial monitor. Connect your Arduino with the - GSM shield and SIM card, open the serial monitor, and wait for - the "READY" message to appear in the monitor. Next, type a - message to send and press "return". Make sure the serial + + This sketch, for the Arduino GSM shield,sends an SMS message + you enter in the serial monitor. Connect your Arduino with the + GSM shield and SIM card, open the serial monitor, and wait for + the "READY" message to appear in the monitor. Next, type a + message to send and press "return". Make sure the serial monitor is set to send a newline when you press return. - + Circuit: - * GSM shield + * GSM shield * SIM card that can send SMS - + created 25 Feb 2012 by Tom Igoe - + This example is in the public domain. - + http://arduino.cc/en/Tutorial/GSMExamplesSendSMS - + */ // Include the GSM library @@ -37,7 +37,7 @@ void setup() while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } - + Serial.println("SMS Messages Sender"); // connection state @@ -45,9 +45,9 @@ void setup() // Start GSM shield // If your SIM has PIN, pass it as a parameter of begin() in quotes - while(notConnected) + while (notConnected) { - if(gsmAccess.begin(PINNUMBER)==GSM_READY) + if (gsmAccess.begin(PINNUMBER) == GSM_READY) notConnected = false; else { @@ -55,7 +55,7 @@ void setup() delay(1000); } } - + Serial.println("GSM initialized"); } @@ -66,7 +66,7 @@ void loop() char remoteNum[20]; // telephone number to send sms readSerial(remoteNum); Serial.println(remoteNum); - + // sms text Serial.print("Now, enter SMS content: "); char txtMsg[200]; @@ -75,11 +75,11 @@ void loop() Serial.println(); Serial.println("Message:"); Serial.println(txtMsg); - + // send the message sms.beginSMS(remoteNum); sms.print(txtMsg); - sms.endSMS(); + sms.endSMS(); Serial.println("\nCOMPLETE!\n"); } @@ -89,7 +89,7 @@ void loop() int readSerial(char result[]) { int i = 0; - while(1) + while (1) { while (Serial.available() > 0) { @@ -100,7 +100,7 @@ int readSerial(char result[]) Serial.flush(); return 0; } - if(inChar!='\r') + if (inChar != '\r') { result[i] = inChar; i++; diff --git a/libraries/GSM/examples/Tools/BandManagement/BandManagement.ino b/libraries/GSM/examples/Tools/BandManagement/BandManagement.ino index 84d8c71c1..a30b236d9 100644 --- a/libraries/GSM/examples/Tools/BandManagement/BandManagement.ino +++ b/libraries/GSM/examples/Tools/BandManagement/BandManagement.ino @@ -1,24 +1,24 @@ /* Band Management - + This sketch, for the Arduino GSM shield, checks the band - currently configured in the modem and allows you to change + currently configured in the modem and allows you to change it. - + Please check http://www.worldtimezone.com/gsm.html Usual configurations: Europe, Africa, Middle East: E-GSM(900)+DCS(1800) USA, Canada, South America: GSM(850)+PCS(1900) Mexico: PCS(1900) Brazil: GSM(850)+E-GSM(900)+DCS(1800)+PCS(1900) - - + + Circuit: - * GSM shield - + * GSM shield + created 12 June 2012 by Javier Zorzano, Scott Fitzgerald - + This example is in the public domain. */ @@ -35,18 +35,18 @@ void setup() while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } - + // Beginning the band manager restarts the modem Serial.println("Restarting modem..."); band.begin(); Serial.println("Modem restarted."); - + }; void loop() { - // Get current band + // Get current band String bandName = band.getBand(); // Get and print band name Serial.print("Current band:"); Serial.println(bandName); @@ -54,25 +54,25 @@ void loop() String newBandName; newBandName = askUser(); // Tell the user what we are about to do… - Serial.print("\nConfiguring band "); - Serial.println(newBandName); - // Change the band - boolean operationSuccess; - operationSuccess = band.setBand(newBandName); - // Tell the user if the operation was OK - if(operationSuccess) - { + Serial.print("\nConfiguring band "); + Serial.println(newBandName); + // Change the band + boolean operationSuccess; + operationSuccess = band.setBand(newBandName); + // Tell the user if the operation was OK + if (operationSuccess) + { Serial.println("Success"); - } + } else - { + { Serial.println("Error while changing band"); - } - - if(operationSuccess) - { - while(true); - } + } + + if (operationSuccess) + { + while (true); + } } // This function offers the user different options @@ -80,41 +80,41 @@ void loop() // The user selects one String askUser() { - String newBand; - Serial.println("Select band:"); - // Print the different options - Serial.println("1 : E-GSM(900)"); - Serial.println("2 : DCS(1800)"); - Serial.println("3 : PCS(1900)"); - Serial.println("4 : E-GSM(900)+DCS(1800) ex: Europe"); - Serial.println("5 : GSM(850)+PCS(1900) Ex: USA, South Am."); - Serial.println("6 : GSM(850)+E-GSM(900)+DCS(1800)+PCS(1900)"); - - // Empty the incoming buffer - while(Serial.available()) - Serial.read(); - - // Wait for an answer, just look at the first character - while(!Serial.available()); - char c= Serial.read(); - if(c=='1') - newBand=GSM_MODE_EGSM; - else if(c=='2') - newBand=GSM_MODE_DCS; - else if(c=='3') - newBand=GSM_MODE_PCS; - else if(c=='4') - newBand=GSM_MODE_EGSM_DCS; - else if(c=='5') - newBand=GSM_MODE_GSM850_PCS; - else if(c=='6') - newBand=GSM_MODE_GSM850_EGSM_DCS_PCS; + String newBand; + Serial.println("Select band:"); + // Print the different options + Serial.println("1 : E-GSM(900)"); + Serial.println("2 : DCS(1800)"); + Serial.println("3 : PCS(1900)"); + Serial.println("4 : E-GSM(900)+DCS(1800) ex: Europe"); + Serial.println("5 : GSM(850)+PCS(1900) Ex: USA, South Am."); + Serial.println("6 : GSM(850)+E-GSM(900)+DCS(1800)+PCS(1900)"); + + // Empty the incoming buffer + while (Serial.available()) + Serial.read(); + + // Wait for an answer, just look at the first character + while (!Serial.available()); + char c = Serial.read(); + if (c == '1') + newBand = GSM_MODE_EGSM; + else if (c == '2') + newBand = GSM_MODE_DCS; + else if (c == '3') + newBand = GSM_MODE_PCS; + else if (c == '4') + newBand = GSM_MODE_EGSM_DCS; + else if (c == '5') + newBand = GSM_MODE_GSM850_PCS; + else if (c == '6') + newBand = GSM_MODE_GSM850_EGSM_DCS_PCS; else - newBand="GSM_MODE_UNDEFINED"; + newBand = "GSM_MODE_UNDEFINED"; return newBand; } - + diff --git a/libraries/GSM/examples/Tools/GsmScanNetworks/GsmScanNetworks.ino b/libraries/GSM/examples/Tools/GsmScanNetworks/GsmScanNetworks.ino index 0e442eb7b..097241586 100644 --- a/libraries/GSM/examples/Tools/GsmScanNetworks/GsmScanNetworks.ino +++ b/libraries/GSM/examples/Tools/GsmScanNetworks/GsmScanNetworks.ino @@ -1,23 +1,23 @@ /* - + GSM Scan Networks - + This example prints out the IMEI number of the modem, - then checks to see if it's connected to a carrier. If so, + then checks to see if it's connected to a carrier. If so, it prints the phone number associated with the card. Then it scans for nearby networks and prints out their signal strengths. - + Circuit: - * GSM shield + * GSM shield * SIM card - + Created 8 Mar 2012 by Tom Igoe, implemented by Javier Carazo Modified 4 Feb 2013 by Scott Fitzgerald - + http://arduino.cc/en/Tutorial/GSMToolsGsmScanNetworks - + This example code is part of the public domain */ @@ -48,15 +48,15 @@ void setup() Serial.println("GSM networks scanner"); scannerNetworks.begin(); - + // connection state boolean notConnected = true; - + // Start GSM shield // If your SIM has PIN, pass it as a parameter of begin() in quotes - while(notConnected) + while (notConnected) { - if(gsmAccess.begin(PINNUMBER)==GSM_READY) + if (gsmAccess.begin(PINNUMBER) == GSM_READY) notConnected = false; else { @@ -64,13 +64,13 @@ void setup() delay(1000); } } - + // get modem parameters // IMEI, modem unique identifier Serial.print("Modem IMEI: "); IMEI = modemTest.getIMEI(); - IMEI.replace("\n",""); - if(IMEI != NULL) + IMEI.replace("\n", ""); + if (IMEI != NULL) Serial.println(IMEI); } @@ -79,11 +79,11 @@ void loop() // scan for existing networks, displays a list of networks Serial.println("Scanning available networks. May take some seconds."); Serial.println(scannerNetworks.readNetworks()); - - // currently connected carrier + + // currently connected carrier Serial.print("Current carrier: "); Serial.println(scannerNetworks.getCurrentCarrier()); - + // returns strength and ber // signal strength in 0-31 scale. 31 means power > 51dBm // BER is the Bit Error Rate. 0-7 scale. 99=not detectable diff --git a/libraries/GSM/examples/Tools/PinManagement/PinManagement.ino b/libraries/GSM/examples/Tools/PinManagement/PinManagement.ino index 654d1b839..011c3be8b 100644 --- a/libraries/GSM/examples/Tools/PinManagement/PinManagement.ino +++ b/libraries/GSM/examples/Tools/PinManagement/PinManagement.ino @@ -1,19 +1,19 @@ /* - - This example enables you to change or remove the PIN number of + + This example enables you to change or remove the PIN number of a SIM card inserted into a GSM shield. - + Circuit: * GSM shield * SIM card - + Created 12 Jun 2012 by David del Peral - - This example code is part of the public domain - + + This example code is part of the public domain + http://arduino.cc/en/Tutorial/GSMToolsPinManagement - + */ // libraries @@ -39,32 +39,32 @@ void setup() while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } - + Serial.println("Change PIN example\n"); PINManager.begin(); - + // check if the SIM have pin lock - while(!auth){ + while (!auth) { int pin_query = PINManager.isPIN(); - if(pin_query == 1) + if (pin_query == 1) { // if SIM is locked, enter PIN code Serial.print("Enter PIN code: "); user_input = readSerial(); // check PIN code - if(PINManager.checkPIN(user_input) == 0) + if (PINManager.checkPIN(user_input) == 0) { auth = true; PINManager.setPINUsed(true); Serial.println(oktext); } else - { + { // if PIN code was incorrected Serial.println("Incorrect PIN. Remember that you have 3 opportunities."); } } - else if(pin_query == -1) + else if (pin_query == -1) { // PIN code is locked, user must enter PUK code Serial.println("PIN locked. Enter PUK code: "); @@ -72,7 +72,7 @@ void setup() Serial.print("Now, enter a new PIN code: "); user_input = readSerial(); // check PUK code - if(PINManager.checkPUK(puk, user_input) == 0) + if (PINManager.checkPUK(puk, user_input) == 0) { auth = true; PINManager.setPINUsed(true); @@ -84,32 +84,32 @@ void setup() Serial.println("Incorrect PUK or invalid new PIN. Try again!."); } } - else if(pin_query == -2) + else if (pin_query == -2) { // the worst case, PIN and PUK are locked Serial.println("PIN & PUK locked. Use PIN2/PUK2 in a mobile phone."); - while(true); + while (true); } else { - // SIM does not requires authetication + // SIM does not requires authetication Serial.println("No pin necessary."); auth = true; } } - + // start GSM shield Serial.print("Checking register in GSM network..."); - if(PINManager.checkReg() == 0) + if (PINManager.checkReg() == 0) Serial.println(oktext); // if you are connect by roaming - else if(PINManager.checkReg() == 1) - Serial.println("ROAMING " + oktext); + else if (PINManager.checkReg() == 1) + Serial.println("ROAMING " + oktext); else { // error connection Serial.println(errortext); - while(true); + while (true); } } @@ -118,19 +118,19 @@ void loop() // Function loop implements pin management user menu // Only if you SIM use pin lock, you can change PIN code // user_op variables save user option - + Serial.println("Choose an option:\n1 - On/Off PIN."); - if(PINManager.getPINUsed()) + if (PINManager.getPINUsed()) Serial.println("2 - Change PIN."); String user_op = readSerial(); - if(user_op == "1") + if (user_op == "1") { Serial.println("Enter your PIN code:"); user_input = readSerial(); // activate/deactivate PIN lock PINManager.switchPIN(user_input); } - else if(user_op == "2" & PINManager.getPINUsed()) + else if (user_op == "2" & PINManager.getPINUsed()) { Serial.println("Enter your actual PIN code:"); String oldPIN = readSerial(); @@ -152,7 +152,7 @@ void loop() String readSerial() { String text = ""; - while(1) + while (1) { while (Serial.available() > 0) { @@ -161,7 +161,7 @@ String readSerial() { return text; } - if(inChar!='\r') + if (inChar != '\r') text += inChar; } } diff --git a/libraries/GSM/examples/Tools/TestGPRS/TestGPRS.ino b/libraries/GSM/examples/Tools/TestGPRS/TestGPRS.ino index ab4a2bed1..14f82a5d6 100644 --- a/libraries/GSM/examples/Tools/TestGPRS/TestGPRS.ino +++ b/libraries/GSM/examples/Tools/TestGPRS/TestGPRS.ino @@ -1,20 +1,20 @@ /* - + This sketch test the GSM shield's ability to connect to a - GPERS network. It asks for APN information through the + GPERS network. It asks for APN information through the serial monitor and tries to connect to arduino.cc. - + Circuit: * GSM shield attached * SIM card with data plan - + Created 18 Jun 2012 by David del Peral - + This example code is part of the public domain - + http://arduino.cc/en/Tutorial/GSMToolsTestGPRS - + */ // libraries @@ -55,53 +55,53 @@ void setup() void loop() { use_proxy = false; - + // start GSM shield // if your SIM has PIN, pass it as a parameter of begin() in quotes Serial.print("Connecting GSM network..."); - if(gsmAccess.begin(PINNUMBER)!=GSM_READY) + if (gsmAccess.begin(PINNUMBER) != GSM_READY) { Serial.println(errortext); - while(true); + while (true); } Serial.println(oktext); - + // read APN introduced by user char apn[50]; Serial.print("Enter your APN: "); readSerial(apn); Serial.println(apn); - + // Read APN login introduced by user char login[50]; Serial.print("Now, enter your login: "); readSerial(login); Serial.println(login); - + // read APN password introduced by user char password[20]; Serial.print("Finally, enter your password: "); readSerial(password); - + // attach GPRS Serial.println("Attaching to GPRS with your APN..."); - if(gprsAccess.attachGPRS(apn, login, password)!=GPRS_READY) + if (gprsAccess.attachGPRS(apn, login, password) != GPRS_READY) { Serial.println(errortext); } - else{ - + else { + Serial.println(oktext); - + // read proxy introduced by user char proxy[100]; Serial.print("If your carrier uses a proxy, enter it, if not press enter: "); readSerial(proxy); Serial.println(proxy); - + // if user introduced a proxy, asks him for proxy port int pport; - if(proxy[0] != '\0'){ + if (proxy[0] != '\0') { // read proxy port introduced by user char proxyport[10]; Serial.print("Enter the proxy port: "); @@ -111,61 +111,61 @@ void loop() use_proxy = true; Serial.println(proxyport); } - + // connection with arduino.cc and realize HTTP request Serial.print("Connecting and sending GET request to arduino.cc..."); int res_connect; - + // if use a proxy, connect with it - if(use_proxy) + if (use_proxy) res_connect = client.connect(proxy, pport); else res_connect = client.connect(url, 80); - + if (res_connect) { // make a HTTP 1.0 GET request (client sends the request) client.print("GET "); - + // if use a proxy, the path is arduino.cc URL - if(use_proxy) + if (use_proxy) client.print(urlproxy); else client.print(path); - + client.println(" HTTP/1.0"); client.println(); Serial.println(oktext); - } + } else { // if you didn't get a connection to the server Serial.println(errortext); } Serial.print("Receiving response..."); - + boolean test = true; - while(test) + while (test) { - // if there are incoming bytes available + // if there are incoming bytes available // from the server, read and check them if (client.available()) { char c = client.read(); response += c; - + // cast response obtained from string to char array - char responsechar[response.length()+1]; - response.toCharArray(responsechar, response.length()+1); - + char responsechar[response.length() + 1]; + response.toCharArray(responsechar, response.length() + 1); + // if response includes a "200 OK" substring - if(strstr(responsechar, "200 OK") != NULL){ + if (strstr(responsechar, "200 OK") != NULL) { Serial.println(oktext); Serial.println("TEST COMPLETE!"); test = false; } } - + // if the server's disconnected, stop the client: if (!client.connected()) { @@ -184,7 +184,7 @@ void loop() int readSerial(char result[]) { int i = 0; - while(1) + while (1) { while (Serial.available() > 0) { @@ -194,7 +194,7 @@ int readSerial(char result[]) result[i] = '\0'; return 0; } - if(inChar!='\r') + if (inChar != '\r') { result[i] = inChar; i++; diff --git a/libraries/GSM/examples/Tools/TestModem/TestModem.ino b/libraries/GSM/examples/Tools/TestModem/TestModem.ino index de61fffaa..271d349ff 100644 --- a/libraries/GSM/examples/Tools/TestModem/TestModem.ino +++ b/libraries/GSM/examples/Tools/TestModem/TestModem.ino @@ -1,21 +1,21 @@ /* - - This example tests to see if the modem of the - GSM shield is working correctly. You do not need + + This example tests to see if the modem of the + GSM shield is working correctly. You do not need a SIM card for this example. - + Circuit: - * GSM shield attached - + * GSM shield attached + Created 12 Jun 2012 by David del Peral modified 21 Nov 2012 by Tom Igoe - + http://arduino.cc/en/Tutorial/GSMToolsTestModem - + This sample code is part of the public domain - + */ // libraries @@ -34,10 +34,10 @@ void setup() while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } - + // start modem test (reset and check response) Serial.print("Starting modem test..."); - if(modem.begin()) + if (modem.begin()) Serial.println("modem.begin() succeeded"); else Serial.println("ERROR, no modem answer."); @@ -48,9 +48,9 @@ void loop() // get modem IMEI Serial.print("Checking IMEI..."); IMEI = modem.getIMEI(); - + // check IMEI response - if(IMEI != NULL) + if (IMEI != NULL) { // show IMEI in serial monitor Serial.println("Modem's IMEI: " + IMEI); @@ -58,7 +58,7 @@ void loop() Serial.print("Resetting modem..."); modem.begin(); // get and check IMEI one more time - if(modem.getIMEI() != NULL) + if (modem.getIMEI() != NULL) { Serial.println("Modem is functoning properly"); } @@ -72,6 +72,6 @@ void loop() Serial.println("Error: Could not get IMEI"); } // do nothing: - while(true); + while (true); } diff --git a/libraries/GSM/examples/Tools/TestWebServer/TestWebServer.ino b/libraries/GSM/examples/Tools/TestWebServer/TestWebServer.ino index 5cc3f8af4..1225ad0b4 100644 --- a/libraries/GSM/examples/Tools/TestWebServer/TestWebServer.ino +++ b/libraries/GSM/examples/Tools/TestWebServer/TestWebServer.ino @@ -1,22 +1,22 @@ /* Basic Web Server - + A simple web server that replies with nothing, but prints the client's request and the server IP address. Circuit: * GSM shield attached - - created + + created by David Cuartielles modified 21 Nov 2012 by Tom Igoe - + http://arduino.cc/en/Tutorial/GSMToolsTestWebServer - + This example code is part of the public domain */ - #include +#include // PIN Number #define PINNUMBER "" @@ -33,7 +33,7 @@ GSM gsmAccess; // include a 'true' parameter for debug enabled GSMServer server(80); // port 80 (http default) // timeout -const unsigned long __TIMEOUT__ = 10*1000; +const unsigned long __TIMEOUT__ = 10 * 1000; void setup() { @@ -49,10 +49,10 @@ void setup() // Start GSM shield // If your SIM has PIN, pass it as a parameter of begin() in quotes - while(!connected) + while (!connected) { - if((gsmAccess.begin(PINNUMBER)==GSM_READY) & - (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD)==GPRS_READY)) + if ((gsmAccess.begin(PINNUMBER) == GSM_READY) & + (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY)) connected = true; else { @@ -72,14 +72,14 @@ void setup() Serial.println(LocalIP); } -void loop(){ +void loop() { GSMClient client = server.available(); - - if (client) { - if (client.available()) { - Serial.write(client.read()); - } -} + + if (client) { + if (client.available()) { + Serial.write(client.read()); + } + } }