Error de compilacion en ESP8266 NodeMCU 1.0 (ESP-12E MODULE) con arduino

Estoy tratando de compilar el programa "enrolar" para un sensor de huella digital para una placa
ESP8266 NodeMCU 1.0 (ESP-12E MODULE) y mesale el siguiente error:

mi IDE de Arduino es 1.8.7

C:\Program Files (x86)\Arduino\libraries\Refactron_Fingerprint\Refactron_Fingerprint.cpp:3:24: fatal error: util/delay.h: No such file or directory

#include <util/delay.h>

                   ^

compilation terminated.

exit status 1
Error compilando para la tarjeta NodeMCU 1.0 (ESP-12E Module).


[b]Cabe hacer notar que con arduino uno y placa arduino/genuino uno lo compilo y trabajo muy bien!![/b]

AGRADECERIA DE ANTEMANO SU AYUDA

Enrolar.ino (5.58 KB)

Refactron_Fingerprint.cpp (8.76 KB)

Tengo un proyecto para utilizar un digitalizador de huella y luego mandar el dato por wifi, por esa razón utilizo una tarjeta esp8266 Nodemcu, al tratar de compilarlo me sale el siguiente error:

Arduino:1.8.7 (Windows 10), Tarjeta:"NodeMCU 1.0 (ESP-12E Module), 80 MHz, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Program Files (x86)\Arduino\libraries\Refactron_Fingerprint\Refactron_Fingerprint.cpp:3:24: fatal error: util/delay.h: No such file or directory

 #include <util/delay.h>

                        ^

compilation terminated.

exit status 1
Error compilando para la tarjeta NodeMCU 1.0 (ESP-12E Module).

Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.

Adjunto mi código Enrolar.ino
Agradezco de antemano su ayuda, no "doy con bola"!

Enrolar.ino (5.58 KB)

Muchas gracias por contestar:

Si lei el el error pero cuando compilo con la placa Arduino/genuinio uno lo compila perfectamente, el problema es cuando lo compilo con la placa Nodemcu.

Si lo se, pero este sketch lo baje directamente de la pagina del proveedor, hable con el y no supo decirme el porque, por esta razón estoy preguntando si alguien con mas experiencia que yo en estas placas, que es muy poca ,pudiera ayudarme, ya estuve probando quitando en las librerias la ruta y cambiándola en el .cpp y el .h y no me funciono, como te dije el lo hizo para Arduino uno, tendre que leer mas las especificaciones de la esp8266 y tratar de programarlo yo.

de verdad muchas gracias por tu ayuda!

Como verás es la segunda vez que preguntas lo mismo.
Un hilo en fecha 20-11-2018 y otro el 26/11/18
O sea que ni recuerdas haber posteado otro hilo con el mismo tema.
Esto es doble posteo.
He unido ambos hilos para que veas que son iguales salvo que en el primer caso agregas parte de la librería pero no agregaste el correspondiente Refactron_Fingerprint.h que seguro existe.
Asi que aprovecha este llamado de atencióni para no volver a hacerlo. Hilo abierto, hilo con el que se continúa hasta decir esta [SOLUCIONADO] y lo agregas al título inicial, editándolo.

Ve a tu IDE y donde dice preferencias en el primer menú abajo agregas esto

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Luego abres el Gestor de Plaas y desde Herramientas => Placas instalas la plataforma ESP8266

Open Boards Manager from Tools > Board menu and install esp8266 platform (and don't forget to select your ESP8266 board from Tools > Board menu after installation).

Muchas gracias ya todo eso lo hice y no funciono!

segui investigando con el foro de ESP8266 y me contestaron lo siguiente:

Yes: we have an ESP8266 core for the Arduino IDE (the development environment), but that doesn't mean you can use code written for the Arduino (ATMEL controller) 1:1: there still has to be done a couple of things to make the code compatible with the ESP.

Assumption is the mother of all f*ckups; I should know: I've been assuming a lot.
When you're new, don't start with a separate ESP (ESP-01 to ESP-14) module.
Get yourself a proper development board: NodeMCU - WeMos D1 - WeMos (UNO form factor) - Witty Board
ESP power requirements are 3.3V±10%@500mA
The ESP8266 IS NOT 5V tolerant on ANY pin (see item 5.14 on page 25 of the FAQ)

o sea no se puede utilizar esta placa?

Espressif_FAQ_EN.pdf (1.27 MB)

Esa respuesta que te dieron no resuelve el problema de la librería.

Lo mejor que puedes hacer es usar el fingerprint con un Arduino con el que si funciona bien y que un ESP8266 se comunique con el server para darle la funcionalidad Web que pretendes.

ok, muchísimas gracias por todo !

No me di cuenta antes de sugerirte eso.. puedes usar un ESP01 si quieres pero alimentálo con 3.3V externos.

Esa librería solo está en AVR y estas compilando para ESP. Quitala del código. Las funciones que proporciona las puedes ver aqui. Para el ESP esas funciones (o macros) están definidas por defecto...

Ya lo hicimos. De hecho luce muy parecida a la librería de Adafruit para el mismo fingerprint pero aunque ésta funciona y compila con ESP8266 cuando intentas con el detector, no responde.

Good day,
I was trying to use MAX6675 K-Type termocouple with NODEMCU. I received same error during the compilation process. The problem in my case was that the CPP file from the library tried to use function which was "unknown" for the NODEMCU.
After some research, I found a bit different library which contains just few more declarations and it works fine.

The difference found to be:
In the Original library file (not working with nodemcu):

#ifdef __AVR
#include <avr/pgmspace.h>
#elif defined(ESP8266)
#include <pgmspace.h>
#endif
#include <util/delay.h>
#include <stdlib.h>
#include "max6675.h"

Modified library (working with nodemcu):

#ifdef __AVR
#include <avr/pgmspace.h>
#include <util/delay.h>
#elif defined(ESP8266)
#define _delay_ms(ms) delayMicroseconds((ms) * 1000)
#include <pgmspace.h>
#endif
#include <stdlib.h>
#include "max6675.h"

If I am not wrong, this library is more universal than the old one, since it is using delay.h for AVR processors (as arduino) and has new declaration for the miliseconds interval only for nodemcu.

Hope the above will be useful to solve your problem.

Good luck.