Ejemplo n.º 1
0
        public void Test_Deserialize_Txpk_Version_2()
        {
            var messageType     = MessageType.PULL_RESP;
            var message         = "{\"txpk\":{\"tmst\":1207995511768,\"freq\":868.0,\"rfch\":0,\"powe\":14,\"modu\":\"LORA\",\"datr\":\"SF10BW125\",\"codr\":\"4/8\",\"ipol\":true,\"ncrc\":true,\"size\":12,\"data\":\"YAEAAAAgUK8I3BXl\"}}";
            var protocolVersion = 2;

            IPacketPayload payload = null;

            switch (messageType)
            {
            case MessageType.PUSH_DATA: payload = new JsonPacketPayloadSerializer().Deserialize <PushDataPacketPayload>(message, protocolVersion); break;

            case MessageType.PULL_RESP: payload = new JsonPacketPayloadSerializer().Deserialize <PullRespPacketPayload>(message, protocolVersion); break;

            case MessageType.TX_ACK: payload = new JsonPacketPayloadSerializer().Deserialize <TxAckPacketPayload>(message, protocolVersion); break;
            }

            switch (payload)
            {
            case PushDataPacketPayload pushDataPacketPayload: { } break;

            case PullRespPacketPayload pullRespPacketPayload: { } break;

            case TxAckPacketPayload txAckPacketPayload: { } break;
            }
        }
Ejemplo n.º 2
0
        public void Test_Deserialize_Rxpk_Version_2()
        {
            var messageType     = MessageType.PUSH_DATA;
            var message         = "{\"rxpk\":[{\"rsig\":[{\"ant\":0,\"chan\":0,\"lsnr\":30.0,\"rssis\":0.0,\"rssic\":-75.0,\"rssisd\":0,\"etime\":\"asd\",\"foff\":0.0,\"ftime\":50000,\"ft2d\":0,\"rfbsb\":0,\"rs2s1\":0}],\"time\":\"2018-03-27T14:15:00.1849262Z\",\"tmms\":0,\"tmst\":1206195300185,\"freq\":868.5,\"chan\":7,\"rfch\":1,\"stat\":1,\"modu\":\"LORA\",\"datr\":\"SF7BW125\",\"codr\":\"4/8\",\"rssi\":112.0,\"lsnr\":1.2,\"size\":14,\"data\":\"Wg3qoMwpJ5T372B9pxLIs0kbvUs=\"},{\"rsig\":[{\"ant\":0,\"chan\":0,\"lsnr\":30.0,\"rssis\":0.0,\"rssic\":-75.0,\"rssisd\":0,\"etime\":\"asd\",\"foff\":0.0,\"ftime\":50000,\"ft2d\":0,\"rfbsb\":0,\"rs2s1\":0}],\"time\":\"2018-03-27T14:15:00.1869312Z\",\"tmms\":0,\"tmst\":1206195300186,\"freq\":868.5,\"chan\":7,\"rfch\":1,\"stat\":1,\"modu\":\"LORA\",\"datr\":\"SF7BW125\",\"codr\":\"4/8\",\"rssi\":112.0,\"lsnr\":1.2,\"size\":14,\"data\":\"Wg3qoMwpJ5T372B9pxLIs0kbvUs=\"}],\"stat\":{\"lmok\":0,\"lmst\":0,\"lmnw\":0,\"lpps\":0,\"temp\":0,\"fpga\":0,\"dsp\":0,\"time\":\"2018-03-27T14:15:00.1869312Z\",\"lati\":46.24,\"long\":3.2523,\"alti\":100,\"rxnb\":0,\"rxok\":0,\"rxfw\":0,\"ackr\":0.0,\"dwnb\":0,\"txnb\":0}}";
            var protocolVersion = 2;

            IPacketPayload payload = null;

            switch (messageType)
            {
            case MessageType.PUSH_DATA: payload = new JsonPacketPayloadSerializer().Deserialize <PushDataPacketPayload>(message, protocolVersion); break;

            case MessageType.PULL_RESP: payload = new JsonPacketPayloadSerializer().Deserialize <PullRespPacketPayload>(message, protocolVersion); break;

            case MessageType.TX_ACK: payload = new JsonPacketPayloadSerializer().Deserialize <TxAckPacketPayload>(message, protocolVersion); break;
            }

            switch (payload)
            {
            case PushDataPacketPayload pushDataPacketPayload: { } break;

            case PullRespPacketPayload pullRespPacketPayload: { } break;

            case TxAckPacketPayload txAckPacketPayload: { } break;
            }
        }
Ejemplo n.º 3
0
        public void Can_Deserialize_PUSH_DATA_empty_object_Version_1()
        {
            var message         = "{}";
            var serializer      = new PicocellPacketSerializer();
            var protocolVersion = 1;
            var result          = new JsonPacketPayloadSerializer().Deserialize <PushDataPacketPayload>(message, protocolVersion);

            Assert.Null(result.Rxpk);
            Assert.Null(result.Stat);
        }
Ejemplo n.º 4
0
        public void Can_Deserialize_PUSH_DATA_With_rxpk_missing_Version_1()
        {
            var message         = "{\"stat\":null}";
            var serializer      = new PicocellPacketSerializer();
            var protocolVersion = 1;
            var result          = new JsonPacketPayloadSerializer().Deserialize <PushDataPacketPayload>(message, protocolVersion);

            Assert.Null(result.Rxpk);
            Assert.Null(result.Stat);
        }
Ejemplo n.º 5
0
        public void Can_Deserialize_PUSH_DATA_With_stat_missing_Version_1()
        {
            var message         = "{\"rxpk\":[{\"rsig\":[{\"ant\":0,\"chan\":0,\"lsnr\":8.5,\"rssis\":-114.0,\"rssic\":-114,\"rssisd\":0,\"etime\":null,\"foff\":0.0,\"ftime\":null,\"ft2d\":0,\"rfbsb\":0,\"rs2s1\":0}],\"tmst\":2214587506,\"time\":\"2018-04-25T15:09:47.5060049Z\",\"freq\":868.5,\"rfch\":0,\"did\":0,\"stat\":1,\"modu\":\"LORA\",\"datr\":\"SF7BW250\",\"codr\":\"4/5\",\"size\":10,\"data\":\"gBAAABEAAQABU7mLhJc=\"}],\"txpk_ack\":null}";
            var serializer      = new PicocellPacketSerializer();
            var protocolVersion = 1;
            var result          = new JsonPacketPayloadSerializer().Deserialize <PushDataPacketPayload>(message, protocolVersion);

            Assert.NotNull(result.Rxpk);
            Assert.Null(result.Stat);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Constructor for PicocellPacketSerializer.
 /// </summary>
 public PicocellPacketSerializer()
 {
     _payloadSerialiser = new JsonPacketPayloadSerializer();
 }