@@ -55,62 +55,253 @@ public enum ChipType
5555 /// <summary>
5656 /// Type of Mifare from NXP AN10833
5757 /// </summary>
58+ /// <remarks>
59+ /// <code>
60+ /// Mifare Classic = 0x10 - 0x1F
61+ /// NXP SAM = 0x20 - 0x2F
62+ /// Mifare Plus = 0x30 - 0x3F
63+ /// Mifare Desfire = 0x40 - 0x7F
64+ /// Desfire Light = 0x80 - 0x8F
65+ /// Mifare Ultralight = 0x90 - 0x9F
66+ /// Mifare Mini = 0xA0 - 0xAF
67+ /// NXP NTAG = 0xB0 - 0xBF
68+ /// NXP ICODE = 0xC0 - 0xCF
69+ ///
70+ /// 0bxxxx 0000 = nxp type
71+ /// 0b0000 xxxx = nxp subtype
72+ /// 0bxxxx 1xxx = smartmx variant
73+ /// </code>
74+ /// </remarks>
75+ [ Flags ]
5876 public enum MifareChipSubType
5977 {
60- // Custom
61- Unspecified = 0xB0 ,
62- NTAG = 0xB1 ,
63- MifareMini = 0xB2 ,
64- Mifare1K = 0xB3 ,
65- Mifare2K = 0xB4 ,
66- Mifare4K = 0xB5 ,
67- SAM_AV1 = 0xB6 ,
68- SAM_AV2 = 0xB7 ,
69- MifarePlus_SL0_1K = 0xB9 ,
70- MifarePlus_SL0_2K = 0xBA ,
71- MifarePlus_SL0_4K = 0xBB ,
72- MifarePlus_SL1_1K = 0xBC ,
73- MifarePlus_SL1_2K = 0xBD ,
74- MifarePlus_SL1_4K = 0xBE ,
75- MifarePlus_SL2_1K = 0xBF ,
76- MifarePlus_SL2_2K = 0xC0 ,
77- MifarePlus_SL2_4K = 0xC1 ,
78- MifarePlus_SL3_1K = 0xC2 ,
79- MifarePlus_SL3_2K = 0xC3 ,
80- MifarePlus_SL3_4K = 0xC4 ,
81- DESFire = 0xC5 ,
82- DESFireEV1 = 0xC6 ,
83- DESFireEV2 = 0xC7 ,
84- DESFireEV3 = 0xC8 ,
85- SmartMX_DESFire_Generic = 0xC9 ,
86- SmartMX_DESFire_2K = 0xCA ,
87- SmartMX_DESFire_4K = 0xCB ,
88- SmartMX_DESFire_8K = 0xCC ,
89- SmartMX_DESFire_16K = 0xCD ,
90- SmartMX_DESFire_32K = 0xCE ,
91- DESFire_256 = 0xD0 ,
92- DESFire_2K = 0xD1 ,
93- DESFire_4K = 0xD2 ,
94- DESFireEV1_256 = 0xD3 ,
95- DESFireEV1_2K = 0xD4 ,
96- DESFireEV1_4K = 0xD5 ,
97- DESFireEV1_8K = 0xD6 ,
98- DESFireEV2_2K = 0xD7 ,
99- DESFireEV2_4K = 0xD8 ,
100- DESFireEV2_8K = 0xD9 ,
101- DESFireEV2_16K = 0xDA ,
102- DESFireEV2_32K = 0xDB ,
103- DESFireEV3_2K = 0xDC ,
104- DESFireEV3_4K = 0xDD ,
105- DESFireEV3_8K = 0xDE ,
106- DESFireEV3_16K = 0xDF ,
107- DESFireEV3_32K = 0xE0 ,
108- DESFireLight = 0xE1 ,
109- SmartMX_Mifare_1K = 0xF9 ,
110- SmartMX_Mifare_4K = 0xFA ,
111- MifareUltralight = 0xFB ,
112- MifareUltralightC = 0xFC ,
113- GENERIC_T_CL_A = 0xFF
78+ /* CUSTOM
79+ *
80+ * Mifare Classic = 0x10 - 0x1F
81+ * NXP SAM = 0x20 - 0x2F
82+ * Mifare Plus = 0x30 - 0x3F
83+ * Mifare Desfire = 0x40 - 0x7F
84+ * Mifare Desfire Light = 0x80 - 0x8F
85+ * Mifare Ultralight = 0x90 - 0x9F
86+ * Mifare Mini = 0xA0 - 0xAF
87+ * NXP NTAG = 0xB0 - 0xBF
88+ * NXP ICODE = 0xC0 - 0xCF
89+ *
90+ * 0bxxxx 0000 = mifare type
91+ * 0x0000 xxxx = mifare subtype
92+ */
93+
94+ /*
95+ * 0b0001 xxxx = mifare classic
96+ * 0b0001 1xxx = smartmx classic
97+ *
98+ * 0b0001 0000 = mifare classic - 1k
99+ * 0b0001 0001 = mifare classic - 2k
100+ * 0b0001 0010 = mifare classic - 4k
101+ *
102+ * 0b0001 1000 = smartmx classic - 1k
103+ * 0b0001 1001 = smartmx classic - 2k
104+ * 0b0001 1010 = smartmx classic - 4k
105+ */
106+ NOTAG = 0x0 ,
107+ Unspecified = 0x01 ,
108+
109+ MifareClassic = 0x10 ,
110+ Mifare1K = 0x11 ,
111+ Mifare2K = 0x12 ,
112+ Mifare4K = 0x13 ,
113+
114+ SmartMX_Mifare_1K = 0x19 ,
115+ SmartMX_Mifare_2K = 0x1A ,
116+ SmartMX_Mifare_4K = 0x1B ,
117+
118+ /* 0b0010 0000 = MifareSAM
119+ *
120+ * 0b0010 0001 = SAM_AV1
121+ * 0b0010 0010 = SAM_AV2
122+ */
123+
124+ MifareSAM = 0x20 ,
125+ SAM_AV1 = 0x21 ,
126+ SAM_AV2 = 0x22 ,
127+
128+ /* 0b0011 xxxx = Mifare Plus
129+ *
130+ * 0b0011 00xx = Mifare Plus SL0
131+ * 0b0011 0000 = Mifare Plus SL0 - 1k
132+ * 0b0011 0001 = Mifare Plus SL0 - 2k
133+ * 0b0011 0010 = Mifare Plus SL0 - 4k
134+ *
135+ * 0b0011 01xx = Mifare Plus SL1
136+ * 0b0011 0100 = Mifare Plus SL1 - 1k
137+ * 0b0011 0101 = Mifare Plus SL1 - 2k
138+ * 0b0011 0110 = Mifare Plus SL1 - 4k
139+ *
140+ * 0b0011 10xx = Mifare Plus SL2
141+ * 0b0011 1000 = Mifare Plus SL2 - 1k
142+ * 0b0011 1001 = Mifare Plus SL2 - 2k
143+ * 0b0011 1010 = Mifare Plus SL2 - 4k
144+ *
145+ * 0b0011 11xx = Mifare Plus SL3
146+ * 0b0011 1100 = Mifare Plus SL3 - 1k
147+ * 0b0011 1101 = Mifare Plus SL3 - 2k
148+ * 0b0011 1110 = Mifare Plus SL3 - 4k
149+ */
150+
151+ MifarePlus = 0x30 ,
152+ MifarePlus_SL0_1K = 0x31 ,
153+ MifarePlus_SL0_2K = 0x32 ,
154+ MifarePlus_SL0_4K = 0x33 ,
155+
156+ MifarePlus_SL1_1K = 0x34 ,
157+ MifarePlus_SL1_2K = 0x35 ,
158+ MifarePlus_SL1_4K = 0x36 ,
159+
160+ MifarePlus_SL2_1K = 0x38 ,
161+ MifarePlus_SL2_2K = 0x39 ,
162+ MifarePlus_SL2_4K = 0x3A ,
163+
164+ MifarePlus_SL3_1K = 0x3C ,
165+ MifarePlus_SL3_2K = 0x3D ,
166+ MifarePlus_SL3_4K = 0x3E ,
167+
168+ /* 0b01xx xxxx = Mifare Desfire
169+ * 0b01xx 1xxx = SmartMX Desfire
170+ * 0b0100 xxxx = EV0
171+ * 0b0101 xxxx = EV1
172+ * 0b0110 xxxx = EV2
173+ * 0b0111 xxxx = EV3
174+ *
175+ * 0b0100 0000 = Mifare Desfire EV0 - 256
176+ * 0b0100 0001 = Mifare Desfire EV0 - 1k
177+ * 0b0100 0010 = Mifare Desfire EV0 - 2k
178+ * 0b0100 0011 = Mifare Desfire EV0 - 4k
179+ *
180+ * 0b0100 1xxx = SmartMX Desfire EV0
181+ * 0b0100 1000 = SmartMX Desfire EV0 - 256
182+ * 0b0100 1001 = SmartMX Desfire EV0 - 1k
183+ * 0b0100 1010 = SmartMX Desfire EV0 - 2k
184+ * 0b0100 1011 = SmartMX Desfire EV0 - 4k
185+ *
186+ * 0b0101 0xxx = Mifare Desfire EV1
187+ * 0b0101 0000 = Mifare Desfire EV1 - 256
188+ * 0b0101 0001 = Mifare Desfire EV1 - 2k
189+ * 0b0101 0010 = Mifare Desfire EV1 - 4k
190+ * 0b0101 0011 = Mifare Desfire EV1 - 8k
191+ *
192+ * 0b0101 1xxx = SmartMX Desfire EV1
193+ * 0b0101 1000 = SmartMX Desfire EV1 - 256
194+ * 0b0101 1001 = SmartMX Desfire EV1 - 2k
195+ * 0b0101 1010 = SmartMX Desfire EV1 - 4k
196+ * 0b0101 1011 = SmartMX Desfire EV1 - 8k
197+ *
198+ * 0b0110 0xxx = Mifare Desfire EV2
199+ * 0b0110 0000 = Mifare Desfire EV2 - 2k
200+ * 0b0110 0001 = Mifare Desfire EV2 - 4k
201+ * 0b0110 0010 = Mifare Desfire EV2 - 8k
202+ * 0b0110 0011 = Mifare Desfire EV2 - 16k
203+ * 0b0110 0100 = Mifare Desfire EV2 - 32k
204+ *
205+ * 0b0110 1xxx = SmartMX Desfire EV2
206+ * 0b0110 1000 = SmartMX Desfire EV2 - 2k
207+ * 0b0110 1001 = SmartMX Desfire EV2 - 4k
208+ * 0b0110 1010 = SmartMX Desfire EV2 - 8k
209+ * 0b0110 1011 = SmartMX Desfire EV2 - 16k
210+ * 0b0110 1100 = SmartMX Desfire EV2 - 32k
211+ *
212+ * 0b0111 0xxx = Mifare Desfire EV3
213+ * 0b0111 0000 = Mifare Desfire EV3 - 2k
214+ * 0b0111 0001 = Mifare Desfire EV3 - 4k
215+ * 0b0111 0010 = Mifare Desfire EV3 - 8k
216+ * 0b0111 0011 = Mifare Desfire EV3 - 16k
217+ * 0b0111 0100 = Mifare Desfire EV3 - 32k
218+ *
219+ * 0b0111 1xxx = SmartMX Desfire EV3
220+ * 0b0111 1000 = SmartMX Desfire EV3 - 2k
221+ * 0b0111 1001 = SmartMX Desfire EV3 - 4k
222+ * 0b0111 1010 = SmartMX Desfire EV3 - 8k
223+ * 0b0111 1011 = SmartMX Desfire EV3 - 16k
224+ * 0b0111 1100 = SmartMX Desfire EV3 - 32k
225+ *
226+ */
227+
228+ DESFire = 0x40 ,
229+ DESFireEV0 = 0x40 ,
230+ DESFireEV0_256 = 0x41 ,
231+ DESFireEV0_1K = 0x42 ,
232+ DESFireEV0_2K = 0x43 ,
233+ DESFireEV0_4K = 0x44 ,
234+ // 0x44 - 0x47 = RFU
235+
236+ SmartMX_DESFire = 0x48 ,
237+ SmartMX_DESFire_Generic = 0x48 ,
238+ SmartMX_DESFireEV0_256 = 0x49 ,
239+ SmartMX_DESFireEV0_1K = 0x4A ,
240+ SmartMX_DESFireEV0_2K = 0x4B ,
241+ SmartMX_DESFireEV0_4K = 0x4C ,
242+ // 0x4C - 0x4F = RFU
243+
244+ DESFireEV1 = 0x50 ,
245+ DESFireEV1_256 = 0x51 ,
246+ DESFireEV1_2K = 0x52 ,
247+ DESFireEV1_4K = 0x53 ,
248+ DESFireEV1_8K = 0x54 ,
249+ // 0x55 - 0x57 = RFU
250+
251+ SmartMX_DESFireEV1_256 = 0x59 ,
252+ SmartMX_DESFireEV1_2K = 0x5A ,
253+ SmartMX_DESFireEV1_4K = 0x5B ,
254+ SmartMX_DESFireEV1_8K = 0x5C ,
255+ // 0x5C - 0x5F = RFU
256+
257+ DESFireEV2 = 0x60 ,
258+ DESFireEV2_2K = 0x61 ,
259+ DESFireEV2_4K = 0x62 ,
260+ DESFireEV2_8K = 0x63 ,
261+ DESFireEV2_16K = 0x64 ,
262+ DESFireEV2_32K = 0x65 ,
263+ // 0x5C - 0x5F = RFU
264+
265+ SmartMX_DESFireEV2_2K = 0x69 ,
266+ SmartMX_DESFireEV2_4K = 0x6A ,
267+ SmartMX_DESFireEV2_8K = 0x6B ,
268+ SmartMX_DESFireEV2_16K = 0x6C ,
269+ SmartMX_DESFireEV2_32K = 0x6D ,
270+ // 0x5C - 0x5F = RFU
271+
272+ DESFireEV3 = 0x70 ,
273+ DESFireEV3_2K = 0x71 ,
274+ DESFireEV3_4K = 0x72 ,
275+ DESFireEV3_8K = 0x73 ,
276+ DESFireEV3_16K = 0x74 ,
277+ DESFireEV3_32K = 0x75 ,
278+ // 0x5C - 0x5F = RFU
279+
280+ SmartMX_DESFireEV3_2K = 0x79 ,
281+ SmartMX_DESFireEV3_4K = 0x7A ,
282+ SmartMX_DESFireEV3_8K = 0x7B ,
283+ SmartMX_DESFireEV3_16K = 0x7C ,
284+ SmartMX_DESFireEV3_32K = 0x7D ,
285+ // 0x5C - 0x5F = RFU
286+
287+ DESFireLight = 0x8000 ,
288+
289+ MifareUltralight = 0x90 ,
290+ MifareUltralightC = 0x91 ,
291+ MifareUltralightC_EV1 = 0x92 ,
292+
293+ NTAG_210 = 0xA0 ,
294+ NTAG_211 = 0xA1 ,
295+ NTAG_212 = 0xA2 ,
296+ NTAG_213 = 0xA3 ,
297+ NTAG_214 = 0xA4 ,
298+ NTAG_215 = 0xA5 ,
299+ NTAG_216 = 0xA6 ,
300+ // 0xA7 - 0xA9 = RFU
301+ NTAG_424 = 0xAA ,
302+ NTAG_426 = 0xAB ,
303+
304+ MifareMini = 0xB0
114305 }
115306
116307 [ Flags ]
0 commit comments