send-message

wayland/m5stack-unit-lorawan/send-message

Send message. For most applications it will be more convenient to send a formatted using, for example, low power payload (LPP). See: send-lpp node and https://xod.io/libs/wayland/cayenne-lpp/
send-message
@/send-message
Send message. For most applications it will be more convenient to send a formatted using, for example, low power payload (LPP). See: send-lpp node and https://xod.io/libs/wayland/cayenne-lpp/
DEV@/lorawan-device
A lorawan-device.
CFMboolean
Confirm
Trialsnumber
Number of trials.
MSGstring
Command
UPDpulse
Update
send-message
DEV
CFM
Trials
MSG
UPD
Done
Donepulse
Pulse on completion.
To use the node in your project you should have the wayland/m5stack-unit-lorawan 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) {
        if (!isInputDirty<input_UPD>(ctx))
            return;
        auto LoRaWAN = getValue<input_DEV>(ctx);
        auto xString = getValue<input_MSG>(ctx);
        uint8_t cfm = getValue<input_CFM>(ctx);
        uint8_t trials = getValue<input_Trials>(ctx);
        int N=length(xString)+1;
        char cString[N];
        for(int i=0;i<N;i++)
            cString[i]=0;
        dump(xString, cString);
        LoRaWAN->sendMsg(cfm,
                         trials,
                         N-1,
                         cString);

        emitValue<output_Done>(ctx, 1);
    }
}