private void PopulateRegisters() { if (IsOpen) { SetLoraOn(true); byte data = 0; if (!Read(66, ref data)) throw new Exception("Unable to read register RegVersion"); if (!Read(66, ref data)) throw new Exception("Unable to read register RegVersion"); Version = new Version(((int)data & 0xF0) >> 4, (int)data & 0xF); } registers = new RegisterCollection(); registers.Add(new Register("RegFifo", 0, 0, true, true)); registers.Add(new Register("RegOpMode", 1, 137, false, true)); for (uint index = 2; index < 4; ++index) registers.Add(new Register("RegRes" + index.ToString("X02"), index, 0, false, true)); registers.Add(new Register("RegFdevMsb", 4, 0, false, true)); registers.Add(new Register("RegRes05", 5, 82, false, true)); registers.Add(new Register("RegFrfMsb", 6, 228, false, true)); registers.Add(new Register("RegFrfMid", 7, 192, false, true)); registers.Add(new Register("RegFrfLsb", 8, 9, false, true)); registers.Add(new Register("RegPaConfig", 9, 15, false, true)); registers.Add(new Register("RegPaRamp", 10, 25, false, true)); registers.Add(new Register("RegOcp", 11, 43, false, true)); registers.Add(new Register("RegLna", 12, 32, false, true)); registers.Add(new Register("RegFifoAddrPtr", 13, 0, false, true)); registers.Add(new Register("RegFifoTxBaseAddr", 14, 128, false, true)); registers.Add(new Register("RegFifoRxBaseAddr", 15, 0, false, true)); registers.Add(new Register("RegFifoRxCurrentAddr", 16, 0, true, true)); registers.Add(new Register("RegIrqFlagsMask", 17, 0, false, true)); registers.Add(new Register("RegIrqFlags", 18, 0, false, true)); registers.Add(new Register("RegRxNbBytes", 19, 0, true, true)); registers.Add(new Register("RegRxHeaderCntValueMsb", 20, 0, true, true)); registers.Add(new Register("RegRxHeaderCntValueLsb", 21, 0, true, true)); registers.Add(new Register("RegRxPacketCntValueMsb", 22, 0, true, true)); registers.Add(new Register("RegRxPacketCntValueLsb", 23, 0, true, true)); registers.Add(new Register("RegModemStat", 24, 0, true, true)); registers.Add(new Register("RegPktSnrValue", 25, 26, true, true)); registers.Add(new Register("RegPktRssiValue", 26, 0, true, true)); registers.Add(new Register("RegRssiValue", 27, 0, true, true)); registers.Add(new Register("RegHopChannel", 28, 0, true, true)); registers.Add(new Register("RegModemConfig1", 29, 114, false, true)); registers.Add(new Register("RegModemConfig2", 30, 112, false, true)); registers.Add(new Register("RegSymbTimeoutLsb", 31, 100, false, true)); registers.Add(new Register("RegPreambleMsb", 32, 0, false, true)); registers.Add(new Register("RegPreambleLsb", 33, 8, false, true)); registers.Add(new Register("RegPayloadLength", 34, 1, false, true)); registers.Add(new Register("RegMaxPayloadLength", 35, 255, false, true)); registers.Add(new Register("RegHopPeriod", 36, 0, false, true)); registers.Add(new Register("RegFifoRxByteAddr", 37, 0, false, true)); registers.Add(new Register("RegModemConfig3", 38, 4, false, true)); for (uint index = 39; index < 64; ++index) registers.Add(new Register("RegTest" + index.ToString("X02"), index, 0, false, true)); registers.Add(new Register("RegDioMapping1", 64, 0, false, true)); registers.Add(new Register("RegDioMapping2", 65, 0, false, true)); registers.Add(new Register("RegVersion", 66, 17, false, true)); for (int index = 67; index < 68; ++index) registers.Add(new Register("RegTest" + index.ToString("X02"), (uint)index, 0, false, true)); registers.Add(new Register("RegPllHop", 68, 45, false, true)); for (uint index = 69; index < 75; ++index) registers.Add(new Register("RegTest" + index.ToString("X02"), index, 0, false, true)); registers.Add(new Register("RegTcxo", 75, 9, false, true)); registers.Add(new Register("RegTest4C", 76, 0, false, true)); registers.Add(new Register("RegPaDac", 77, 132, false, true)); for (uint index = 78; index < 91; ++index) registers.Add(new Register("RegTest" + index.ToString("X02"), index, 0, false, true)); registers.Add(new Register("RegFormerTemp", 91, 0, false, true)); registers.Add(new Register("RegTest5C", 92, 0, false, true)); registers.Add(new Register("RegBitrateFrac", 93, 0, false, true)); for (uint index = 94; index < 97; ++index) registers.Add(new Register("RegTest" + index.ToString("X02"), index, 0, false, true)); registers.Add(new Register("RegAgcRef", 97, 25, false, true)); registers.Add(new Register("RegAgcThresh1", 98, 12, false, true)); registers.Add(new Register("RegAgcThresh2", 99, 75, false, true)); registers.Add(new Register("RegAgcThresh3", 100, 204, false, true)); for (uint index = 101; index < 112; ++index) registers.Add(new Register("RegTest" + index.ToString("X02"), index, 0, false, true)); registers.Add(new Register("RegPll", 112, 208, false, true)); for (uint index = 113; index < 128; ++index) registers.Add(new Register("RegTest" + index.ToString("X02"), index, 0, false, true)); foreach (Register register in registers) register.PropertyChanged += new PropertyChangedEventHandler(registers_PropertyChanged); }
private void PopulateRegisters() { if (IsOpen) { byte data = (byte)0; if (!Read((byte)66, ref data)) throw new Exception("Unable to read register RegVersion"); if (!Read((byte)66, ref data)) throw new Exception("Unable to read register RegVersion"); Version = new Version(((int)data & 240) >> 4, (int)data & 15); } registers = new RegisterCollection(); byte num1 = (byte)0; RegisterCollection registerCollection1 = registers; string name1 = "RegFifo"; int num2 = (int)num1; int num3 = 1; byte num4 = (byte)(num2 + num3); int num5 = 0; int num6 = 1; int num7 = 1; Register register1 = new Register(name1, (uint)num2, (uint)num5, num6 != 0, num7 != 0); registerCollection1.Add(register1); RegisterCollection registerCollection2 = registers; string name2 = "RegOpMode"; int num8 = (int)num4; int num9 = 1; byte num10 = (byte)(num8 + num9); int num11 = 9; int num12 = 0; int num13 = 1; Register register2 = new Register(name2, (uint)num8, (uint)num11, num12 != 0, num13 != 0); registerCollection2.Add(register2); RegisterCollection registerCollection3 = registers; string name3 = "RegBitrateMsb"; int num14 = (int)num10; int num15 = 1; byte num16 = (byte)(num14 + num15); int num17 = 26; int num18 = 0; int num19 = 1; Register register3 = new Register(name3, (uint)num14, (uint)num17, num18 != 0, num19 != 0); registerCollection3.Add(register3); RegisterCollection registerCollection4 = registers; string name4 = "RegBitrateLsb"; int num20 = (int)num16; int num21 = 1; byte num22 = (byte)(num20 + num21); int num23 = 11; int num24 = 0; int num25 = 1; Register register4 = new Register(name4, (uint)num20, (uint)num23, num24 != 0, num25 != 0); registerCollection4.Add(register4); RegisterCollection registerCollection5 = registers; string name5 = "RegFdevMsb"; int num26 = (int)num22; int num27 = 1; byte num28 = (byte)(num26 + num27); int num29 = 0; int num30 = 0; int num31 = 1; Register register5 = new Register(name5, (uint)num26, (uint)num29, num30 != 0, num31 != 0); registerCollection5.Add(register5); RegisterCollection registerCollection6 = registers; string name6 = "RegFdevLsb"; int num32 = (int)num28; int num33 = 1; byte num34 = (byte)(num32 + num33); int num35 = 82; int num36 = 0; int num37 = 1; Register register6 = new Register(name6, (uint)num32, (uint)num35, num36 != 0, num37 != 0); registerCollection6.Add(register6); RegisterCollection registerCollection7 = registers; string name7 = "RegFrfMsb"; int num38 = (int)num34; int num39 = 1; byte num40 = (byte)(num38 + num39); int num41 = 228; int num42 = 0; int num43 = 1; Register register7 = new Register(name7, (uint)num38, (uint)num41, num42 != 0, num43 != 0); registerCollection7.Add(register7); RegisterCollection registerCollection8 = registers; string name8 = "RegFrfMid"; int num44 = (int)num40; int num45 = 1; byte num46 = (byte)(num44 + num45); int num47 = 192; int num48 = 0; int num49 = 1; Register register8 = new Register(name8, (uint)num44, (uint)num47, num48 != 0, num49 != 0); registerCollection8.Add(register8); RegisterCollection registerCollection9 = registers; string name9 = "RegFrfLsb"; int num50 = (int)num46; int num51 = 1; byte num52 = (byte)(num50 + num51); int num53 = 0; int num54 = 0; int num55 = 1; Register register9 = new Register(name9, (uint)num50, (uint)num53, num54 != 0, num55 != 0); registerCollection9.Add(register9); RegisterCollection registerCollection10 = registers; string name10 = "RegPaConfig"; int num56 = (int)num52; int num57 = 1; byte num58 = (byte)(num56 + num57); int num59 = 15; int num60 = 0; int num61 = 1; Register register10 = new Register(name10, (uint)num56, (uint)num59, num60 != 0, num61 != 0); registerCollection10.Add(register10); RegisterCollection registerCollection11 = registers; string name11 = "RegPaRamp"; int num62 = (int)num58; int num63 = 1; byte num64 = (byte)(num62 + num63); int num65 = 25; int num66 = 0; int num67 = 1; Register register11 = new Register(name11, (uint)num62, (uint)num65, num66 != 0, num67 != 0); registerCollection11.Add(register11); RegisterCollection registerCollection12 = registers; string name12 = "RegOcp"; int num68 = (int)num64; int num69 = 1; byte num70 = (byte)(num68 + num69); int num71 = 43; int num72 = 0; int num73 = 1; Register register12 = new Register(name12, (uint)num68, (uint)num71, num72 != 0, num73 != 0); registerCollection12.Add(register12); RegisterCollection registerCollection13 = registers; string name13 = "RegLna"; int num74 = (int)num70; int num75 = 1; byte num76 = (byte)(num74 + num75); int num77 = 32; int num78 = 0; int num79 = 1; Register register13 = new Register(name13, (uint)num74, (uint)num77, num78 != 0, num79 != 0); registerCollection13.Add(register13); RegisterCollection registerCollection14 = registers; string name14 = "RegRxConfig"; int num80 = (int)num76; int num81 = 1; byte num82 = (byte)(num80 + num81); int num83 = 8; int num84 = 0; int num85 = 1; Register register14 = new Register(name14, (uint)num80, (uint)num83, num84 != 0, num85 != 0); registerCollection14.Add(register14); RegisterCollection registerCollection15 = registers; string name15 = "RegRssiConfig"; int num86 = (int)num82; int num87 = 1; byte num88 = (byte)(num86 + num87); int num89 = 2; int num90 = 0; int num91 = 1; Register register15 = new Register(name15, (uint)num86, (uint)num89, num90 != 0, num91 != 0); registerCollection15.Add(register15); RegisterCollection registerCollection16 = registers; string name16 = "RegRssiCollision"; int num92 = (int)num88; int num93 = 1; byte num94 = (byte)(num92 + num93); int num95 = 10; int num96 = 0; int num97 = 1; Register register16 = new Register(name16, (uint)num92, (uint)num95, num96 != 0, num97 != 0); registerCollection16.Add(register16); RegisterCollection registerCollection17 = registers; string name17 = "RegRssiThresh"; int num98 = (int)num94; int num99 = 1; byte num100 = (byte)(num98 + num99); int num101 = (int)byte.MaxValue; int num102 = 0; int num103 = 1; Register register17 = new Register(name17, (uint)num98, (uint)num101, num102 != 0, num103 != 0); registerCollection17.Add(register17); RegisterCollection registerCollection18 = registers; string name18 = "RegRssiValue"; int num104 = (int)num100; int num105 = 1; byte num106 = (byte)(num104 + num105); int num107 = 0; int num108 = 0; int num109 = 1; Register register18 = new Register(name18, (uint)num104, (uint)num107, num108 != 0, num109 != 0); registerCollection18.Add(register18); RegisterCollection registerCollection19 = registers; string name19 = "RegRxBw"; int num110 = (int)num106; int num111 = 1; byte num112 = (byte)(num110 + num111); int num113 = 21; int num114 = 0; int num115 = 1; Register register19 = new Register(name19, (uint)num110, (uint)num113, num114 != 0, num115 != 0); registerCollection19.Add(register19); RegisterCollection registerCollection20 = registers; string name20 = "RegAfcBw"; int num116 = (int)num112; int num117 = 1; byte num118 = (byte)(num116 + num117); int num119 = 11; int num120 = 0; int num121 = 1; Register register20 = new Register(name20, (uint)num116, (uint)num119, num120 != 0, num121 != 0); registerCollection20.Add(register20); RegisterCollection registerCollection21 = registers; string name21 = "RegOokPeak"; int num122 = (int)num118; int num123 = 1; byte num124 = (byte)(num122 + num123); int num125 = 40; int num126 = 0; int num127 = 1; Register register21 = new Register(name21, (uint)num122, (uint)num125, num126 != 0, num127 != 0); registerCollection21.Add(register21); RegisterCollection registerCollection22 = registers; string name22 = "RegOokFix"; int num128 = (int)num124; int num129 = 1; byte num130 = (byte)(num128 + num129); int num131 = 12; int num132 = 0; int num133 = 1; Register register22 = new Register(name22, (uint)num128, (uint)num131, num132 != 0, num133 != 0); registerCollection22.Add(register22); RegisterCollection registerCollection23 = registers; string name23 = "RegOokAvg"; int num134 = (int)num130; int num135 = 1; byte num136 = (byte)(num134 + num135); int num137 = 18; int num138 = 0; int num139 = 1; Register register23 = new Register(name23, (uint)num134, (uint)num137, num138 != 0, num139 != 0); registerCollection23.Add(register23); RegisterCollection registerCollection24 = registers; string name24 = "RegRes17"; int num140 = (int)num136; int num141 = 1; byte num142 = (byte)(num140 + num141); int num143 = 71; int num144 = 0; int num145 = 1; Register register24 = new Register(name24, (uint)num140, (uint)num143, num144 != 0, num145 != 0); registerCollection24.Add(register24); RegisterCollection registerCollection25 = registers; string name25 = "RegRes18"; int num146 = (int)num142; int num147 = 1; byte num148 = (byte)(num146 + num147); int num149 = 50; int num150 = 0; int num151 = 1; Register register25 = new Register(name25, (uint)num146, (uint)num149, num150 != 0, num151 != 0); registerCollection25.Add(register25); RegisterCollection registerCollection26 = registers; string name26 = "RegRes19"; int num152 = (int)num148; int num153 = 1; byte num154 = (byte)(num152 + num153); int num155 = 62; int num156 = 0; int num157 = 1; Register register26 = new Register(name26, (uint)num152, (uint)num155, num156 != 0, num157 != 0); registerCollection26.Add(register26); RegisterCollection registerCollection27 = registers; string name27 = "RegAfcFei"; int num158 = (int)num154; int num159 = 1; byte num160 = (byte)(num158 + num159); int num161 = 0; int num162 = 0; int num163 = 1; Register register27 = new Register(name27, (uint)num158, (uint)num161, num162 != 0, num163 != 0); registerCollection27.Add(register27); RegisterCollection registerCollection28 = registers; string name28 = "RegAfcMsb"; int num164 = (int)num160; int num165 = 1; byte num166 = (byte)(num164 + num165); int num167 = 0; int num168 = 0; int num169 = 1; Register register28 = new Register(name28, (uint)num164, (uint)num167, num168 != 0, num169 != 0); registerCollection28.Add(register28); RegisterCollection registerCollection29 = registers; string name29 = "RegAfcLsb"; int num170 = (int)num166; int num171 = 1; byte num172 = (byte)(num170 + num171); int num173 = 0; int num174 = 0; int num175 = 1; Register register29 = new Register(name29, (uint)num170, (uint)num173, num174 != 0, num175 != 0); registerCollection29.Add(register29); RegisterCollection registerCollection30 = registers; string name30 = "RegFeiMsb"; int num176 = (int)num172; int num177 = 1; byte num178 = (byte)(num176 + num177); int num179 = 0; int num180 = 0; int num181 = 1; Register register30 = new Register(name30, (uint)num176, (uint)num179, num180 != 0, num181 != 0); registerCollection30.Add(register30); RegisterCollection registerCollection31 = registers; string name31 = "RegFeiLsb"; int num182 = (int)num178; int num183 = 1; byte num184 = (byte)(num182 + num183); int num185 = 0; int num186 = 0; int num187 = 1; Register register31 = new Register(name31, (uint)num182, (uint)num185, num186 != 0, num187 != 0); registerCollection31.Add(register31); RegisterCollection registerCollection32 = registers; string name32 = "RegPreambleDetect"; int num188 = (int)num184; int num189 = 1; byte num190 = (byte)(num188 + num189); int num191 = 64; int num192 = 0; int num193 = 1; Register register32 = new Register(name32, (uint)num188, (uint)num191, num192 != 0, num193 != 0); registerCollection32.Add(register32); RegisterCollection registerCollection33 = registers; string name33 = "RegRxTimeout1"; int num194 = (int)num190; int num195 = 1; byte num196 = (byte)(num194 + num195); int num197 = 0; int num198 = 0; int num199 = 1; Register register33 = new Register(name33, (uint)num194, (uint)num197, num198 != 0, num199 != 0); registerCollection33.Add(register33); RegisterCollection registerCollection34 = registers; string name34 = "RegRxTimeout2"; int num200 = (int)num196; int num201 = 1; byte num202 = (byte)(num200 + num201); int num203 = 0; int num204 = 0; int num205 = 1; Register register34 = new Register(name34, (uint)num200, (uint)num203, num204 != 0, num205 != 0); registerCollection34.Add(register34); RegisterCollection registerCollection35 = registers; string name35 = "RegRxTimeout3"; int num206 = (int)num202; int num207 = 1; byte num208 = (byte)(num206 + num207); int num209 = 0; int num210 = 0; int num211 = 1; Register register35 = new Register(name35, (uint)num206, (uint)num209, num210 != 0, num211 != 0); registerCollection35.Add(register35); RegisterCollection registerCollection36 = registers; string name36 = "RegRxDelay"; int num212 = (int)num208; int num213 = 1; byte num214 = (byte)(num212 + num213); int num215 = 0; int num216 = 0; int num217 = 1; Register register36 = new Register(name36, (uint)num212, (uint)num215, num216 != 0, num217 != 0); registerCollection36.Add(register36); RegisterCollection registerCollection37 = registers; string name37 = "RegOsc"; int num218 = (int)num214; int num219 = 1; byte num220 = (byte)(num218 + num219); int num221 = 5; int num222 = 0; int num223 = 1; Register register37 = new Register(name37, (uint)num218, (uint)num221, num222 != 0, num223 != 0); registerCollection37.Add(register37); RegisterCollection registerCollection38 = registers; string name38 = "RegPreambleMsb"; int num224 = (int)num220; int num225 = 1; byte num226 = (byte)(num224 + num225); int num227 = 0; int num228 = 0; int num229 = 1; Register register38 = new Register(name38, (uint)num224, (uint)num227, num228 != 0, num229 != 0); registerCollection38.Add(register38); RegisterCollection registerCollection39 = registers; string name39 = "RegPreambleLsb"; int num230 = (int)num226; int num231 = 1; byte num232 = (byte)(num230 + num231); int num233 = 3; int num234 = 0; int num235 = 1; Register register39 = new Register(name39, (uint)num230, (uint)num233, num234 != 0, num235 != 0); registerCollection39.Add(register39); RegisterCollection registerCollection40 = registers; string name40 = "RegSyncConfig"; int num236 = (int)num232; int num237 = 1; byte num238 = (byte)(num236 + num237); int num239 = 147; int num240 = 0; int num241 = 1; Register register40 = new Register(name40, (uint)num236, (uint)num239, num240 != 0, num241 != 0); registerCollection40.Add(register40); RegisterCollection registerCollection41 = registers; string name41 = "RegSyncValue1"; int num242 = (int)num238; int num243 = 1; byte num244 = (byte)(num242 + num243); int num245 = 85; int num246 = 0; int num247 = 1; Register register41 = new Register(name41, (uint)num242, (uint)num245, num246 != 0, num247 != 0); registerCollection41.Add(register41); RegisterCollection registerCollection42 = registers; string name42 = "RegSyncValue2"; int num248 = (int)num244; int num249 = 1; byte num250 = (byte)(num248 + num249); int num251 = 85; int num252 = 0; int num253 = 1; Register register42 = new Register(name42, (uint)num248, (uint)num251, num252 != 0, num253 != 0); registerCollection42.Add(register42); RegisterCollection registerCollection43 = registers; string name43 = "RegSyncValue3"; int num254 = (int)num250; int num255 = 1; byte num256 = (byte)(num254 + num255); int num257 = 85; int num258 = 0; int num259 = 1; Register register43 = new Register(name43, (uint)num254, (uint)num257, num258 != 0, num259 != 0); registerCollection43.Add(register43); RegisterCollection registerCollection44 = registers; string name44 = "RegSyncValue4"; int num260 = (int)num256; int num261 = 1; byte num262 = (byte)(num260 + num261); int num263 = 85; int num264 = 0; int num265 = 1; Register register44 = new Register(name44, (uint)num260, (uint)num263, num264 != 0, num265 != 0); registerCollection44.Add(register44); RegisterCollection registerCollection45 = registers; string name45 = "RegSyncValue5"; int num266 = (int)num262; int num267 = 1; byte num268 = (byte)(num266 + num267); int num269 = 85; int num270 = 0; int num271 = 1; Register register45 = new Register(name45, (uint)num266, (uint)num269, num270 != 0, num271 != 0); registerCollection45.Add(register45); RegisterCollection registerCollection46 = registers; string name46 = "RegSyncValue6"; int num272 = (int)num268; int num273 = 1; byte num274 = (byte)(num272 + num273); int num275 = 85; int num276 = 0; int num277 = 1; Register register46 = new Register(name46, (uint)num272, (uint)num275, num276 != 0, num277 != 0); registerCollection46.Add(register46); RegisterCollection registerCollection47 = registers; string name47 = "RegSyncValue7"; int num278 = (int)num274; int num279 = 1; byte num280 = (byte)(num278 + num279); int num281 = 85; int num282 = 0; int num283 = 1; Register register47 = new Register(name47, (uint)num278, (uint)num281, num282 != 0, num283 != 0); registerCollection47.Add(register47); RegisterCollection registerCollection48 = registers; string name48 = "RegSyncValue8"; int num284 = (int)num280; int num285 = 1; byte num286 = (byte)(num284 + num285); int num287 = 85; int num288 = 0; int num289 = 1; Register register48 = new Register(name48, (uint)num284, (uint)num287, num288 != 0, num289 != 0); registerCollection48.Add(register48); RegisterCollection registerCollection49 = registers; string name49 = "RegPacketConfig1"; int num290 = (int)num286; int num291 = 1; byte num292 = (byte)(num290 + num291); int num293 = 144; int num294 = 0; int num295 = 1; Register register49 = new Register(name49, (uint)num290, (uint)num293, num294 != 0, num295 != 0); registerCollection49.Add(register49); RegisterCollection registerCollection50 = registers; string name50 = "RegPacketConfig2"; int num296 = (int)num292; int num297 = 1; byte num298 = (byte)(num296 + num297); int num299 = 64; int num300 = 0; int num301 = 1; Register register50 = new Register(name50, (uint)num296, (uint)num299, num300 != 0, num301 != 0); registerCollection50.Add(register50); RegisterCollection registerCollection51 = registers; string name51 = "RegPayloadLength"; int num302 = (int)num298; int num303 = 1; byte num304 = (byte)(num302 + num303); int num305 = 64; int num306 = 0; int num307 = 1; Register register51 = new Register(name51, (uint)num302, (uint)num305, num306 != 0, num307 != 0); registerCollection51.Add(register51); RegisterCollection registerCollection52 = registers; string name52 = "RegNodeAdrs"; int num308 = (int)num304; int num309 = 1; byte num310 = (byte)(num308 + num309); int num311 = 0; int num312 = 0; int num313 = 1; Register register52 = new Register(name52, (uint)num308, (uint)num311, num312 != 0, num313 != 0); registerCollection52.Add(register52); RegisterCollection registerCollection53 = registers; string name53 = "RegBroadcastAdrs"; int num314 = (int)num310; int num315 = 1; byte num316 = (byte)(num314 + num315); int num317 = 0; int num318 = 0; int num319 = 1; Register register53 = new Register(name53, (uint)num314, (uint)num317, num318 != 0, num319 != 0); registerCollection53.Add(register53); RegisterCollection registerCollection54 = registers; string name54 = "RegFifoThresh"; int num320 = (int)num316; int num321 = 1; byte num322 = (byte)(num320 + num321); int num323 = 15; int num324 = 0; int num325 = 1; Register register54 = new Register(name54, (uint)num320, (uint)num323, num324 != 0, num325 != 0); registerCollection54.Add(register54); RegisterCollection registerCollection55 = registers; string name55 = "RegSeqConfig1"; int num326 = (int)num322; int num327 = 1; byte num328 = (byte)(num326 + num327); int num329 = 0; int num330 = 0; int num331 = 1; Register register55 = new Register(name55, (uint)num326, (uint)num329, num330 != 0, num331 != 0); registerCollection55.Add(register55); RegisterCollection registerCollection56 = registers; string name56 = "RegSeqConfig2"; int num332 = (int)num328; int num333 = 1; byte num334 = (byte)(num332 + num333); int num335 = 0; int num336 = 0; int num337 = 1; Register register56 = new Register(name56, (uint)num332, (uint)num335, num336 != 0, num337 != 0); registerCollection56.Add(register56); RegisterCollection registerCollection57 = registers; string name57 = "RegTimerResol"; int num338 = (int)num334; int num339 = 1; byte num340 = (byte)(num338 + num339); int num341 = 0; int num342 = 0; int num343 = 1; Register register57 = new Register(name57, (uint)num338, (uint)num341, num342 != 0, num343 != 0); registerCollection57.Add(register57); RegisterCollection registerCollection58 = registers; string name58 = "RegTimer1Coef"; int num344 = (int)num340; int num345 = 1; byte num346 = (byte)(num344 + num345); int num347 = 245; int num348 = 0; int num349 = 1; Register register58 = new Register(name58, (uint)num344, (uint)num347, num348 != 0, num349 != 0); registerCollection58.Add(register58); RegisterCollection registerCollection59 = registers; string name59 = "RegTimer2Coef"; int num350 = (int)num346; int num351 = 1; byte num352 = (byte)(num350 + num351); int num353 = 32; int num354 = 0; int num355 = 1; Register register59 = new Register(name59, (uint)num350, (uint)num353, num354 != 0, num355 != 0); registerCollection59.Add(register59); RegisterCollection registerCollection60 = registers; string name60 = "RegImageCal"; int num356 = (int)num352; int num357 = 1; byte num358 = (byte)(num356 + num357); int num359 = 130; int num360 = 0; int num361 = 1; Register register60 = new Register(name60, (uint)num356, (uint)num359, num360 != 0, num361 != 0); registerCollection60.Add(register60); RegisterCollection registerCollection61 = registers; string name61 = "RegTemp"; int num362 = (int)num358; int num363 = 1; byte num364 = (byte)(num362 + num363); int num365 = 0; int num366 = 0; int num367 = 1; Register register61 = new Register(name61, (uint)num362, (uint)num365, num366 != 0, num367 != 0); registerCollection61.Add(register61); RegisterCollection registerCollection62 = registers; string name62 = "RegLowBat"; int num368 = (int)num364; int num369 = 1; byte num370 = (byte)(num368 + num369); int num371 = 2; int num372 = 0; int num373 = 1; Register register62 = new Register(name62, (uint)num368, (uint)num371, num372 != 0, num373 != 0); registerCollection62.Add(register62); RegisterCollection registerCollection63 = registers; string name63 = "RegIrqFlags1"; int num374 = (int)num370; int num375 = 1; byte num376 = (byte)(num374 + num375); int num377 = 128; int num378 = 0; int num379 = 1; Register register63 = new Register(name63, (uint)num374, (uint)num377, num378 != 0, num379 != 0); registerCollection63.Add(register63); RegisterCollection registerCollection64 = registers; string name64 = "RegIrqFlags2"; int num380 = (int)num376; int num381 = 1; byte num382 = (byte)(num380 + num381); int num383 = 64; int num384 = 0; int num385 = 1; Register register64 = new Register(name64, (uint)num380, (uint)num383, num384 != 0, num385 != 0); registerCollection64.Add(register64); RegisterCollection registerCollection65 = registers; string name65 = "RegDioMapping1"; int num386 = (int)num382; int num387 = 1; byte num388 = (byte)(num386 + num387); int num389 = 0; int num390 = 0; int num391 = 1; Register register65 = new Register(name65, (uint)num386, (uint)num389, num390 != 0, num391 != 0); registerCollection65.Add(register65); RegisterCollection registerCollection66 = registers; string name66 = "RegDioMapping2"; int num392 = (int)num388; int num393 = 1; byte num394 = (byte)(num392 + num393); int num395 = 0; int num396 = 0; int num397 = 1; Register register66 = new Register(name66, (uint)num392, (uint)num395, num396 != 0, num397 != 0); registerCollection66.Add(register66); RegisterCollection registerCollection67 = registers; string name67 = "RegVersion"; int num398 = (int)num394; int num399 = 1; byte num400 = (byte)(num398 + num399); int num401 = 17; int num402 = 0; int num403 = 1; Register register67 = new Register(name67, (uint)num398, (uint)num401, num402 != 0, num403 != 0); registerCollection67.Add(register67); for (int index = 67; index < 68; ++index) registers.Add(new Register("RegTest" + num400.ToString("X02"), (uint)num400++, 0U, false, true)); RegisterCollection registerCollection68 = registers; string name68 = "RegPllHop"; int num404 = (int)num400; int num405 = 1; byte num406 = (byte)(num404 + num405); int num407 = 45; int num408 = 0; int num409 = 1; Register register68 = new Register(name68, (uint)num404, (uint)num407, num408 != 0, num409 != 0); registerCollection68.Add(register68); for (int index = 69; index < 75; ++index) registers.Add(new Register("RegTest" + num406.ToString("X02"), (uint)num406++, 0U, false, true)); RegisterCollection registerCollection69 = registers; string name69 = "RegTcxo"; int num410 = (int)num406; int num411 = 1; byte num412 = (byte)(num410 + num411); int num413 = 9; int num414 = 0; int num415 = 1; Register register69 = new Register(name69, (uint)num410, (uint)num413, num414 != 0, num415 != 0); registerCollection69.Add(register69); RegisterCollection registerCollection70 = registers; string name70 = "RegTest4C"; int num416 = (int)num412; int num417 = 1; byte num418 = (byte)(num416 + num417); int num419 = 0; int num420 = 0; int num421 = 1; Register register70 = new Register(name70, (uint)num416, (uint)num419, num420 != 0, num421 != 0); registerCollection70.Add(register70); RegisterCollection registerCollection71 = registers; string name71 = "RegPaDac"; int num422 = (int)num418; int num423 = 1; byte num424 = (byte)(num422 + num423); int num425 = 132; int num426 = 0; int num427 = 1; Register register71 = new Register(name71, (uint)num422, (uint)num425, num426 != 0, num427 != 0); registerCollection71.Add(register71); for (int index = 78; index < 91; ++index) registers.Add(new Register("RegTest" + num424.ToString("X02"), (uint)num424++, 0U, false, true)); RegisterCollection registerCollection72 = registers; string name72 = "RegFormerTemp"; int num428 = (int)num424; int num429 = 1; byte num430 = (byte)(num428 + num429); int num431 = 0; int num432 = 0; int num433 = 1; Register register72 = new Register(name72, (uint)num428, (uint)num431, num432 != 0, num433 != 0); registerCollection72.Add(register72); RegisterCollection registerCollection73 = registers; string name73 = "RegTest5C"; int num434 = (int)num430; int num435 = 1; byte num436 = (byte)(num434 + num435); int num437 = 0; int num438 = 0; int num439 = 1; Register register73 = new Register(name73, (uint)num434, (uint)num437, num438 != 0, num439 != 0); registerCollection73.Add(register73); RegisterCollection registerCollection74 = registers; string name74 = "RegBitrateFrac"; int num440 = (int)num436; int num441 = 1; byte num442 = (byte)(num440 + num441); int num443 = 0; int num444 = 0; int num445 = 1; Register register74 = new Register(name74, (uint)num440, (uint)num443, num444 != 0, num445 != 0); registerCollection74.Add(register74); for (int index = 94; index < 97; ++index) registers.Add(new Register("RegTest" + num442.ToString("X02"), (uint)num442++, 0U, false, true)); RegisterCollection registerCollection75 = registers; string name75 = "RegAgcRef"; int num446 = (int)num442; int num447 = 1; byte num448 = (byte)(num446 + num447); int num449 = 25; int num450 = 0; int num451 = 1; Register register75 = new Register(name75, (uint)num446, (uint)num449, num450 != 0, num451 != 0); registerCollection75.Add(register75); RegisterCollection registerCollection76 = registers; string name76 = "RegAgcThresh1"; int num452 = (int)num448; int num453 = 1; byte num454 = (byte)(num452 + num453); int num455 = 12; int num456 = 0; int num457 = 1; Register register76 = new Register(name76, (uint)num452, (uint)num455, num456 != 0, num457 != 0); registerCollection76.Add(register76); RegisterCollection registerCollection77 = registers; string name77 = "RegAgcThresh2"; int num458 = (int)num454; int num459 = 1; byte num460 = (byte)(num458 + num459); int num461 = 75; int num462 = 0; int num463 = 1; Register register77 = new Register(name77, (uint)num458, (uint)num461, num462 != 0, num463 != 0); registerCollection77.Add(register77); RegisterCollection registerCollection78 = registers; string name78 = "RegAgcThresh3"; int num464 = (int)num460; int num465 = 1; byte num466 = (byte)(num464 + num465); int num467 = 204; int num468 = 0; int num469 = 1; Register register78 = new Register(name78, (uint)num464, (uint)num467, num468 != 0, num469 != 0); registerCollection78.Add(register78); for (int index = 101; index < 112; ++index) registers.Add(new Register("RegTest" + num466.ToString("X02"), (uint)num466++, 0U, false, true)); RegisterCollection registerCollection79 = registers; string name79 = "RegPll"; int num470 = (int)num466; int num471 = 1; byte num472 = (byte)(num470 + num471); int num473 = 208; int num474 = 0; int num475 = 1; Register register79 = new Register(name79, (uint)num470, (uint)num473, num474 != 0, num475 != 0); registerCollection79.Add(register79); for (int index = 113; index < 128; ++index) registers.Add(new Register("RegTest" + num472.ToString("X02"), (uint)num472++, 0U, false, true)); foreach (Register register80 in registers) register80.PropertyChanged += new PropertyChangedEventHandler(registers_PropertyChanged); Packet = new Packet(); }
private void PopulateRegisters() { if (IsOpen) { byte data = 0; if (!Read(0x10, ref data)) throw new Exception("Unable to read register RegVersion"); if (!Read(0x10, ref data)) throw new Exception("Unable to read register RegVersion"); Version = (((data & 0xF0) >> 4)).ToString() + "." + ((data & 0x0F)).ToString(); } m_registers = new RegisterCollection(); m_registers.Add(new Register("RegFifo", 0x00, 0x00, true, true)); m_registers.Add(new Register("RegOpMode", 0x01, 0x04, false, true)); m_registers.Add(new Register("RegDataModul", 0x02, 0, false, true)); m_registers.Add(new Register("RegBitrateMsb", 0x03, 0x1A, false, true)); m_registers.Add(new Register("RegBitrateLsb", 0x04, 0x0B, false, true)); m_registers.Add(new Register("RegFdevMsb", 0x05, 0x00, false, true)); m_registers.Add(new Register("RegFdevLsb", 0x06, 0x52, false, true)); m_registers.Add(new Register("RegFrfMsb", 0x07, 0xE4, false, true)); m_registers.Add(new Register("RegFrfMid", 0x08, 0xC0, false, true)); m_registers.Add(new Register("RegFrfLsb", 0x09, 0x00, false, true)); m_registers.Add(new Register("RegOsc1", 0x0A, 0x41, false, true)); if (Version == "2.1") m_registers.Add(new Register("RegOsc2", 0x0B, 0x40, false, true)); else m_registers.Add(new Register("RegAfcCtrl", 0x0B, 0, false, true)); m_registers.Add(new Register("RegLowBat", 0x0C, 2, false, true)); m_registers.Add(new Register("RegListen1", 0x0D, 0xA2, false, true)); m_registers.Add(new Register("RegListen2", 0x0E, 0xF5, false, true)); m_registers.Add(new Register("RegListen3", 0x0F, 0x20, false, true)); m_registers.Add(new Register("RegVersion", 0x10, 0x23, true, true)); m_registers.Add(new Register("RegPaLevel", 0x11, 0x9F, false, true)); m_registers.Add(new Register("RegPaRamp", 0x12, 0x09, false, true)); m_registers.Add(new Register("RegOcp", 0x13, 0x1B, false, true)); if (Version == "2.1") { m_registers.Add(new Register("RegAgcRef", 0x14, 0x40, false, true)); m_registers.Add(new Register("RegAgcThresh1", 0x15, 0xB0, false, true)); m_registers.Add(new Register("RegAgcThresh2", 0x16, 0x7B, false, true)); m_registers.Add(new Register("RegAgcThresh3", 0x17, 0x9B, false, true)); } else { m_registers.Add(new Register("Reserved14", 0x14, 0x40, false, true)); m_registers.Add(new Register("Reserved15", 0x15, 0xb0, false, true)); m_registers.Add(new Register("Reserved16", 0x16, 0x7b, false, true)); m_registers.Add(new Register("Reserved17", 0x17, 0x9b, false, true)); } m_registers.Add(new Register("RegLna", 0x18, 0x88, false, true)); m_registers.Add(new Register("RegRxBw", 0x19, 0x55, false, true)); m_registers.Add(new Register("RegAfcBw", 0x1A, 0x8b, false, true)); m_registers.Add(new Register("RegOokPeak", 0x1B, 0x40, false, true)); m_registers.Add(new Register("RegOokAvg", 0x1C, 0x80, false, true)); m_registers.Add(new Register("RegOokFix", 0x1D, 6, false, true)); m_registers.Add(new Register("RegAfcFei", 0x1E, 0x10, false, true)); m_registers.Add(new Register("RegAfcMsb", 0x1F, 0, false, true)); m_registers.Add(new Register("RegAfcLsb", 0x20, 0, false, true)); m_registers.Add(new Register("RegFeiMsb", 0x21, 0, false, true)); m_registers.Add(new Register("RegFeiLsb", 0x22, 0, false, true)); m_registers.Add(new Register("RegRssiConfig", 0x23, 2, true, true)); m_registers.Add(new Register("RegRssiValue", 0x24, 0xFF, true, true)); m_registers.Add(new Register("RegDioMapping1", 0x25, 0x00, false, true)); m_registers.Add(new Register("RegDioMapping2", 0x26, 7, false, true)); m_registers.Add(new Register("RegIrqFlags1", 0x27, 0x80, true, true)); m_registers.Add(new Register("RegIrqFlags2", 0x28, 0, true, true)); m_registers.Add(new Register("RegRssiThresh", 0x29, 0xe4, false, true)); m_registers.Add(new Register("RegRxTimeout1", 0x2A, 0, false, true)); m_registers.Add(new Register("RegRxTimeout2", 0x2B, 0, false, true)); m_registers.Add(new Register("RegPreambleMsb", 0x2C, 0, false, true)); m_registers.Add(new Register("RegPreambleLsb", 0x2D, 3, false, true)); m_registers.Add(new Register("RegSyncConfig", 0x2E, 0x98, false, true)); m_registers.Add(new Register("RegSyncValue1", 0x2F, 0, false, true)); m_registers.Add(new Register("RegSyncValue2", 0x30, 0, false, true)); m_registers.Add(new Register("RegSyncValue3", 0x31, 0, false, true)); m_registers.Add(new Register("RegSyncValue4", 0x32, 0, false, true)); m_registers.Add(new Register("RegSyncValue5", 0x33, 0, false, true)); m_registers.Add(new Register("RegSyncValue6", 0x34, 0, false, true)); m_registers.Add(new Register("RegSyncValue7", 0x35, 0, false, true)); m_registers.Add(new Register("RegSyncValue8", 0x36, 0, false, true)); m_registers.Add(new Register("RegPacketConfig1", 0x37, 1, false, true)); m_registers.Add(new Register("RegPayloadLength", 0x38, 0x40, false, true)); m_registers.Add(new Register("RegNodeAdrs", 0x39, 0, false, true)); m_registers.Add(new Register("RegBroadcastAdrs", 0x3A, 0, false, true)); m_registers.Add(new Register("RegAutoModes", 0x3B, 0, false, true)); m_registers.Add(new Register("RegFifoThresh", 0x3C, 0x8F, false, true)); m_registers.Add(new Register("RegPacketConfig2", 0x3D, 2, false, true)); m_registers.Add(new Register("RegAesKey1", 0x3E, 0, false, true)); m_registers.Add(new Register("RegAesKey2", 0x3F, 0, false, true)); m_registers.Add(new Register("RegAesKey3", 0x40, 0, false, true)); m_registers.Add(new Register("RegAesKey4", 0x41, 0, false, true)); m_registers.Add(new Register("RegAesKey5", 0x42, 0, false, true)); m_registers.Add(new Register("RegAesKey6", 0x43, 0, false, true)); m_registers.Add(new Register("RegAesKey7", 0x44, 0, false, true)); m_registers.Add(new Register("RegAesKey8", 0x45, 0, false, true)); m_registers.Add(new Register("RegAesKey9", 0x46, 0, false, true)); m_registers.Add(new Register("RegAesKey10", 0x47, 0, false, true)); m_registers.Add(new Register("RegAesKey11", 0x48, 0, false, true)); m_registers.Add(new Register("RegAesKey12", 0x49, 0, false, true)); m_registers.Add(new Register("RegAesKey13", 0x4A, 0, false, true)); m_registers.Add(new Register("RegAesKey14", 0x4B, 0, false, true)); m_registers.Add(new Register("RegAesKey15", 0x4C, 0, false, true)); m_registers.Add(new Register("RegAesKey16", 0x4D, 0, false, true)); m_registers.Add(new Register("RegTemp1", 0x4E, 1, true, true)); m_registers.Add(new Register("RegTemp2", 0x4F, 0, true, true)); if (Version != "2.1") { m_registers.Add(new Register("RegTestLna", 0x58, 0x1b, false, true)); if (Version == "2.3") m_registers.Add(new Register("RegTestDagc", 0x6F, 0x30, false, true)); m_registers.Add(new Register("RegTestAfc", 0x71, 0, false, true)); } foreach (Register item in m_registers) item.PropertyChanged += new PropertyChangedEventHandler(registers_PropertyChanged); Packet = new SemtechLib.Devices.SX1231.General.Packet(); }