asdasdasd

Dependencies:   mbed

Fork of FINAL_PROJECT_4180 by Gedeon Nyengele

lib.cpp

Committer:
nyengele
Date:
2016-04-25
Revision:
2:1b1c0502bb08
Parent:
1:0e5e9821d89d
Child:
3:83415d375d36

File content as of revision 2:1b1c0502bb08:

#include "mbed.h"
#include "lib.h"

int hashcode(const char *data, int size)
{
    int hash = 17;
    for (int i = 0; i < size; i++) {
        hash += 31*hash + data[i];
    }
    return hash;
}
void read_mag_card(Serial *device, char *dest, int *size)
{
    int pos = 0;
    bool done = false;
    int markercount = 0;
    while (!done) {
        while (!device->readable());
        dest[pos] = device->getc();
        if (dest[pos] == '?') markercount++;
        if (markercount >= 2) done  = true;
        pos++;
    }
    *size = pos - 1;
}

bool fp_enroll(FPScanner *fp)
{
    bool status = true;
    fp->SetLED(true);
    while(!fp->IsPressFinger()) wait(0.030);
    fp->CaptureFinger(true);
    if (fp->Identify1_N() == 200) {
        int id = fp->GetEnrollCount();
        if (fp->EnrollStart(id) == 0) {
            fp->CaptureFinger(true);
            fp->Enroll1();
            fp->CaptureFinger(true);
            fp->Enroll2();
            fp->CaptureFinger(true);
            fp->Enroll3();
            fp->SetLED(false);
        } else status = false;
    } else status = false;

    return status;
}

bool fp_auth(FPScanner *fp)
{
    bool status = false;
    fp->SetLED(true);
    while(!fp->IsPressFinger()) wait(0.030);
    fp->CaptureFinger(true);
    if (fp->Identify1_N() != 200) status = true;
    fp->SetLED(false);
    return status;
}