public unsafe ConfiguredBits(ReplyForGetBankList *reply) { this.Error = (SensorError) new ConcreteSensorError((ErrI)reply->header.wErrorId); BankBrief *[] bankBriefPtrArray = new BankBrief *[32] { &reply->Brief0, &reply->Brief1, &reply->Brief2, &reply->Brief3, &reply->Brief4, &reply->Brief5, &reply->Brief6, &reply->Brief7, &reply->Brief8, &reply->Brief9, &reply->Brief10, &reply->Brief11, &reply->Brief12, &reply->Brief13, &reply->Brief14, &reply->Brief15, &reply->Brief16, &reply->Brief17, &reply->Brief18, &reply->Brief19, &reply->Brief20, &reply->Brief21, &reply->Brief22, &reply->Brief23, &reply->Brief24, &reply->Brief25, &reply->Brief26, &reply->Brief27, &reply->Brief28, &reply->Brief29, &reply->Brief30, &reply->Brief31 }; for (int index = 0; index < bankBriefPtrArray.Length; ++index) { if (bankBriefPtrArray[index]->byConfiguredBank != (byte)0) { this.Bits |= (uint)(1 << index); } } }
public unsafe ProgramList(ReplyForGetBankList *reply) { this.Error = (SensorError) new ConcreteSensorError((ErrI)reply->header.wErrorId); BankBrief *[] bankBriefPtrArray = new BankBrief *[32] { &reply->Brief0, &reply->Brief1, &reply->Brief2, &reply->Brief3, &reply->Brief4, &reply->Brief5, &reply->Brief6, &reply->Brief7, &reply->Brief8, &reply->Brief9, &reply->Brief10, &reply->Brief11, &reply->Brief12, &reply->Brief13, &reply->Brief14, &reply->Brief15, &reply->Brief16, &reply->Brief17, &reply->Brief18, &reply->Brief19, &reply->Brief20, &reply->Brief21, &reply->Brief22, &reply->Brief23, &reply->Brief24, &reply->Brief25, &reply->Brief26, &reply->Brief27, &reply->Brief28, &reply->Brief29, &reply->Brief30, &reply->Brief31 }; for (int iProgramNo = 0; iProgramNo < bankBriefPtrArray.Length; ++iProgramNo) { BankBrief *bankBriefPtr = bankBriefPtrArray[iProgramNo]; this._programList[iProgramNo] = new ProgramHeader(StringConverter.StringFromUnicode(bankBriefPtr->sBankName.awcBankName, 16), iProgramNo, bankBriefPtr->sTriggerSetting.byExternalTrigger != (byte)0, bankBriefPtr->sTriggerSetting.wInternalyCycleTime); } }