Unable to compile with the GSM Shield 2 ???

Hello Evryone,

I am using Arduino version 1.6.6 with the Arduino Uno and the Arduino GSM Shield 2. When I try to compile the GSM SendSMS example, I get this Error: (verbose below):

Arduino: 1.6.6 (Windows 7), Board: "Arduino/Genuino Uno"

In file included from C:\Program Files (x86)\Arduino\libraries\GSM\src/GSM.h:46:0,

                 from C:\Program Files (x86)\Arduino\libraries\GSM\examples\SendSMS\SendSMS.ino:25:

C:\Program Files (x86)\Arduino\libraries\GSM\src/GSM3ShieldV1BandManagement.h:49:125: warning: 'typedef' was ignored in this declaration [enabled by default]

 typedef enum GSM3GSMBand {UNDEFINED, EGSM_MODE, DCS_MODE, PCS_MODE, EGSM_DCS_MODE, GSM850_PCS_MODE, GSM850_EGSM_DCS_PCS_MODE};

                                                                                                                             ^

C:\Program Files (x86)\Arduino\libraries\GSM\examples\SendSMS\SendSMS.ino: In function 'void setup()':

C:\Program Files (x86)\Arduino\libraries\GSM\examples\SendSMS\SendSMS.ino:48:34: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

     if (gsmAccess.begin(PINNUMBER) == GSM_READY) {

                                  ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3MobileMockupProvider.cpp: In constructor 'GSM3MobileMockupProvider::GSM3MobileMockupProvider()':

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3MobileMockupProvider.cpp:44:12: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

  msgExample="Hello#World";

            ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3MobileMockupProvider.cpp: In member function 'int GSM3MobileMockupProvider::connectTCPServer(int, char*, int*)':

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3MobileMockupProvider.cpp:183:32: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

   strcpy("192.168.1.1", localIP);

                                ^

In file included from C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1BandManagement.cpp:34:0:

C:\Program Files (x86)\Arduino\libraries\GSM\src/GSM3ShieldV1BandManagement.h:49:125: warning: 'typedef' was ignored in this declaration [enabled by default]

 typedef enum GSM3GSMBand {UNDEFINED, EGSM_MODE, DCS_MODE, PCS_MODE, EGSM_DCS_MODE, GSM850_PCS_MODE, GSM850_EGSM_DCS_PCS_MODE};

                                                                                                                             ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1BandManagement.cpp: In constructor 'GSM3ShieldV1BandManagement::GSM3ShieldV1BandManagement(bool)':

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1BandManagement.cpp:38:27: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

  quectelStrings[UNDEFINED]="";

                           ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1BandManagement.cpp:39:27: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

  quectelStrings[EGSM_MODE]="\"EGSM_MODE\"";

                           ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1BandManagement.cpp:40:26: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

  quectelStrings[DCS_MODE]="\"DCS_MODE\"";

                          ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1BandManagement.cpp:41:26: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

  quectelStrings[PCS_MODE]="\"PCS_MODE\"";

                          ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1BandManagement.cpp:42:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

  quectelStrings[EGSM_DCS_MODE]="\"EGSM_DCS_MODE\"";

                               ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1BandManagement.cpp:43:33: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

  quectelStrings[GSM850_PCS_MODE]="\"GSM850_PCS_MODE\"";

                                 ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1BandManagement.cpp:44:42: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

  quectelStrings[GSM850_EGSM_DCS_PCS_MODE]="\"GSM850_EGSM_DCS_PCS_MODE\"";

                                          ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1ModemCore.cpp:39:14: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

 char* __ok__="OK";

              ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1ModemVerification.cpp: In member function 'String GSM3ShieldV1ModemVerification::getIMEI()':

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1ModemVerification.cpp:64:20: warning: passing NULL to non-pointer argument 1 of 'String::String(int, unsigned char)' [-Wconversion-null]

  String number(NULL);

                    ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1SMSProvider.cpp: In member function 'void GSM3ShieldV1SMSProvider::beginSMSContinue()':

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1SMSProvider.cpp:68:57: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

   if(theGSM3ShieldV1ModemCore.genericParse_rsp(resp, ">"))

                                                         ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1ScanNetworks.cpp: In member function 'String GSM3ShieldV1ScanNetworks::getCurrentCarrier()':

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1ScanNetworks.cpp:66:21: warning: passing NULL to non-pointer argument 1 of 'String::String(int, unsigned char)' [-Wconversion-null]

   return String(NULL);

                     ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1ScanNetworks.cpp: In member function 'String GSM3ShieldV1ScanNetworks::getSignalStrength()':

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3ShieldV1ScanNetworks.cpp:85:21: warning: passing NULL to non-pointer argument 1 of 'String::String(int, unsigned char)' [-Wconversion-null]

   return String(NULL);

                     ^

In file included from C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3SoftSerial.cpp:38:0:

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3SoftSerial.cpp: In member function 'int GSM3SoftSerial::begin(long int)':

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3SoftSerial.cpp:167:27: error: '__RXPIN__' was not declared in this scope

     if (digitalPinToPCICR(__RXPIN__))

                           ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard/pins_arduino.h:56:36: note: in definition of macro 'digitalPinToPCICR'

 #define digitalPinToPCICR(p)    (((p) >= 0 && (p) <= 21) ? (&PCICR) : ((uint8_t *)0))

                                    ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3SoftSerial.cpp: In member function 'void GSM3SoftSerial::setTX()':

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3SoftSerial.cpp:263:11: error: '__TXPIN__' was not declared in this scope

   pinMode(__TXPIN__, OUTPUT);

           ^

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3SoftSerial.cpp: In member function 'void GSM3SoftSerial::setRX()':

C:\Program Files (x86)\Arduino\libraries\GSM\src\GSM3SoftSerial.cpp:273:11: error: '__RXPIN__' was not declared in this scope

   pinMode(__RXPIN__, INPUT);

           ^

exit status 1
Error compiling.

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.

May I need to change something in the Library?
Any Idea about this issue???.

Thank you in advance

Foks

Why on earth are you trying to make a String instance NULL? That is NOT how to empty the data from the char array that the String wraps.

Warnings are NOT errors.

I got Error compiling. The Code or the example is from the examples GSM SendSMS. If you don't trust me. Try to compile by yourself.

Try to compile by yourself.

I get the same error you do when I use a library that is incompatible with the hardware I have.