Chat about current Lua tools and IDEs

User avatar
By batu
#79284 I have a Project to use a digital fingerprint and send to wifi the datas, and I used ESP8266 Nodemcu 1.0

and I had an error:

Code: Select allArduino: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



this is my Enrolar.ino
Code: Select all#include <Refactron_Fingerprint.h>
#include <SoftwareSerial.h>

int id;
// pin #2 - Entrada desde el Sensor
// pin #3 - Salida de desde Arduino
SoftwareSerial MySerial(2, 3);

Refactron_Fingerprint finger = Refactron_Fingerprint(&MySerial, 5);

void setup()
{
  Serial.begin(57600);
  Serial.println("Refactron: Buscando Sensor de Huella");

  //Setea la velocidad de comunicacion con el sensor de huella
  //Iniciar verificando los valores de 57600
  finger.begin(57600);

  if (finger.VerificarClave()) {
    Serial.println("Sensor de Huella RFN150 Encontrado :) ");
  } else {
    Serial.println("Error: No fue posible encontrar al sensor de Huella  :(  :( ");
    while (1);
  }
}


void loop()
{
  Serial.println("Ingrese la posicion donde va a guardar la huella (0-299): ");
  id = readnumber();
  Serial.print("Posicion ID #");
  Serial.println(id);

  while (getFingerprintEnroll(id));
}

int readnumber(void) {
  int num = 0;
  boolean validnum = false;
  while (1) {
    while (! Serial.available());
    char c = Serial.read();
    if (isdigit(c)) {
      num *= 10;
      num += c - '0';
      validnum = true;
    } else if (validnum) {
      return num;
    }
  }
}

boolean getFingerprintEnroll(int id)
{
  int p = -1;
  Serial.println("Esperando una huella valida para guardar");

  while (p != SDACTILAR_OK) {
    p = finger.CapturarImagen();
    switch (p) {
      case SDACTILAR_OK:
        Serial.println(" ");
        Serial.println("Imagen Tomada");
        break;
      case SDACTILAR_D_NO_DETECTADO:
        Serial.print(".");
        //Serial.println("No se encuentra al dedo");
        break;
      case SDACTILAR_PAQUETE_IN_ERROR:
        Serial.println("Error al recibir el paquete");
        break;
      case SDACTILAR_IMG_ERROR:
        Serial.println("Error al determinar la imagen");
        break;
      default:
        Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
        break;
    }
  }

  // OK success!
  p = -1;
  p = finger.GenerarImg2Tz(1);
  switch (p) {
    case SDACTILAR_OK:
      Serial.println("Imagen Convertida");
      break;
    case SDACTILAR_IMGCONFUSA:
      Serial.println("Imagen muy confusa");
      return false;
    case SDACTILAR_PAQUETE_IN_ERROR:
      Serial.println("Paquetes Errados");
      return false;
    case SDACTILAR_RASGOSERROR:
      Serial.println("No es posible detectar los rasgos caracteriticos");
      return false;
    case SDACTILAR_IMGINVALIDA:
      Serial.println("Imagen invalida");
      return false;
    default:
      Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
      return false;
  }
  //------------------------------------
  Serial.println("Retire el Dedo"); Serial.println("");
  delay(2000);
  p = -1;
  while (p != SDACTILAR_D_NO_DETECTADO) {
    p = finger.CapturarImagen();
  }
  p = -1;
  Serial.println("Por favor vuelva a poner nuevamente el Dedo");

  while (p != SDACTILAR_OK) {
    p = finger.CapturarImagen();
    switch (p) {
      case SDACTILAR_OK:
        Serial.println(" ");
        Serial.println("Imagen Tomada");
        break;
      case SDACTILAR_D_NO_DETECTADO:
        Serial.print(".");
        //Serial.println("No se encuentra al dedo");
        break;
      case SDACTILAR_PAQUETE_IN_ERROR:
        Serial.println("Error al recibir el paquete");
        break;
      case SDACTILAR_IMG_ERROR:
        Serial.println("Error al determinar la imagen");
        break;
      default:
        Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
        break;
    }
  }
  // OK success!
  p = -1;
  p = finger.GenerarImg2Tz(2);
  switch (p) {
    case SDACTILAR_OK:
      Serial.println("Imagen Convertida");
      break;
    case SDACTILAR_IMGCONFUSA:
      Serial.println("Imagen muy confusa");
      return false;
    case SDACTILAR_PAQUETE_IN_ERROR:
      Serial.println("Paquetes Errados");
      return false;
    case SDACTILAR_RASGOSERROR:
      Serial.println("No es posible detectar los rasgos caracteriticos");
      return false;
    case SDACTILAR_IMGINVALIDA:
      Serial.println("Imagen invalida");
      return false;
    default:
      Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
      return false;
  }
  // OK converted!
  p = -1;
  p = finger.CrearModelo();
  if (p == SDACTILAR_OK)
  {
    Serial.println("Muestras de Huellas si Coinciden!"); Serial.println("");
  } else if (p == SDACTILAR_PAQUETE_IN_ERROR) {
    Serial.println("Error de comunicacion");
    return false;
  } else if (p == SDACTILAR_ENROLL_MISMATCH) {
    Serial.println("Muestras de Huellas NO Coinciden!"); Serial.println("");
    return false;
  } else {
    Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
    return false;
  }

  Serial.print("ID #"); Serial.println(id);
  p = finger.GuardarModelo(id);
  if (p == SDACTILAR_OK) {
    Serial.println("EXITO - Huella Guardada!"); Serial.println(""); delay(1000);
  } else if (p == SDACTILAR_PAQUETE_IN_ERROR) {
    Serial.println("Error de comunicacion");
    return false;
  } else if (p == SDACTILAR_ERROR_UBICACION) {
    Serial.println("No se puede ubicar en la ubicacion asignada");
    return false;
  } else if (p == SDACTILAR_ERROR_FLASH) {
    Serial.println("Error escribiendo en la flash");
    return false;
  } else {
    Serial.print("Error Desconocido: 0x"); Serial.println(p, HEX);
    return false;
  }
  return false;
}


with Arduino/uno Works successfully !!
User avatar
By QuickFix
#79338
batu wrote:with Arduino/uno Works successfully !!

Shouldn't you be asking this in the Arduino forums instead (this is the LUA-forum)? :idea:

Please note: ESP8266 <> ATMEL (Arduino)

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.