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
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");
|
|
}
|
|
}
|
|
|