unloquer / AQA

9 stars 5 forks source link

Problemas de con versión de librería <ESPAsyncTCP> v1.1.2 #29

Closed son0p closed 5 years ago

son0p commented 6 years ago

Al intentar compilar una nueva clonación del repositorio sale un error en platformio-emacs:

.piolibdeps/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:78:28: error: invalid conversion from 'long int (*)(void*, tcp_pcb*, pbuf*, long int)' to 'tcp_recv_fn {aka signed char (*)(void*, tcp_pcb*, pbuf*, signed char)}' [-fpermissive]
tcp_recv(_pcb, &_s_recv);
^

La estructura dependencias que genera es:

Library Dependency Graph
|-- <DHT sensor library> v1.3.0
|   |-- <Adafruit Unified Sensor> v1.0.2
|-- <FastLED> v3.1.6
|   |-- <EspSoftwareSerial>
|-- <DoubleResetDetector> v0.0.2
|-- <ESPAsyncWebServer> v1.1.0
|   |-- <ESPAsyncTCP> v1.1.2
|   |   |-- <ESP8266WiFi> v1.0
|   |-- <ESP8266WiFi> v1.0
|   |-- <Hash> v1.0
|-- <ESPAsyncWifiManager> v0.12
|   |-- <ESP8266WiFi> v1.0
|   |-- <DNSServer> v1.1.0
|   |   |-- <ESP8266WiFi> v1.0
|   |-- <ESPAsyncWebServer> v1.1.0
|   |   |-- <ESPAsyncTCP> v1.1.2
|   |   |   |-- <ESP8266WiFi> v1.0
|   |   |-- <ESP8266WiFi> v1.0
|   |   |-- <Hash> v1.0
|-- <Hash> v1.0
|-- <ESPAsyncTCP> v1.1.2
|   |-- <ESP8266WiFi> v1.0
|-- <ESP8266HTTPClient> v1.1
|   |-- <ESP8266WiFi> v1.0
|-- <TinyGPSPlus>
|-- <EspSoftwareSerial>

Comparandola con la estructura de una copia del repositorio que si compila bien se puede notar el uso de la versión 1.1.0 de ESPAsyncTCP :

Library Dependency Graph
|-- <DHT sensor library> v1.3.0
|   |-- <Adafruit Unified Sensor> v1.0.2
|-- <FastLED> v3.1.6
|   |-- <EspSoftwareSerial>
|-- <DoubleResetDetector> v0.0.2
|-- <ESPAsyncWebServer> v1.1.0
|   |-- <ESPAsyncTCP> v1.1.0
|   |   |-- <ESP8266WiFi> v1.0
|   |-- <ESP8266WiFi> v1.0
|   |-- <Hash> v1.0
|-- <EspSoftwareSerial>
|-- <Hash> v1.0
|-- <ESPAsyncWifiManager> v0.12
|   |-- <DNSServer> v1.1.0
|   |   |-- <ESP8266WiFi> v1.0
|   |-- <ESPAsyncWebServer> v1.1.0
|   |   |-- <ESPAsyncTCP> v1.1.0
|   |   |   |-- <ESP8266WiFi> v1.0
|   |   |-- <ESP8266WiFi> v1.0
|   |   |-- <Hash> v1.0
|   |-- <ESP8266WiFi> v1.0
|-- <ESPAsyncTCP> v1.1.0
|   |-- <ESP8266WiFi> v1.0
|-- <ESP8266HTTPClient> v1.1
|   |-- <ESP8266WiFi> v1.0
|-- <TinyGPSPlus>
son0p commented 6 years ago

El metodo que se ha usado es borrar todas las librerías de platformio

rm -rf .piolibdeps

Instalar la versión

pio lib install "ESPASyncTCP@1.0.1" 

Luego al compilar se reinstalan las librerías restantes.

@brolin esto lo hice de memoria, ¿esta correcto?

brolin commented 6 years ago

Otra solución es actualizar la librería ESPAsyncWebServer a la última versión. Esto implica cambiar en platformio.ini en la variable lib_deps la dependencia a "ESP Async WebServer" (el creador de la librería la renombró con espacios)

Luego al compilar va a salir un error relacionado con freertos/sphxxx.h para solucionar esto borra el contenido de la carpeta .piolibdeps/AsyncTCP_ID1826/ pero no borres la carpeta AsyncTCP_ID1826

el comando que yo usé fue rm -rf .piolibdeps/AsyncTCP_ID1826/** <- esto último es un asterico

después de esto compiló sin problemas

son0p commented 5 years ago

Se cierra porque no se está usando esa librería por ahora.