Esempio n. 1
0
        //fcnt also here
        #endregion

        public LoRaMessageAdapter(LoRaPayload loRaGenericPayload)
        {
            if (loRaGenericPayload.GetType() == typeof(LoRaPayloadJoinAccept))
            {
                LoRaMessageAdapterEnum = LoRaMessageAdapterEnum.JoinAccept;
                AppNonce   = ((LoRaPayloadJoinAccept)loRaGenericPayload).AppNonce;
                CfList     = ((LoRaPayloadJoinAccept)loRaGenericPayload).CfList;
                DlSettings = ((LoRaPayloadJoinAccept)loRaGenericPayload).DlSettings;
                Fcnt       = ((LoRaPayloadJoinAccept)loRaGenericPayload).Fcnt;
                NetID      = ((LoRaPayloadJoinAccept)loRaGenericPayload).NetID;
                RxDelay    = ((LoRaPayloadJoinAccept)loRaGenericPayload).RxDelay;
            }
            else if (loRaGenericPayload.GetType() == typeof(LoRaPayloadJoinRequest))
            {
                LoRaMessageAdapterEnum = LoRaMessageAdapterEnum.JoinRequest;
                AppEUI   = ((LoRaPayloadJoinRequest)loRaGenericPayload).AppEUI;
                DevEUI   = ((LoRaPayloadJoinRequest)loRaGenericPayload).DevEUI;
                DevNonce = ((LoRaPayloadJoinRequest)loRaGenericPayload).DevNonce;
            }
            else if (loRaGenericPayload.GetType() == typeof(LoRaPayloadData))
            {
                LoRaMessageAdapterEnum = LoRaMessageAdapterEnum.Data;
                Direction  = ((LoRaPayloadData)loRaGenericPayload).Direction;
                Fcnt       = ((LoRaPayloadData)loRaGenericPayload).Fcnt;
                Fctrl      = ((LoRaPayloadData)loRaGenericPayload).Fctrl;
                Fopts      = ((LoRaPayloadData)loRaGenericPayload).Fopts;
                Fport      = ((LoRaPayloadData)loRaGenericPayload).Fport;
                Frmpayload = ((LoRaPayloadData)loRaGenericPayload).Frmpayload;
            }
        }