Store a number identifiable by Key in currently open namespace.
put-number
@/put-number
Store a number identifiable by Key in currently open namespace.
Prefs@/preferences
A preferences object.
Keystring
Key name. Limited to 15 chars.
Numnumber
Number to be stored.
UPDpulse
Update.
Donepulse
Pulse on write.
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);
float number = getValue<input_Num>(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);
prefs -> putFloat(cStringKey, number);
emitValue<output_Done>(ctx, 1);
}
}