public ChannelEditorWnd(ChannelParams channel) { this.InitializeComponent(); this.channel.Frequency = channel.Frequency; this.channel.DatarateRange = channel.DatarateRange; this.channel.Band = channel.Band; this.channelView.Channel = this.channel; }
public Mac() { Channels = new ChannelParams[16]; for (int id = 0; id < Channels.Length; ++id) { Channels[id] = new ChannelParams(id, 0U, Datarates.DR_0, Datarates.DR_0, Bands.BAND_G1_0); } Rx2Channel = new Rx2ChannelParams(0U, Datarates.DR_0); ChannelsMask = new ushort[6]; Channels[0].Frequency = 868100000U; Channels[0].DatarateRange.Value = (sbyte)80; Channels[0].Band = Bands.BAND_G1_1; Channels[1].Frequency = 868300000U; Channels[1].DatarateRange.Value = (sbyte)96; Channels[1].Band = Bands.BAND_G1_1; Channels[2].Frequency = 868500000U; Channels[2].DatarateRange.Value = (sbyte)80; Channels[2].Band = Bands.BAND_G1_1; Channels[3].Frequency = 867100000U; Channels[3].DatarateRange.Value = (sbyte)80; Channels[3].Band = Bands.BAND_G1_0; Channels[4].Frequency = 867300000U; Channels[4].DatarateRange.Value = (sbyte)80; Channels[4].Band = Bands.BAND_G1_0; Channels[5].Frequency = 867500000U; Channels[5].DatarateRange.Value = (sbyte)80; Channels[5].Band = Bands.BAND_G1_0; Channels[6].Frequency = 867700000U; Channels[6].DatarateRange.Value = (sbyte)80; Channels[6].Band = Bands.BAND_G1_0; Channels[7].Frequency = 867900000U; Channels[7].DatarateRange.Value = (sbyte)80; Channels[7].Band = Bands.BAND_G1_0; Channels[8].Frequency = 868800000U; Channels[8].DatarateRange.Value = (sbyte)119; Channels[8].Band = Bands.BAND_G1_2; ChannelsMask[0] = (ushort)7; ChannelsMask[1] = (ushort)0; ChannelsMask[2] = (ushort)0; ChannelsMask[3] = (ushort)0; ChannelsMask[4] = (ushort)0; ChannelsMask[5] = (ushort)0; ChannelsTxPower = Powers.TX_POWER_14_DBM; ChannelsDatarate = Datarates.DR_0; ChannelsNbTrans = (byte)1; MaxRxWindow = 3000000U; ReceiveDelay1 = 1000000U; ReceiveDelay2 = 2000000U; JoinAcceptDelay1 = 5000000U; JoinAcceptDelay2 = 6000000U; DutyCycleOn = true; PublicNetwork = true; DeviceClass = DeviceClasses.CLASS_A; DevicePhy = DevicePhys.EU868; }
public Mac() { Channels = new ChannelParams[16]; for (int id = 0; id < Channels.Length; ++id) Channels[id] = new ChannelParams(id, 0U, Datarates.DR_0, Datarates.DR_0, Bands.BAND_G1_0); Rx2Channel = new Rx2ChannelParams(0U, Datarates.DR_0); ChannelsMask = new ushort[6]; Channels[0].Frequency = 868100000U; Channels[0].DatarateRange.Value = (sbyte)80; Channels[0].Band = Bands.BAND_G1_1; Channels[1].Frequency = 868300000U; Channels[1].DatarateRange.Value = (sbyte)96; Channels[1].Band = Bands.BAND_G1_1; Channels[2].Frequency = 868500000U; Channels[2].DatarateRange.Value = (sbyte)80; Channels[2].Band = Bands.BAND_G1_1; Channels[3].Frequency = 867100000U; Channels[3].DatarateRange.Value = (sbyte)80; Channels[3].Band = Bands.BAND_G1_0; Channels[4].Frequency = 867300000U; Channels[4].DatarateRange.Value = (sbyte)80; Channels[4].Band = Bands.BAND_G1_0; Channels[5].Frequency = 867500000U; Channels[5].DatarateRange.Value = (sbyte)80; Channels[5].Band = Bands.BAND_G1_0; Channels[6].Frequency = 867700000U; Channels[6].DatarateRange.Value = (sbyte)80; Channels[6].Band = Bands.BAND_G1_0; Channels[7].Frequency = 867900000U; Channels[7].DatarateRange.Value = (sbyte)80; Channels[7].Band = Bands.BAND_G1_0; Channels[8].Frequency = 868800000U; Channels[8].DatarateRange.Value = (sbyte)119; Channels[8].Band = Bands.BAND_G1_2; ChannelsMask[0] = (ushort)7; ChannelsMask[1] = (ushort)0; ChannelsMask[2] = (ushort)0; ChannelsMask[3] = (ushort)0; ChannelsMask[4] = (ushort)0; ChannelsMask[5] = (ushort)0; ChannelsTxPower = Powers.TX_POWER_14_DBM; ChannelsDatarate = Datarates.DR_0; ChannelsNbTrans = (byte)1; MaxRxWindow = 3000000U; ReceiveDelay1 = 1000000U; ReceiveDelay2 = 2000000U; JoinAcceptDelay1 = 5000000U; JoinAcceptDelay2 = 6000000U; DutyCycleOn = true; PublicNetwork = true; DeviceClass = DeviceClasses.CLASS_A; DevicePhy = DevicePhys.EU868; }
private void SettingsUpdateFrom(byte[] data) { try { if (data == null) return; int index1 = 0; appSettings.Header.Magic = (ushort)((uint)data[index1] | (uint)data[index1 + 1] << 8); int index2 = index1 + 2 + 2; appSettings.Header.Crc = (uint)((int)data[index2] | (int)data[index2 + 1] << 8 | (int)data[index2 + 2] << 16 | (int)data[index2 + 3] << 24); int num1 = index2 + 4; if ((int)appSettings.Header.Crc != (int)ComputeChecksum(data)) { Console.WriteLine("ERROR: Wrong checksum!!!"); } else { Header.Version version1 = appSettings.Header.Ver; byte[] numArray1 = data; int num2 = num1; int num3 = num2 + 1; int index3 = num2; int num4 = (int)numArray1[index3]; version1.Major = (byte)num4; Header.Version version2 = appSettings.Header.Ver; byte[] numArray2 = data; int num5 = num3; int num6 = num5 + 1; int index4 = num5; int num7 = (int)numArray2[index4]; version2.Minor = (byte)num7; Header.Version version3 = appSettings.Header.FwVer; byte[] numArray3 = data; int num8 = num6; int num9 = num8 + 1; int index5 = num8; int num10 = (int)numArray3[index5]; version3.Major = (byte)num10; Header.Version version4 = appSettings.Header.FwVer; byte[] numArray4 = data; int num11 = num9; int num12 = num11 + 1; int index6 = num11; int num13 = (int)numArray4[index6]; version4.Minor = (byte)num13; Array.Reverse((Array)data, num12, appSettings.DevEui.Length); Array.Copy((Array)data, num12, (Array)appSettings.DevEui, 0, appSettings.DevEui.Length); int num14 = num12 + appSettings.DevEui.Length; AppSettings appSettings1 = appSettings; byte[] numArray5 = data; int num15 = num14; int num16 = num15 + 1; int index7 = num15; int num17 = (int)numArray5[index7] == 0 ? 0 : 1; appSettings1.OtaOn = num17 != 0; int sourceIndex1 = num16 + 3; int index8; if (appSettings.OtaOn) { appSettings.Activation.Ota.DutyCycle = (uint)((int)data[sourceIndex1] | (int)data[sourceIndex1 + 1] << 8 | (int)data[sourceIndex1 + 2] << 16 | (int)data[sourceIndex1 + 3] << 24); int num18 = sourceIndex1 + 4; Array.Reverse((Array)data, num18, appSettings.Activation.Ota.AppEui.Length); Array.Copy((Array)data, num18, (Array)appSettings.Activation.Ota.AppEui, 0, appSettings.Activation.Ota.AppEui.Length); int sourceIndex2 = num18 + appSettings.Activation.Ota.AppEui.Length; Array.Copy((Array)data, sourceIndex2, (Array)appSettings.Activation.Ota.AppKey, 0, appSettings.Activation.Ota.AppKey.Length); index8 = sourceIndex2 + (appSettings.Activation.Ota.AppKey.Length + 8); } else { Array.Copy((Array)data, sourceIndex1, (Array)appSettings.Activation.Pa.NwkSKey, 0, appSettings.Activation.Pa.NwkSKey.Length); int sourceIndex2 = sourceIndex1 + appSettings.Activation.Pa.NwkSKey.Length; Array.Copy((Array)data, sourceIndex2, (Array)appSettings.Activation.Pa.AppSKey, 0, appSettings.Activation.Pa.AppSKey.Length); int index9 = sourceIndex2 + appSettings.Activation.Pa.AppSKey.Length; appSettings.Activation.Pa.DevAddr = (uint)((int)data[index9] | (int)data[index9 + 1] << 8 | (int)data[index9 + 2] << 16 | (int)data[index9 + 3] << 24); index8 = index9 + 4; } ChannelParams channelParams1 = new ChannelParams(); for (int index9 = 0; index9 < appSettings.Mac.Channels.Length; ++index9) { ChannelsList[index9].Frequency = appSettings.Mac.Channels[index9].Frequency = (uint)((int)data[index8] | (int)data[index8 + 1] << 8 | (int)data[index8 + 2] << 16 | (int)data[index8 + 3] << 24); int num18 = index8 + 4; DrRange datarateRange1 = ChannelsList[index9].DatarateRange; DrRange datarateRange2 = appSettings.Mac.Channels[index9].DatarateRange; byte[] numArray6 = data; int num19 = num18; int num20 = num19 + 1; int index10 = num19; int num21; sbyte num22 = (sbyte)(num21 = (int)(sbyte)numArray6[index10]); datarateRange2.Value = (sbyte)num21; int num23 = (int)num22; datarateRange1.Value = (sbyte)num23; ChannelParams channelParams2 = ChannelsList[index9]; ChannelParams channelParams3 = appSettings.Mac.Channels[index9]; byte[] numArray7 = data; int num24 = num20; int num25 = num24 + 1; int index11 = num24; int num26; Bands bands = (Bands)(num26 = (int)numArray7[index11]); channelParams3.Band = (Bands)num26; int num27 = (int)bands; channelParams2.Band = (Bands)num27; index8 = num25 + 2; } appSettings.Mac.Rx2Channel.Frequency = (uint)((int)data[index8] | (int)data[index8 + 1] << 8 | (int)data[index8 + 2] << 16 | (int)data[index8 + 3] << 24); int num28 = index8 + 4; Rx2ChannelParams rx2ChannelParams = appSettings.Mac.Rx2Channel; byte[] numArray8 = data; int num29 = num28; int num30 = num29 + 1; int index12 = num29; int num31 = (int)numArray8[index12]; rx2ChannelParams.Datarate = (Datarates)num31; int num32 = num30 + 3; Mac mac1 = appSettings.Mac; byte[] numArray9 = data; int num33 = num32; int num34 = num33 + 1; int index13 = num33; int num35 = (int)numArray9[index13]; mac1.ChannelsTxPower = (Powers)num35; Mac mac2 = appSettings.Mac; byte[] numArray10 = data; int num36 = num34; int index14 = num36 + 1; int index15 = num36; int num37 = (int)numArray10[index15]; mac2.ChannelsDatarate = (Datarates)num37; appSettings.Mac.ChannelsMask[0] = (ushort)((uint)data[index14] | (uint)data[index14 + 1] << 8); int index16 = index14 + 2; appSettings.Mac.ChannelsMask[1] = (ushort)((uint)data[index16] | (uint)data[index16 + 1] << 8); int index17 = index16 + 2; appSettings.Mac.ChannelsMask[2] = (ushort)((uint)data[index17] | (uint)data[index17 + 1] << 8); int index18 = index17 + 2; appSettings.Mac.ChannelsMask[3] = (ushort)((uint)data[index18] | (uint)data[index18 + 1] << 8); int index19 = index18 + 2; appSettings.Mac.ChannelsMask[4] = (ushort)((uint)data[index19] | (uint)data[index19 + 1] << 8); int index20 = index19 + 2; appSettings.Mac.ChannelsMask[5] = (ushort)((uint)data[index20] | (uint)data[index20 + 1] << 8); int num38 = index20 + 2; Mac mac3 = appSettings.Mac; byte[] numArray11 = data; int num39 = num38; int num40 = num39 + 1; int index21 = num39; int num41 = (int)numArray11[index21]; mac3.ChannelsNbTrans = (byte)num41; int index22 = num40 + 1; appSettings.Mac.MaxRxWindow = (uint)((int)data[index22] | (int)data[index22 + 1] << 8 | (int)data[index22 + 2] << 16 | (int)data[index22 + 3] << 24); int index23 = index22 + 4; appSettings.Mac.ReceiveDelay1 = (uint)((int)data[index23] | (int)data[index23 + 1] << 8 | (int)data[index23 + 2] << 16 | (int)data[index23 + 3] << 24); int index24 = index23 + 4; appSettings.Mac.ReceiveDelay2 = (uint)((int)data[index24] | (int)data[index24 + 1] << 8 | (int)data[index24 + 2] << 16 | (int)data[index24 + 3] << 24); int index25 = index24 + 4; appSettings.Mac.JoinAcceptDelay1 = (uint)((int)data[index25] | (int)data[index25 + 1] << 8 | (int)data[index25 + 2] << 16 | (int)data[index25 + 3] << 24); int index26 = index25 + 4; appSettings.Mac.JoinAcceptDelay2 = (uint)((int)data[index26] | (int)data[index26 + 1] << 8 | (int)data[index26 + 2] << 16 | (int)data[index26 + 3] << 24); int num42 = index26 + 4; Mac mac4 = appSettings.Mac; byte[] numArray12 = data; int num43 = num42; int num44 = num43 + 1; int index27 = num43; int num45 = (int)numArray12[index27] == 0 ? 0 : 1; mac4.DutyCycleOn = num45 != 0; Mac mac5 = appSettings.Mac; byte[] numArray13 = data; int num46 = num44; int num47 = num46 + 1; int index28 = num46; int num48 = (int)numArray13[index28] == 0 ? 0 : 1; mac5.PublicNetwork = num48 != 0; Mac mac6 = appSettings.Mac; byte[] numArray14 = data; int num49 = num47; int num50 = num49 + 1; int index29 = num49; int num51 = (int)numArray14[index29]; mac6.DeviceClass = (DeviceClasses)num51; Mac mac7 = appSettings.Mac; byte[] numArray15 = data; int num52 = num50; int num53 = num52 + 1; int index30 = num52; int num54 = (int)numArray15[index30]; mac7.DevicePhy = (DevicePhys)num54; AppSettings appSettings2 = appSettings; byte[] numArray16 = data; int num55 = num53; int num56 = num55 + 1; int index31 = num55; int num57 = (int)numArray16[index31]; appSettings2.AppMode = (AppModes)num57; int index32 = num56 + 3; int num58; switch (appSettings.AppMode) { case AppModes.APP_GPS_TRACKING_DEMO: appSettings.Params.GpsTrackingDemo.TxDutyCycle = (uint)((int)data[index32] | (int)data[index32 + 1] << 8 | (int)data[index32 + 2] << 16 | (int)data[index32 + 3] << 24); int index33 = index32 + 4; appSettings.Params.GpsTrackingDemo.TxDutyCycleRnd = (uint)((int)data[index33] | (int)data[index33 + 1] << 8 | (int)data[index33 + 2] << 16 | (int)data[index33 + 3] << 24); int num59 = index33 + 4; AppGpsTrackingDemoParam trackingDemoParam1 = appSettings.Params.GpsTrackingDemo; byte[] numArray17 = data; int num60 = num59; int num61 = num60 + 1; int index34 = num60; int num62 = (int)numArray17[index34] == 0 ? 0 : 1; trackingDemoParam1.AdrOn = num62 != 0; AppGpsTrackingDemoParam trackingDemoParam2 = appSettings.Params.GpsTrackingDemo; byte[] numArray18 = data; int num63 = num61; num58 = num63 + 1; int index35 = num63; int num64 = (int)numArray18[index35] == 0 ? 0 : 1; trackingDemoParam2.DownlinkTestOn = num64 != 0; break; case AppModes.APP_RADIO_COVERAGE_TESTER: AppRadioCoverageTesterParam coverageTesterParam1 = appSettings.Params.RadioCoverageTester; byte[] numArray19 = data; int num65 = index32; int num66 = num65 + 1; int index36 = num65; int num67 = (int)numArray19[index36]; coverageTesterParam1.Id = (byte)num67; AppRadioCoverageTesterParam coverageTesterParam2 = appSettings.Params.RadioCoverageTester; byte[] numArray20 = data; int num68 = num66; int num69 = num68 + 1; int index37 = num68; int num70 = (int)numArray20[index37]; coverageTesterParam2.NbPackets = (byte)num70; AppRadioCoverageTesterParam coverageTesterParam3 = appSettings.Params.RadioCoverageTester; byte[] numArray21 = data; int num71 = num69; int num72 = num71 + 1; int index38 = num71; int num73 = (int)numArray21[index38] == 0 ? 0 : 1; coverageTesterParam3.DownlinkTestOn = num73 != 0; num58 = num72 + 1 + 7; break; default: appSettings.Params.SensorsGpsDemo.TxDutyCycle = (uint)((int)data[index32] | (int)data[index32 + 1] << 8 | (int)data[index32 + 2] << 16 | (int)data[index32 + 3] << 24); int index39 = index32 + 4; appSettings.Params.SensorsGpsDemo.TxDutyCycleRnd = (uint)((int)data[index39] | (int)data[index39 + 1] << 8 | (int)data[index39 + 2] << 16 | (int)data[index39 + 3] << 24); int num74 = index39 + 4; AppSensorsGpsDemoParam sensorsGpsDemoParam1 = appSettings.Params.SensorsGpsDemo; byte[] numArray22 = data; int num75 = num74; int num76 = num75 + 1; int index40 = num75; int num77 = (int)numArray22[index40] == 0 ? 0 : 1; sensorsGpsDemoParam1.AdrOn = num77 != 0; AppSensorsGpsDemoParam sensorsGpsDemoParam2 = appSettings.Params.SensorsGpsDemo; byte[] numArray23 = data; int num78 = num76; num58 = num78 + 1; int index41 = num78; int num79 = (int)numArray23[index41] == 0 ? 0 : 1; sensorsGpsDemoParam2.DownlinkTestOn = num79 != 0; break; } SettingsUiUpdate(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }