get-byte

wayland/esp32-preferences/get-byte

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