ekstrand / ESP8266wifi

ESP8266 Arduino library with built in reconnect functionality
MIT License
450 stars 235 forks source link

Compatibility Issues with Ethernet library #26

Open geoffrey2312 opened 7 years ago

geoffrey2312 commented 7 years ago

Basically I want to convert the Settimino (arduino Snap7 library) across to WiFi using the nodeMCU as an arduino. I have edited the Settimino library to #include ESP8266WiFi and changed the class from ethernet to WiFi, however I get compiler errors from Arduino IDE that I dont quite know how to fix.

Has anyone else had experience with porting an ethernet based library to wifi or how to fix these errors.

Thank you.

In file included from \Documents\Arduino\libraries\Settimino\Settimino.h:42:0,

from \Documents\Arduino\libraries\Settimino\Settimino.cpp:26:

\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h: In instantiation of 'size_t WiFiClient::write(T&, size_t) [with T = unsigned char [22]; size_t = unsigned int]':

\Documents\Arduino\libraries\Settimino\Settimino.cpp:426:41: required from here

\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h:123:36: error: request for member 'available' in 'source', which is of non-class type 'unsigned char [22]'

size_t left = source.available();

^

\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h:127:5: error: request for member 'read' in 'source', which is of non-class type 'unsigned char [22]'

source.read(buffer.get(), will_send);

^

\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h: In instantiation of 'size_t WiFiClient::write(T&, size_t) [with T = unsigned char [25]; size_t = unsigned int]':

\Documents\Arduino\libraries\Settimino\Settimino.cpp:446:39: required from here

\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h:123:36: error: request for member 'available' in 'source', which is of non-class type 'unsigned char [25]'

size_t left = source.available();

^

C:\Users\Geoff-Work\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h:127:5: error: request for member 'read' in 'source', which is of non-class type 'unsigned char [25]'

source.read(buffer.get(), will_send);

^

\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h: In instantiation of 'size_t WiFiClient::write(T&, size_t) [with T = unsigned char [35]; size_t = unsigned int]':

\Arduino\libraries\Settimino\Settimino.cpp:543:34: required from here

\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h:123:36: error: request for member 'available' in 'source', which is of non-class type 'unsigned char [35]'

size_t left = source.available();

^

\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/WiFiClient.h:127:5: error: request for member 'read' in 'source', which is of non-class type 'unsigned char [35]'

source.read(buffer.get(), will_send);

^

exit status 1 Error compiling. - See more at: http://www.esp8266.com/viewtopic.php?f=6&t=11109&e=0#sthash.kz6iclMu.dpuf

renu285 commented 7 years ago

Just in case somebody runs into this issue. The following post solved this error. http://www.esp8266.com/viewtopic.php?f=29&t=7525