Started adding Enroll funktions and ble parsing
This commit is contained in:
parent
7e482344d2
commit
9ac2327812
62
beerbox.ino
62
beerbox.ino
@ -21,6 +21,7 @@ char toprint[255];
|
||||
Beerbox *box;
|
||||
|
||||
int drinksMax = 1; // TODO add this to the box struct
|
||||
int maxID = 0;
|
||||
int lastButtonState = 1;
|
||||
|
||||
int currentDrink = 0;
|
||||
@ -54,6 +55,9 @@ void setup() {
|
||||
// RFID Reader init
|
||||
Serial1.begin(9600);
|
||||
|
||||
// BLE Com init
|
||||
Serial3.begin(115200);
|
||||
|
||||
|
||||
Serial.print("Initializing SD card...");
|
||||
// On the Ethernet Shield, CS is pin 4. It's set as an output by default.
|
||||
@ -79,9 +83,9 @@ void setup() {
|
||||
lcd.setCursor(0, 1);
|
||||
lcd.print(box->drinks[0].name);
|
||||
currentDrink = 0;
|
||||
box->waiting=false;
|
||||
box->waiting = false;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -94,6 +98,31 @@ void loop() {
|
||||
|
||||
boxTimer();
|
||||
|
||||
|
||||
|
||||
|
||||
if (Serial3.available() > 0) {
|
||||
char incomingByte = Serial3.read();
|
||||
if (incomingByte == '!') { //2 createnew user
|
||||
incomingByte = Serial3.read();
|
||||
String personName;
|
||||
while (incomingByte != ';')
|
||||
{
|
||||
personName = String(personName + incomingByte);
|
||||
incomingByte = Serial3.read();
|
||||
}
|
||||
Serial.println(personName);
|
||||
lcd.clear();
|
||||
lcd.print(personName);
|
||||
//lcd.setCursor(0,1);
|
||||
//lcd.print("Fin pls");
|
||||
//while(getFingerprintEnroll(maxID+1)!=0)
|
||||
maxID++;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}//end loop
|
||||
|
||||
|
||||
@ -218,7 +247,7 @@ Person read_person(Beerbox *box, char *filename) {
|
||||
while (read_line_from_file(read, tmp, sizeof(tmp)), strlen(tmp) > 0) {
|
||||
int tmpCount = 0;
|
||||
int tmpDrink = 0;
|
||||
sscanf(tmp, "drink_Count_%d: %d",&tmpDrink, &tmpCount);
|
||||
sscanf(tmp, "drink_Count_%d: %d", &tmpDrink, &tmpCount);
|
||||
if (strlen(tmp)) {
|
||||
Serial.print("drink: ");
|
||||
Serial.print(tmpDrink);
|
||||
@ -245,6 +274,7 @@ void print_person(Beerbox *box, Person *aperson) {
|
||||
sprintf(toprint, "rfid_uuid: %s\n", aperson->rfid_uuid);
|
||||
Serial.write(toprint);
|
||||
sprintf(toprint, "finger_uuid: %u\n", aperson->finger_uuid);
|
||||
if(aperson->finger_uuid > maxID) maxID=aperson->finger_uuid;
|
||||
Serial.print(toprint);
|
||||
sprintf(toprint, "credits_left: %u\n", aperson->credits_left);
|
||||
Serial.print(toprint);
|
||||
@ -252,12 +282,12 @@ void print_person(Beerbox *box, Person *aperson) {
|
||||
for (i = 0; i < drinksMax; i++) {
|
||||
|
||||
if (aperson->drinks_taken[i] != -1) {
|
||||
sprintf(toprint, "\nDrink: %s\n", box->drinks[i].name);
|
||||
Serial.write(toprint);
|
||||
sprintf(toprint, "Drink %d: %d\n", i,aperson->drinks_taken[i]);
|
||||
Serial.write(toprint);
|
||||
sprintf(toprint, "Total: %d.%02d Euro\n", aperson->drinks_taken[i]*box->drinks[i].price / 100, (aperson->drinks_taken[i]*box->drinks[i].price) % 100);
|
||||
Serial.write(toprint);
|
||||
sprintf(toprint, "\nDrink: %s\n", box->drinks[i].name);
|
||||
Serial.write(toprint);
|
||||
sprintf(toprint, "Drink %d: %d\n", i, aperson->drinks_taken[i]);
|
||||
Serial.write(toprint);
|
||||
sprintf(toprint, "Total: %d.%02d Euro\n", aperson->drinks_taken[i]*box->drinks[i].price / 100, (aperson->drinks_taken[i]*box->drinks[i].price) % 100);
|
||||
Serial.write(toprint);
|
||||
}
|
||||
|
||||
}
|
||||
@ -275,7 +305,7 @@ int update_pers_file() {
|
||||
int i = 0;
|
||||
//Serial.println(thisPerson.file_name);
|
||||
write = SD.open(thisPerson.file_name, FILE_WRITE);
|
||||
|
||||
|
||||
if (write == NULL) {
|
||||
Serial.print("error while reading!\n");
|
||||
Serial.print("ABORT!\n\n");
|
||||
@ -283,7 +313,7 @@ int update_pers_file() {
|
||||
}
|
||||
write.seek(0);
|
||||
|
||||
|
||||
|
||||
sprintf(tmp, "%s\n", thisPerson.name);
|
||||
write.write(tmp, strlen(tmp));
|
||||
sprintf(tmp, "rfid_uuid: %s\n", thisPerson.rfid_uuid);
|
||||
@ -369,11 +399,11 @@ Person* readAllPersons () {
|
||||
}
|
||||
entry.close();
|
||||
}
|
||||
//now store them
|
||||
Person* readPersons = new Person[personCount];
|
||||
int counter = 0;
|
||||
dir.rewindDirectory();
|
||||
while (true) {
|
||||
//now store them
|
||||
Person* readPersons = new Person[personCount];
|
||||
int counter = 0;
|
||||
dir.rewindDirectory();
|
||||
while (true) {
|
||||
File entry = dir.openNextFile();
|
||||
if (! entry) {// no more files
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user