//public MemBnkRdEventArgs(ref UInt16 crc, ref UInt16 pc, ref UINT96_T epc, // RFID_18K6C_MEMORY_BANK bankNum, String data, UInt16 RSSI) //{ //} public MemBnkRdEventArgs(ref UInt16 crc, ref UInt16 pc, ref UINT96_T epc, RFID_18K6C_MEMORY_BANK bankNum, String data, UInt16 RSSI) { this.CRC = crc; this.PC = pc; this.EPC = epc; // shallow copy is enough switch (bankNum) { case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_RESERVED: this.BankNum = MemoryBanks4Op.Zero; break; case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_EPC: this.BankNum = MemoryBanks4Op.One; break; case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_TID: this.BankNum = MemoryBanks4Op.Two; break; case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_USER: this.BankNum = MemoryBanks4Op.Three; break; default: this.BankNum = MemoryBanks4Op.Zero; break; } this.Data = data; this.RSSI = RSSI; }
// Return Bank Index from Enum : 0 - 3 static public int T18K6CBankToIdx(RFID_18K6C_MEMORY_BANK T18K6CBnk) { int Idx; switch (T18K6CBnk) { case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_RESERVED: Idx = 0; break; case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_EPC: Idx = 1; break; case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_TID: Idx = 2; break; case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_USER: Idx = 3; break; default: throw new ApplicationException("Unexpected RFID_18K6C_MEMORY_BANK"); } return(Idx); }
// MemoryBanks4Op to RFID_18K6C_MEMORY_BANK static public RFID_18K6C_MEMORY_BANK MemoryBanks4OpTo18K6CBank(MemoryBanks4Op B4Op) { RFID_18K6C_MEMORY_BANK Bnk = RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_RESERVED; if ((B4Op & MemoryBanks4Op.Zero) != 0) { Bnk = RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_RESERVED; } else if ((B4Op & MemoryBanks4Op.One) != 0) { Bnk = RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_EPC; } else if ((B4Op & MemoryBanks4Op.Two) != 0) { Bnk = RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_TID; } else if ((B4Op & MemoryBanks4Op.Three) != 0) { Bnk = RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_USER; } return(Bnk); }
static public MemoryBanks4Op T18K6CBankToMemoryBanks4Op(RFID_18K6C_MEMORY_BANK T18K6CBnk) { MemoryBanks4Op B4Op = MemoryBanks4Op.None; switch (T18K6CBnk) { case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_RESERVED: B4Op = MemoryBanks4Op.Zero; break; case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_EPC: B4Op = MemoryBanks4Op.One; break; case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_TID: B4Op = MemoryBanks4Op.Two; break; case RFID_18K6C_MEMORY_BANK.RFID_18K6C_MEMORY_BANK_USER: B4Op = MemoryBanks4Op.Three; break; } return(B4Op); }
static public UInt16 MaxBnkMemSizeInBits(RFID_18K6C_MEMORY_BANK bnk) { return((ushort)(BankSz[T18K6CBankToIdx(bnk)] * 16)); }
static private UInt16[] BankSz; // in words static public UInt16 MaxBnkMemSizeInWds(RFID_18K6C_MEMORY_BANK bnk) { return(BankSz[T18K6CBankToIdx(bnk)]); }