write-command

wayland/m5stack-unit-lorawan/write-command

Send command to LoRaWAN module. Command reference: https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/unit/lorawan/ASR650X%20AT%20Command%20Introduction-20190605.pdf
write-command
@/write-command
Send command to LoRaWAN module. Command reference: https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/unit/lorawan/ASR650X%20AT%20Command%20Introduction-20190605.pdf
DEV@/lorawan-device
A lorawan-device.
CMDstring
Command
UPDpulse
Update
write-command
DEV
CMD
UPD
Done
Donepulse
Pulse on write.
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_CMD>(ctx);
        
        int N=length(xString)+1;
        char cString[N];
        for(int i=0;i<N;i++)
            cString[i]=0;
        dump(xString, cString);

        LoRaWAN->writeCMD(cString);

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