Skip to content

Commit 1666058

Browse files
committed
v0.3
1 parent c440bc3 commit 1666058

File tree

3 files changed

+373
-209
lines changed

3 files changed

+373
-209
lines changed

DataAccessLayer/Constants.cs

Lines changed: 245 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)