[1103e9]: / project / sparkplug™_mqtt_edge_and_host-stack_b9741afd / function_blocks_8ad6e219 / fb_payload_ad205903 / fb_payload_ddc74abf / encode_61dc3ecf / encodenextdouble_77879e1a / 77879e1ac2c9453299c9c09c66a77f1b.object  Maximize  Restore  History

Download this file

1 lines (1 with data), 10.0 kB

1
{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)77879e1a-c2c9-4532-99c9-c09c66a77f1b","ParentGuid":"(Guid)ddc74abf-e7a4-407a-a4f5-0c8338e771b9","Name":"(string)EncodeNextDouble","Properties":{"@Type":"2c41fa04:IDictionary","@Value":[{"@Key":"(Guid)829a18f2-c514-4f6e-9634-1df173429203","@Value":{"@Type":"829a18f2","@Value":{"ParentObjects":{"@Type":"fa2ee218:IDictionary","@Value":[{"@Key":"(Guid)21af5390-2942-461a-bf89-951aaf6999f1","@Value":"(Guid)61dc3ecf-4aea-47a6-9ff3-993acbde812d"}]}}}}]},"TypeGuid":"(Guid)f8a58466-d7f6-439f-bbb8-d4600e41d099","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","829a18f2":"{829a18f2-c514-4f6e-9634-1df173429203}","fa2ee218":"{fa2ee218-a39b-4b6d-b249-49dbddbd168a}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"f8a58466","@Value":{"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)683","Tag":null,"Text":"(string)//i will start pointing to the first byte of where to store the double"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)684","Tag":null,"Text":"(string)//TIP Protobuf floats (least significant byte will come first)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)685","Tag":null,"Text":"(string)IF ProtobufFieldNumber <> 0 THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)686","Tag":null,"Text":"(string)    // Encode the field number first"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)687","Tag":null,"Text":"(string)    IF ProtobufFieldNumber > 15 THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)688","Tag":null,"Text":"(string)        //If it is over 15, you gotta encode it as a varint"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)689","Tag":null,"Text":"(string)        dviTemp.UInt32 := SHL(TO_UDINT(ProtobufFieldNumber),"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)690","Tag":null,"Text":"(string)            3) OR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)691","Tag":null,"Text":"(string)            TO_UDINT(DoubleWireType);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)692","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)693","Tag":null,"Text":"(string)        EncodeNextDouble := EncodeNextVarInt(ValueToEncode := dviTemp,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)694","Tag":null,"Text":"(string)            ProtobufFieldNumber := 0);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)695","Tag":null,"Text":"(string)    ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)696","Tag":null,"Text":"(string)        IF _protobufBlobUpper < i THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)697","Tag":null,"Text":"(string)            //ERROR, there's not even enough room to write one byte!"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)698","Tag":null,"Text":"(string)            EncodeNextDouble := ERROR.PayloadNotEnoughProtobufBlob;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)699","Tag":null,"Text":"(string)        ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)700","Tag":null,"Text":"(string)            //OK, now you can encode it"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)701","Tag":null,"Text":"(string)            myProtobufBlob[i] := SHL(ProtobufFieldNumber,"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)702","Tag":null,"Text":"(string)                3) OR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)703","Tag":null,"Text":"(string)                DoubleWireType;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)704","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)705","Tag":null,"Text":"(string)            i := i + 1;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)706","Tag":null,"Text":"(string)        END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)707","Tag":null,"Text":"(string)    END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)708","Tag":null,"Text":"(string)END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)709","Tag":null,"Text":"(string)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)710","Tag":null,"Text":"(string)IF EncodeNextDouble = ERROR.NO_ERROR THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)711","Tag":null,"Text":"(string)    IF (SIZEOF(ValueToEncode) <= (_protobufBlobUpper - i + 1)) THEN"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)712","Tag":null,"Text":"(string)        //ENCODE the Float.  First low byte... last high byte"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)713","Tag":null,"Text":"(string)        bytes := ADR(ValueToEncode);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)714","Tag":null,"Text":"(string)        {IF defined (IsLittleEndian)}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)715","Tag":null,"Text":"(string)        myProtobufBlob[i] := bytes[0];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)716","Tag":null,"Text":"(string)        myProtobufBlob[i + 1] := bytes[1];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)717","Tag":null,"Text":"(string)        myProtobufBlob[i + 2] := bytes[2];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)718","Tag":null,"Text":"(string)        myProtobufBlob[i + 3] := bytes[3];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)719","Tag":null,"Text":"(string)        myProtobufBlob[i + 4] := bytes[4];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)720","Tag":null,"Text":"(string)        myProtobufBlob[i + 5] := bytes[5];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)721","Tag":null,"Text":"(string)        myProtobufBlob[i + 6] := bytes[6];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)722","Tag":null,"Text":"(string)        myProtobufBlob[i + 7] := bytes[7];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)723","Tag":null,"Text":"(string)        {ELSE}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)724","Tag":null,"Text":"(string)        myProtobufBlob[i] := bytes[7];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)725","Tag":null,"Text":"(string)        myProtobufBlob[i + 1] := bytes[6];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)726","Tag":null,"Text":"(string)        myProtobufBlob[i + 2] := bytes[5];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)727","Tag":null,"Text":"(string)        myProtobufBlob[i + 3] := bytes[4];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)728","Tag":null,"Text":"(string)        myProtobufBlob[i + 4] := bytes[3];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)729","Tag":null,"Text":"(string)        myProtobufBlob[i + 5] := bytes[2];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)730","Tag":null,"Text":"(string)        myProtobufBlob[i + 6] := bytes[1];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)731","Tag":null,"Text":"(string)        myProtobufBlob[i + 7] := bytes[0];"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)732","Tag":null,"Text":"(string)        {END_IF}"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)733","Tag":null,"Text":"(string)        i := i + SIZEOF(ValueToEncode);"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)734","Tag":null,"Text":"(string)    ELSE"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)735","Tag":null,"Text":"(string)        EncodeNextDouble := ERROR.PayloadNotEnoughProtobufBlob;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)736","Tag":null,"Text":"(string)    END_IF"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)737","Tag":null,"Text":"(string)END_IF;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)133","Tag":null,"Text":"(string)//i will end pointing to one after the last byte of the double (ie, an as yet unused address)"}}]}}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextLines":{"@Type":"[a5de0b0b]","@Value":[{"@Type":"a5de0b0b","@Value":{"Id":"(long)665","Tag":null,"Text":"(string)(*"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)666","Tag":null,"Text":"(string)    This Writes a float a.k.a. REAL to the next available slot in the BLOB array"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)667","Tag":null,"Text":"(string)\tWill return ERROR.NO_ERROR (= 0) if successful"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)668","Tag":null,"Text":"(string)*)"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)669","Tag":null,"Text":"(string)METHOD EncodeNextDouble : ERROR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)670","Tag":null,"Text":"(string)//from the main FB"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)671","Tag":null,"Text":"(string)//i :DINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)672","Tag":null,"Text":"(string)//myProtobufBlob : ARRAY OF BYTE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)673","Tag":null,"Text":"(string)//udiPayloadSize : UDINT;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)674","Tag":null,"Text":"(string)VAR_INPUT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)675","Tag":null,"Text":"(string)    ValueToEncode : LREAL;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)676","Tag":null,"Text":"(string)    ProtobufFieldNumber : BYTE; //Set to 0 to not include."}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)677","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)678","Tag":null,"Text":"(string)VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)679","Tag":null,"Text":"(string)    bytes : POINTER TO BYTE;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)680","Tag":null,"Text":"(string)END_VAR"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)681","Tag":null,"Text":"(string)VAR CONSTANT"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)682","Tag":null,"Text":"(string)    DoubleWireType : BYTE := 1;"}},{"@Type":"a5de0b0b","@Value":{"Id":"(long)155","Tag":null,"Text":"(string)END_VAR"}}]}}}}}}},"TypeInfos":{"3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","a5de0b0b":"{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","f8a58466":"{f8a58466-d7f6-439f-bbb8-d4600e41d099}","long":"System.Int64","string":"System.String"}}},"FormatVersion":"1.0"}