Compile error when selectring arduino mega 2560 and sim 800

Hi All,

I have a problem, connection Arduino mega 2560 to SIM 800.

I always got this compilation error.

In file included from C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/thinger/thinger.h:29:0,
                 from C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:29,
                 from C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:28,
                 from C:\Users\z003vwxj\AppData\Local\Temp\.arduinoIDE-unsaved2023614-10484-1wsp3uv.qu3i\ArduinoTinyGSM\ArduinoTinyGSM.ino:12:
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/thinger/thinger_resource.hpp:106:10: error: 'function' in namespace 'std' does not name a template type
     std::function<void()> then_;
          ^~~~~~~~
In file included from C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:29:0,
                 from C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:28,
                 from C:\Users\z003vwxj\AppData\Local\Temp\.arduinoIDE-unsaved2023614-10484-1wsp3uv.qu3i\ArduinoTinyGSM\ArduinoTinyGSM.ino:12:
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/thinger/thinger.h: In member function 'void thinger::thinger::handle_request_received(thinger::thinger_message&)':
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/thinger/thinger.h:611:57: error: 'class thinger::thinger_resource' has no member named 'then'
                                         thing_resource->then();
                                                         ^~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/thinger/thinger.h:624:37: error: 'class thinger::thinger_resource' has no member named 'then'
                     thing_resource->then();
                                     ^~~~
In file included from C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:28:0,
                 from C:\Users\z003vwxj\AppData\Local\Temp\.arduinoIDE-unsaved2023614-10484-1wsp3uv.qu3i\ArduinoTinyGSM\ArduinoTinyGSM.ino:12:
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h: At global scope:
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:545:34: error: 'std::function' has not been declared
     void set_state_listener(std::function<void(THINGER_STATE)> state_listener){
                                  ^~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:545:42: error: expected ',' or '...' before '<' token
     void set_state_listener(std::function<void(THINGER_STATE)> state_listener){
                                          ^
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:561:10: error: 'function' in namespace 'std' does not name a template type
     std::function<void(THINGER_STATE)> state_listener_;
          ^~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h: In member function 'virtual void ThingerClient::run_reboot()':
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:369:20: error: 'WDTO_15MS' was not declared in this scope
         wdt_enable(WDTO_15MS);
                    ^~~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:369:9: error: 'wdt_enable' was not declared in this scope
         wdt_enable(WDTO_15MS);
         ^~~~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:369:9: note: suggested alternative: 'mutable'
         wdt_enable(WDTO_15MS);
         ^~~~~~~~~~
         mutable
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h: In member function 'virtual void ThingerClient::thinger_state_listener(ThingerClient::THINGER_STATE)':
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:433:12: error: 'state_listener_' was not declared in this scope
         if(state_listener_) state_listener_(state);
            ^~~~~~~~~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:433:12: note: suggested alternative: 'set_state_listener'
         if(state_listener_) state_listener_(state);
            ^~~~~~~~~~~~~~~
            set_state_listener
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h: In member function 'void ThingerClient::set_state_listener(int)':
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:546:9: error: 'state_listener_' was not declared in this scope
         state_listener_ = state_listener;
         ^~~~~~~~~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:546:9: note: suggested alternative: 'set_state_listener'
         state_listener_ = state_listener;
         ^~~~~~~~~~~~~~~
         set_state_listener
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:546:27: error: 'state_listener' was not declared in this scope
         state_listener_ = state_listener;
                           ^~~~~~~~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerClient.h:546:27: note: suggested alternative: 'set_state_listener'
         state_listener_ = state_listener;
                           ^~~~~~~~~~~~~~
                           set_state_listener
In file included from C:\Users\z003vwxj\AppData\Local\Temp\.arduinoIDE-unsaved2023614-10484-1wsp3uv.qu3i\ArduinoTinyGSM\ArduinoTinyGSM.ino:12:0:
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h: At global scope:
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:123:30: error: 'std::function' has not been declared
     void setModuleReset(std::function<void()> module_reset){
                              ^~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:123:38: error: expected ',' or '...' before '<' token
     void setModuleReset(std::function<void()> module_reset){
                                      ^
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:138:10: error: 'function' in namespace 'std' does not name a template type
     std::function<void()> module_reset_;
          ^~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h: In member function 'virtual bool ThingerTinyGSM::connect_network()':
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:59:12: error: 'module_reset_' was not declared in this scope
         if(module_reset_) module_reset_();
            ^~~~~~~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:59:12: note: suggested alternative: 'setModuleReset'
         if(module_reset_) module_reset_();
            ^~~~~~~~~~~~~
            setModuleReset
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h: In member function 'void ThingerTinyGSM::setModuleReset(int)':
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:124:9: error: 'module_reset_' was not declared in this scope
         module_reset_ = module_reset;
         ^~~~~~~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:124:9: note: suggested alternative: 'setModuleReset'
         module_reset_ = module_reset;
         ^~~~~~~~~~~~~
         setModuleReset
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:124:25: error: 'module_reset' was not declared in this scope
         module_reset_ = module_reset;
                         ^~~~~~~~~~~~
C:\Users\z003vwxj\Documents\Arduino\libraries\thinger.io\src/ThingerTinyGSM.h:124:25: note: suggested alternative: 'setModuleReset'
         module_reset_ = module_reset;
                         ^~~~~~~~~~~~
                         setModuleReset

exit status 1

Compilation error: exit status 1```

Anyone has any idea why not compiling? 

Thinger.io library last version.

@alvarolb any help please

Hi,

Which enviroment ide version and library are you using?

Arduino IDE version 1.8.6 or 2.1.1

Latest version thingerio library.

@ega any updates?

Hi,

Downgrade the library to 2.17 version and try again, it compiles without issues.

Hope this helps.