get-number

wayland/esp32-preferences/get-number

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
get-number
Prefs
Key
UPD
Num
Done
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);
    }
}