You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

27 lines
759 B

#include <Preferences.h>
#include <nvs_flash.h>
#include "item.h"
using namespace std;
extern volatile SemaphoreHandle_t xPreferencesSemaphore;
Item::Item(int num) {
if (xSemaphoreTake(xPreferencesSemaphore, portMAX_DELAY) == pdTRUE) {
Preferences preferences;
preferences.begin("vending-items", false);
size_t len;
char buffer[50];
sprintf(buffer, "item%u_name", num);
preferences.getString(buffer, name, sizeof(name));
sprintf(buffer, "item%u_quantity", num);
quantity = preferences.getUInt(buffer, 0);
sprintf(buffer, "item%u_price", num);
price = preferences.getUInt(buffer, 0);
preferences.end();
xSemaphoreGive(xPreferencesSemaphore);
} else {
Serial.print("preferences not available");
}
}