Retrieve specified number from currently open namespace. If record does not exist, the Num pin will output NaN.
get-number
@/get-number
Retrieve specified number from currently open namespace. If record does not exist, the Num pin will output NaN.
Prefs@/preferences
A preferences object.
Keystring
Key name. Limited to 15 chars.
UPDpulse
Update
Donepulse
Pulse on read.
Numnumber
Number retrieved from storage or NAN 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);
float number = prefs -> getFloat(cStringKey, NAN);
emitValue<output_Num>(ctx, number);
emitValue<output_Done>(ctx, 1);
}
}