Retrieve specified byte from currently open namespace. If record does not exist, the Byte pin will output 0.
get-byte
@/get-byte
Retrieve specified byte from currently open namespace. If record does not exist, the Byte pin will output 0.
Prefs@/preferences
A preferences object.
Keystring
Key name. Limited to 15 chars.
UPDpulse
Update
Donepulse
Pulse on read.
Bytebyte
Byte retrieved from storage or 0 if key not found.
To use the node in your project you should have the wayland/esp32-preferences library installed. Use the “File → Add Library” menu item in XOD IDE if you don’t have it yet. See Using libraries for more info.
C++ implementation
#pragma XOD evaluate_on_pin disable
#pragma XOD evaluate_on_pin enable input_UPD
node {
void evaluate(Context ctx) {
// The node responds only if there is an input pulse
if (!isInputDirty<input_UPD>(ctx))
return;
auto prefs = getValue<input_Prefs>(ctx);
auto xStringKey = getValue<input_Key>(ctx);
int N=length(xStringKey);
if (N>15 || N<1) {
raiseError(ctx);
return;
}
N +=1;
char cStringKey[N];
for(int i=0;i<N;i++)
cStringKey[i]=0;
dump(xStringKey, cStringKey);
uint8_t byte = prefs -> getUChar(cStringKey, 0);
emitValue<output_Byte>(ctx, byte);
emitValue<output_Done>(ctx, 1);
}
}