@samlab-corp/sfm-node 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +479 -0
- package/dist/commands/data.d.ts +29 -0
- package/dist/commands/data.d.ts.map +1 -0
- package/dist/commands/data.js +176 -0
- package/dist/commands/data.js.map +1 -0
- package/dist/commands/fingerprint.d.ts +132 -0
- package/dist/commands/fingerprint.d.ts.map +1 -0
- package/dist/commands/fingerprint.js +580 -0
- package/dist/commands/fingerprint.js.map +1 -0
- package/dist/commands/firmware.d.ts +37 -0
- package/dist/commands/firmware.d.ts.map +1 -0
- package/dist/commands/firmware.js +152 -0
- package/dist/commands/firmware.js.map +1 -0
- package/dist/commands/freescan.d.ts +68 -0
- package/dist/commands/freescan.d.ts.map +1 -0
- package/dist/commands/freescan.js +202 -0
- package/dist/commands/freescan.js.map +1 -0
- package/dist/commands/index.d.ts +88 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +104 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/system.d.ts +82 -0
- package/dist/commands/system.d.ts.map +1 -0
- package/dist/commands/system.js +191 -0
- package/dist/commands/system.js.map +1 -0
- package/dist/constants/crypto.d.ts +11 -0
- package/dist/constants/crypto.d.ts.map +1 -0
- package/dist/constants/crypto.js +10 -0
- package/dist/constants/crypto.js.map +1 -0
- package/dist/constants/index.d.ts +6 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +4 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/packet.d.ts +17 -0
- package/dist/constants/packet.d.ts.map +1 -0
- package/dist/constants/packet.js +17 -0
- package/dist/constants/packet.js.map +1 -0
- package/dist/constants/protocol.d.ts +653 -0
- package/dist/constants/protocol.d.ts.map +1 -0
- package/dist/constants/protocol.js +422 -0
- package/dist/constants/protocol.js.map +1 -0
- package/dist/core/client.d.ts +118 -0
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js +320 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/crypto.d.ts +86 -0
- package/dist/core/crypto.d.ts.map +1 -0
- package/dist/core/crypto.js +248 -0
- package/dist/core/crypto.js.map +1 -0
- package/dist/core/errors.d.ts +25 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +66 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +15 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +10 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/packet.d.ts +126 -0
- package/dist/core/packet.d.ts.map +1 -0
- package/dist/core/packet.js +267 -0
- package/dist/core/packet.js.map +1 -0
- package/dist/core/serial.d.ts +123 -0
- package/dist/core/serial.d.ts.map +1 -0
- package/dist/core/serial.js +421 -0
- package/dist/core/serial.js.map +1 -0
- package/dist/core/tcp.d.ts +58 -0
- package/dist/core/tcp.d.ts.map +1 -0
- package/dist/core/tcp.js +219 -0
- package/dist/core/tcp.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1,653 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SFM Protocol Manual V3.6.0
|
|
3
|
+
* 프로토콜 레벨 상수 (에러 코드, 플래그, 명령어, 시스템 파라미터)
|
|
4
|
+
*/
|
|
5
|
+
export declare const SFM_ERROR: {
|
|
6
|
+
readonly SUCCESS: 97;
|
|
7
|
+
readonly SCAN_SUCCESS: 98;
|
|
8
|
+
readonly SCAN_FAIL: 99;
|
|
9
|
+
readonly NOT_FOUND: 105;
|
|
10
|
+
readonly NOT_MATCH: 106;
|
|
11
|
+
readonly TRY_AGAIN: 107;
|
|
12
|
+
readonly TIME_OUT: 108;
|
|
13
|
+
readonly MEM_FULL: 109;
|
|
14
|
+
readonly EXIST_ID: 110;
|
|
15
|
+
readonly CONTINUE: 116;
|
|
16
|
+
readonly UNSUPPORTED: 117;
|
|
17
|
+
};
|
|
18
|
+
export declare const SFM_FLAG: {
|
|
19
|
+
readonly NONE: 0;
|
|
20
|
+
readonly CHECK_ID: 112;
|
|
21
|
+
readonly ADD_NEW: 113;
|
|
22
|
+
readonly AUTO_ID: 121;
|
|
23
|
+
readonly CHECK_FINGER: 132;
|
|
24
|
+
};
|
|
25
|
+
export declare const COMM_ERROR: {
|
|
26
|
+
readonly SUCCESS: 0;
|
|
27
|
+
readonly PACKET_FORMAT_ERROR: -3;
|
|
28
|
+
readonly INVALID_PACKET_SIZE: -4;
|
|
29
|
+
readonly WRITE_TIMEOUT: -5;
|
|
30
|
+
readonly READ_TIMEOUT: -6;
|
|
31
|
+
readonly CHECKSUM_MISMATCH: -7;
|
|
32
|
+
readonly PROBE_TIMEOUT: -102;
|
|
33
|
+
readonly MEMORY_ALLOC_FAILED: -200;
|
|
34
|
+
readonly INVALID_FILE_SIZE: -202;
|
|
35
|
+
readonly INVALID_FIRMWARE_HEADER: -203;
|
|
36
|
+
readonly SECURE_PACKET_TIMEOUT: -305;
|
|
37
|
+
readonly SECURE_CODE_MISMATCH: -501;
|
|
38
|
+
};
|
|
39
|
+
export declare const SFM_CMD: {
|
|
40
|
+
readonly SW: 1;
|
|
41
|
+
readonly SF: 2;
|
|
42
|
+
readonly SR: 3;
|
|
43
|
+
readonly SS: 4;
|
|
44
|
+
readonly RS: 208;
|
|
45
|
+
readonly SDB: 212;
|
|
46
|
+
readonly LDB: 211;
|
|
47
|
+
readonly ES: 5;
|
|
48
|
+
readonly ESA: 112;
|
|
49
|
+
readonly EI: 6;
|
|
50
|
+
readonly EIX: 128;
|
|
51
|
+
readonly ET: 7;
|
|
52
|
+
readonly ETX: 135;
|
|
53
|
+
readonly VS: 8;
|
|
54
|
+
readonly VI: 9;
|
|
55
|
+
readonly VIX: 130;
|
|
56
|
+
readonly VT: 16;
|
|
57
|
+
readonly VH: 34;
|
|
58
|
+
readonly IS: 17;
|
|
59
|
+
readonly II: 18;
|
|
60
|
+
readonly IIX: 129;
|
|
61
|
+
readonly IT: 19;
|
|
62
|
+
readonly DA: 23;
|
|
63
|
+
readonly DT: 22;
|
|
64
|
+
readonly DS: 30;
|
|
65
|
+
readonly LT: 24;
|
|
66
|
+
readonly LTX: 134;
|
|
67
|
+
readonly RI: 32;
|
|
68
|
+
readonly RIX: 132;
|
|
69
|
+
readonly SI: 21;
|
|
70
|
+
readonly SIX: 131;
|
|
71
|
+
readonly RT: 20;
|
|
72
|
+
readonly RTX: 137;
|
|
73
|
+
readonly ST: 33;
|
|
74
|
+
readonly KW: 52;
|
|
75
|
+
readonly AW: 101;
|
|
76
|
+
readonly AR: 102;
|
|
77
|
+
readonly ABL: 243;
|
|
78
|
+
readonly DBL: 244;
|
|
79
|
+
readonly PKE: 42;
|
|
80
|
+
};
|
|
81
|
+
export declare const SFM_PARAM: {
|
|
82
|
+
/** 입력 대기 시간 */
|
|
83
|
+
readonly TIMEOUT: {
|
|
84
|
+
readonly id: 98;
|
|
85
|
+
readonly options: readonly [{
|
|
86
|
+
readonly value: 48;
|
|
87
|
+
readonly alias: "INFINITE";
|
|
88
|
+
}, {
|
|
89
|
+
readonly value: 49;
|
|
90
|
+
readonly alias: "1S";
|
|
91
|
+
}, {
|
|
92
|
+
readonly value: 50;
|
|
93
|
+
readonly alias: "2S";
|
|
94
|
+
}, {
|
|
95
|
+
readonly value: 51;
|
|
96
|
+
readonly alias: "3S";
|
|
97
|
+
}, {
|
|
98
|
+
readonly value: 52;
|
|
99
|
+
readonly alias: "4S";
|
|
100
|
+
}, {
|
|
101
|
+
readonly value: 53;
|
|
102
|
+
readonly alias: "5S";
|
|
103
|
+
}, {
|
|
104
|
+
readonly value: 58;
|
|
105
|
+
readonly alias: "10S";
|
|
106
|
+
}, {
|
|
107
|
+
readonly value: 63;
|
|
108
|
+
readonly alias: "15S";
|
|
109
|
+
}, {
|
|
110
|
+
readonly value: 68;
|
|
111
|
+
readonly alias: "20S";
|
|
112
|
+
}];
|
|
113
|
+
};
|
|
114
|
+
/** 템플릿 크기 */
|
|
115
|
+
readonly TEMPLATE_SIZE: {
|
|
116
|
+
readonly id: 100;
|
|
117
|
+
};
|
|
118
|
+
/** 등록 모드 */
|
|
119
|
+
readonly ENROLL_MODE: {
|
|
120
|
+
readonly id: 101;
|
|
121
|
+
readonly options: readonly [{
|
|
122
|
+
readonly value: 48;
|
|
123
|
+
readonly alias: "SCAN1";
|
|
124
|
+
}, {
|
|
125
|
+
readonly value: 49;
|
|
126
|
+
readonly alias: "SCAN2_MERGE";
|
|
127
|
+
}, {
|
|
128
|
+
readonly value: 65;
|
|
129
|
+
readonly alias: "SCAN2_DUAL";
|
|
130
|
+
}];
|
|
131
|
+
};
|
|
132
|
+
/** 보안 등급 (FAR) */
|
|
133
|
+
readonly SECURITY_LEVEL: {
|
|
134
|
+
readonly id: 102;
|
|
135
|
+
readonly options: readonly [{
|
|
136
|
+
readonly value: 50;
|
|
137
|
+
readonly alias: "LOW";
|
|
138
|
+
}, {
|
|
139
|
+
readonly value: 51;
|
|
140
|
+
readonly alias: "NORMAL";
|
|
141
|
+
}, {
|
|
142
|
+
readonly value: 52;
|
|
143
|
+
readonly alias: "HIGH";
|
|
144
|
+
}, {
|
|
145
|
+
readonly value: 53;
|
|
146
|
+
readonly alias: "HIGHEST";
|
|
147
|
+
}, {
|
|
148
|
+
readonly value: 80;
|
|
149
|
+
readonly alias: "AUTO_NORMAL";
|
|
150
|
+
}, {
|
|
151
|
+
readonly value: 81;
|
|
152
|
+
readonly alias: "AUTO_SECURE";
|
|
153
|
+
}, {
|
|
154
|
+
readonly value: 82;
|
|
155
|
+
readonly alias: "AUTO_MORE_SECURE";
|
|
156
|
+
}];
|
|
157
|
+
};
|
|
158
|
+
/** 암호화 모드 */
|
|
159
|
+
readonly ENCRYPTION_MODE: {
|
|
160
|
+
readonly id: 103;
|
|
161
|
+
readonly options: readonly [{
|
|
162
|
+
readonly value: 48;
|
|
163
|
+
readonly alias: "OFF";
|
|
164
|
+
}, {
|
|
165
|
+
readonly value: 49;
|
|
166
|
+
readonly alias: "ON";
|
|
167
|
+
}];
|
|
168
|
+
};
|
|
169
|
+
/** 센서 타입 */
|
|
170
|
+
readonly SENSOR_TYPE: {
|
|
171
|
+
readonly id: 104;
|
|
172
|
+
readonly options: readonly [{
|
|
173
|
+
readonly value: 49;
|
|
174
|
+
readonly alias: "FC";
|
|
175
|
+
}, {
|
|
176
|
+
readonly value: 51;
|
|
177
|
+
readonly alias: "OPTICAL";
|
|
178
|
+
}, {
|
|
179
|
+
readonly value: 52;
|
|
180
|
+
readonly alias: "TC";
|
|
181
|
+
}, {
|
|
182
|
+
readonly value: 56;
|
|
183
|
+
readonly alias: "OC";
|
|
184
|
+
}, {
|
|
185
|
+
readonly value: 57;
|
|
186
|
+
readonly alias: "OL";
|
|
187
|
+
}, {
|
|
188
|
+
readonly value: 59;
|
|
189
|
+
readonly alias: "FOH02";
|
|
190
|
+
}, {
|
|
191
|
+
readonly value: 60;
|
|
192
|
+
readonly alias: "TS4";
|
|
193
|
+
}];
|
|
194
|
+
};
|
|
195
|
+
/** 이미지 전송 포맷 */
|
|
196
|
+
readonly IMAGE_FORMAT: {
|
|
197
|
+
readonly id: 108;
|
|
198
|
+
readonly options: readonly [{
|
|
199
|
+
readonly value: 48;
|
|
200
|
+
readonly alias: "RAW_GRAY";
|
|
201
|
+
}, {
|
|
202
|
+
readonly value: 49;
|
|
203
|
+
readonly alias: "BINARY";
|
|
204
|
+
}, {
|
|
205
|
+
readonly value: 50;
|
|
206
|
+
readonly alias: "GRAY_4BIT";
|
|
207
|
+
}, {
|
|
208
|
+
readonly value: 51;
|
|
209
|
+
readonly alias: "WSQ";
|
|
210
|
+
}];
|
|
211
|
+
};
|
|
212
|
+
/** 모듈 ID */
|
|
213
|
+
readonly MODULE_ID: {
|
|
214
|
+
readonly id: 109;
|
|
215
|
+
};
|
|
216
|
+
/** 펌웨어 버전 */
|
|
217
|
+
readonly FIRMWARE_VERSION: {
|
|
218
|
+
readonly id: 110;
|
|
219
|
+
};
|
|
220
|
+
/** 시리얼 넘버 */
|
|
221
|
+
readonly SERIAL_NUMBER: {
|
|
222
|
+
readonly id: 111;
|
|
223
|
+
};
|
|
224
|
+
/** 통신 속도 */
|
|
225
|
+
readonly BAUDRATE: {
|
|
226
|
+
readonly id: 113;
|
|
227
|
+
readonly options: readonly [{
|
|
228
|
+
readonly value: 49;
|
|
229
|
+
readonly alias: "9600";
|
|
230
|
+
}, {
|
|
231
|
+
readonly value: 50;
|
|
232
|
+
readonly alias: "19200";
|
|
233
|
+
}, {
|
|
234
|
+
readonly value: 51;
|
|
235
|
+
readonly alias: "38400";
|
|
236
|
+
}, {
|
|
237
|
+
readonly value: 52;
|
|
238
|
+
readonly alias: "57600";
|
|
239
|
+
}, {
|
|
240
|
+
readonly value: 53;
|
|
241
|
+
readonly alias: "115200";
|
|
242
|
+
}, {
|
|
243
|
+
readonly value: 54;
|
|
244
|
+
readonly alias: "230400";
|
|
245
|
+
}, {
|
|
246
|
+
readonly value: 55;
|
|
247
|
+
readonly alias: "460800";
|
|
248
|
+
}, {
|
|
249
|
+
readonly value: 56;
|
|
250
|
+
readonly alias: "921600";
|
|
251
|
+
}];
|
|
252
|
+
};
|
|
253
|
+
/** 보조 통신 속도 */
|
|
254
|
+
readonly BAUDRATE2: {
|
|
255
|
+
readonly id: 114;
|
|
256
|
+
};
|
|
257
|
+
/** 등록된 지문 수 */
|
|
258
|
+
readonly ENROLLED_FINGER: {
|
|
259
|
+
readonly id: 115;
|
|
260
|
+
};
|
|
261
|
+
/** 등록 가능한 지문 수 */
|
|
262
|
+
readonly AVAILABLE_FINGER: {
|
|
263
|
+
readonly id: 116;
|
|
264
|
+
};
|
|
265
|
+
/** SCAN_SUCCESS 응답 전송 */
|
|
266
|
+
readonly SEND_SCAN_SUCCESS: {
|
|
267
|
+
readonly id: 117;
|
|
268
|
+
readonly options: readonly [{
|
|
269
|
+
readonly value: 48;
|
|
270
|
+
readonly alias: "OFF";
|
|
271
|
+
}, {
|
|
272
|
+
readonly value: 49;
|
|
273
|
+
readonly alias: "ON";
|
|
274
|
+
}];
|
|
275
|
+
};
|
|
276
|
+
/** 패킷 교환 형식 */
|
|
277
|
+
readonly ASCII_PACKET: {
|
|
278
|
+
readonly id: 118;
|
|
279
|
+
readonly options: readonly [{
|
|
280
|
+
readonly value: 48;
|
|
281
|
+
readonly alias: "HEX";
|
|
282
|
+
}, {
|
|
283
|
+
readonly value: 49;
|
|
284
|
+
readonly alias: "ASCII";
|
|
285
|
+
}];
|
|
286
|
+
};
|
|
287
|
+
/** 센서 이미지 회전 */
|
|
288
|
+
readonly ROTATE_IMAGE: {
|
|
289
|
+
readonly id: 119;
|
|
290
|
+
readonly options: readonly [{
|
|
291
|
+
readonly value: 48;
|
|
292
|
+
readonly alias: "NORMAL";
|
|
293
|
+
}, {
|
|
294
|
+
readonly value: 49;
|
|
295
|
+
readonly alias: "FLIP";
|
|
296
|
+
}];
|
|
297
|
+
};
|
|
298
|
+
/** 매칭 허용 회전 각도 */
|
|
299
|
+
readonly ROTATION: {
|
|
300
|
+
readonly id: 120;
|
|
301
|
+
readonly options: readonly [{
|
|
302
|
+
readonly value: 49;
|
|
303
|
+
readonly alias: "DEG15";
|
|
304
|
+
}, {
|
|
305
|
+
readonly value: 50;
|
|
306
|
+
readonly alias: "DEG30";
|
|
307
|
+
}, {
|
|
308
|
+
readonly value: 51;
|
|
309
|
+
readonly alias: "DEG45";
|
|
310
|
+
}, {
|
|
311
|
+
readonly value: 52;
|
|
312
|
+
readonly alias: "DEG60";
|
|
313
|
+
}, {
|
|
314
|
+
readonly value: 53;
|
|
315
|
+
readonly alias: "DEG75";
|
|
316
|
+
}, {
|
|
317
|
+
readonly value: 54;
|
|
318
|
+
readonly alias: "DEG90";
|
|
319
|
+
}];
|
|
320
|
+
};
|
|
321
|
+
/** 센서 감도 */
|
|
322
|
+
readonly SENSITIVITY: {
|
|
323
|
+
readonly id: 128;
|
|
324
|
+
readonly options: readonly [{
|
|
325
|
+
readonly value: 48;
|
|
326
|
+
readonly alias: "LV0";
|
|
327
|
+
}, {
|
|
328
|
+
readonly value: 49;
|
|
329
|
+
readonly alias: "LV1";
|
|
330
|
+
}, {
|
|
331
|
+
readonly value: 50;
|
|
332
|
+
readonly alias: "LV2";
|
|
333
|
+
}, {
|
|
334
|
+
readonly value: 51;
|
|
335
|
+
readonly alias: "LV3";
|
|
336
|
+
}, {
|
|
337
|
+
readonly value: 52;
|
|
338
|
+
readonly alias: "LV4";
|
|
339
|
+
}, {
|
|
340
|
+
readonly value: 53;
|
|
341
|
+
readonly alias: "LV5";
|
|
342
|
+
}, {
|
|
343
|
+
readonly value: 54;
|
|
344
|
+
readonly alias: "LV6";
|
|
345
|
+
}, {
|
|
346
|
+
readonly value: 55;
|
|
347
|
+
readonly alias: "LV7";
|
|
348
|
+
}];
|
|
349
|
+
};
|
|
350
|
+
/** 이미지 품질 기준 */
|
|
351
|
+
readonly IMAGE_QUALITY: {
|
|
352
|
+
readonly id: 129;
|
|
353
|
+
readonly options: readonly [{
|
|
354
|
+
readonly value: 48;
|
|
355
|
+
readonly alias: "WEAK";
|
|
356
|
+
}, {
|
|
357
|
+
readonly value: 49;
|
|
358
|
+
readonly alias: "MODERATE";
|
|
359
|
+
}, {
|
|
360
|
+
readonly value: 50;
|
|
361
|
+
readonly alias: "STRONG";
|
|
362
|
+
}, {
|
|
363
|
+
readonly value: 51;
|
|
364
|
+
readonly alias: "STRONGEST";
|
|
365
|
+
}];
|
|
366
|
+
};
|
|
367
|
+
/** GPIO/FreeScan 자동 응답 */
|
|
368
|
+
readonly AUTO_RESPONSE: {
|
|
369
|
+
readonly id: 130;
|
|
370
|
+
readonly options: readonly [{
|
|
371
|
+
readonly value: 48;
|
|
372
|
+
readonly alias: "OFF";
|
|
373
|
+
}, {
|
|
374
|
+
readonly value: 49;
|
|
375
|
+
readonly alias: "HOST";
|
|
376
|
+
}, {
|
|
377
|
+
readonly value: 50;
|
|
378
|
+
readonly alias: "AUX";
|
|
379
|
+
}, {
|
|
380
|
+
readonly value: 51;
|
|
381
|
+
readonly alias: "BOTH";
|
|
382
|
+
}];
|
|
383
|
+
};
|
|
384
|
+
/** 네트워크 통신 모드 */
|
|
385
|
+
readonly NETWORK_MODE: {
|
|
386
|
+
readonly id: 131;
|
|
387
|
+
readonly options: readonly [{
|
|
388
|
+
readonly value: 48;
|
|
389
|
+
readonly alias: "SINGLE";
|
|
390
|
+
}, {
|
|
391
|
+
readonly value: 49;
|
|
392
|
+
readonly alias: "NETWORK";
|
|
393
|
+
}];
|
|
394
|
+
};
|
|
395
|
+
/** 유휴 상태 자동 스캔 */
|
|
396
|
+
readonly FREE_SCAN: {
|
|
397
|
+
readonly id: 132;
|
|
398
|
+
readonly options: readonly [{
|
|
399
|
+
readonly value: 48;
|
|
400
|
+
readonly alias: "OFF";
|
|
401
|
+
}, {
|
|
402
|
+
readonly value: 50;
|
|
403
|
+
readonly alias: "ON";
|
|
404
|
+
}];
|
|
405
|
+
};
|
|
406
|
+
/** 임시 등록 모드 */
|
|
407
|
+
readonly PROVISIONAL_ENROLL: {
|
|
408
|
+
readonly id: 133;
|
|
409
|
+
readonly options: readonly [{
|
|
410
|
+
readonly value: 48;
|
|
411
|
+
readonly alias: "PERMANENT";
|
|
412
|
+
}, {
|
|
413
|
+
readonly value: 49;
|
|
414
|
+
readonly alias: "TEMPORARY";
|
|
415
|
+
}];
|
|
416
|
+
};
|
|
417
|
+
/** DB 비어있을 때 인증 결과 */
|
|
418
|
+
readonly PASS_WHEN_EMPTY: {
|
|
419
|
+
readonly id: 134;
|
|
420
|
+
readonly options: readonly [{
|
|
421
|
+
readonly value: 48;
|
|
422
|
+
readonly alias: "FAIL";
|
|
423
|
+
}, {
|
|
424
|
+
readonly value: 49;
|
|
425
|
+
readonly alias: "PASS";
|
|
426
|
+
}];
|
|
427
|
+
};
|
|
428
|
+
/** 응답 딜레이 */
|
|
429
|
+
readonly RESPONSE_DELAY: {
|
|
430
|
+
readonly id: 135;
|
|
431
|
+
readonly options: readonly [{
|
|
432
|
+
readonly value: 48;
|
|
433
|
+
readonly alias: "NONE";
|
|
434
|
+
}, {
|
|
435
|
+
readonly value: 49;
|
|
436
|
+
readonly alias: "20MS";
|
|
437
|
+
}, {
|
|
438
|
+
readonly value: 50;
|
|
439
|
+
readonly alias: "40MS";
|
|
440
|
+
}, {
|
|
441
|
+
readonly value: 51;
|
|
442
|
+
readonly alias: "60MS";
|
|
443
|
+
}, {
|
|
444
|
+
readonly value: 52;
|
|
445
|
+
readonly alias: "80MS";
|
|
446
|
+
}, {
|
|
447
|
+
readonly value: 53;
|
|
448
|
+
readonly alias: "100MS";
|
|
449
|
+
}, {
|
|
450
|
+
readonly value: 58;
|
|
451
|
+
readonly alias: "200MS";
|
|
452
|
+
}];
|
|
453
|
+
};
|
|
454
|
+
/** 매칭 타임아웃 */
|
|
455
|
+
readonly MATCHING_TIMEOUT: {
|
|
456
|
+
readonly id: 136;
|
|
457
|
+
readonly options: readonly [{
|
|
458
|
+
readonly value: 48;
|
|
459
|
+
readonly alias: "INFINITE";
|
|
460
|
+
}, {
|
|
461
|
+
readonly value: 49;
|
|
462
|
+
readonly alias: "1S";
|
|
463
|
+
}, {
|
|
464
|
+
readonly value: 51;
|
|
465
|
+
readonly alias: "3S";
|
|
466
|
+
}, {
|
|
467
|
+
readonly value: 53;
|
|
468
|
+
readonly alias: "5S";
|
|
469
|
+
}, {
|
|
470
|
+
readonly value: 58;
|
|
471
|
+
readonly alias: "10S";
|
|
472
|
+
}, {
|
|
473
|
+
readonly value: 68;
|
|
474
|
+
readonly alias: "20S";
|
|
475
|
+
}];
|
|
476
|
+
};
|
|
477
|
+
/** 빌드 넘버 */
|
|
478
|
+
readonly BUILD_NUMBER: {
|
|
479
|
+
readonly id: 137;
|
|
480
|
+
};
|
|
481
|
+
/** 등록 시 지문 이동 거리 */
|
|
482
|
+
readonly ENROLL_DISPLACEMENT: {
|
|
483
|
+
readonly id: 138;
|
|
484
|
+
readonly options: readonly [{
|
|
485
|
+
readonly value: 48;
|
|
486
|
+
readonly alias: "NONE";
|
|
487
|
+
}, {
|
|
488
|
+
readonly value: 49;
|
|
489
|
+
readonly alias: "1MM";
|
|
490
|
+
}, {
|
|
491
|
+
readonly value: 51;
|
|
492
|
+
readonly alias: "3MM";
|
|
493
|
+
}, {
|
|
494
|
+
readonly value: 53;
|
|
495
|
+
readonly alias: "5MM";
|
|
496
|
+
}, {
|
|
497
|
+
readonly value: 58;
|
|
498
|
+
readonly alias: "10MM";
|
|
499
|
+
}];
|
|
500
|
+
};
|
|
501
|
+
/** 조명 환경 */
|
|
502
|
+
readonly LIGHTING_CONDITION: {
|
|
503
|
+
readonly id: 144;
|
|
504
|
+
readonly options: readonly [{
|
|
505
|
+
readonly value: 48;
|
|
506
|
+
readonly alias: "OUTDOOR";
|
|
507
|
+
}, {
|
|
508
|
+
readonly value: 49;
|
|
509
|
+
readonly alias: "INDOOR";
|
|
510
|
+
}];
|
|
511
|
+
};
|
|
512
|
+
/** Free Scan 연속 인식 딜레이 */
|
|
513
|
+
readonly FREE_SCAN_DELAY: {
|
|
514
|
+
readonly id: 145;
|
|
515
|
+
readonly options: readonly [{
|
|
516
|
+
readonly value: 48;
|
|
517
|
+
readonly alias: "NONE";
|
|
518
|
+
}, {
|
|
519
|
+
readonly value: 49;
|
|
520
|
+
readonly alias: "1S";
|
|
521
|
+
}, {
|
|
522
|
+
readonly value: 50;
|
|
523
|
+
readonly alias: "2S";
|
|
524
|
+
}, {
|
|
525
|
+
readonly value: 51;
|
|
526
|
+
readonly alias: "3S";
|
|
527
|
+
}, {
|
|
528
|
+
readonly value: 53;
|
|
529
|
+
readonly alias: "5S";
|
|
530
|
+
}, {
|
|
531
|
+
readonly value: 58;
|
|
532
|
+
readonly alias: "10S";
|
|
533
|
+
}];
|
|
534
|
+
};
|
|
535
|
+
/** 1:N 매칭 속도 향상 */
|
|
536
|
+
readonly FAST_MODE: {
|
|
537
|
+
readonly id: 147;
|
|
538
|
+
readonly options: readonly [{
|
|
539
|
+
readonly value: 48;
|
|
540
|
+
readonly alias: "OFF";
|
|
541
|
+
}, {
|
|
542
|
+
readonly value: 49;
|
|
543
|
+
readonly alias: "LV1";
|
|
544
|
+
}, {
|
|
545
|
+
readonly value: 50;
|
|
546
|
+
readonly alias: "LV2";
|
|
547
|
+
}, {
|
|
548
|
+
readonly value: 51;
|
|
549
|
+
readonly alias: "LV3";
|
|
550
|
+
}, {
|
|
551
|
+
readonly value: 52;
|
|
552
|
+
readonly alias: "LV4";
|
|
553
|
+
}, {
|
|
554
|
+
readonly value: 53;
|
|
555
|
+
readonly alias: "FASTEST";
|
|
556
|
+
}, {
|
|
557
|
+
readonly value: 54;
|
|
558
|
+
readonly alias: "AUTO";
|
|
559
|
+
}];
|
|
560
|
+
};
|
|
561
|
+
/** 워치독 타이머 */
|
|
562
|
+
readonly WATCHDOG: {
|
|
563
|
+
readonly id: 148;
|
|
564
|
+
readonly options: readonly [{
|
|
565
|
+
readonly value: 48;
|
|
566
|
+
readonly alias: "OFF";
|
|
567
|
+
}, {
|
|
568
|
+
readonly value: 49;
|
|
569
|
+
readonly alias: "ON";
|
|
570
|
+
}];
|
|
571
|
+
};
|
|
572
|
+
/** 템플릿 타입 */
|
|
573
|
+
readonly TEMPLATE_TYPE: {
|
|
574
|
+
readonly id: 150;
|
|
575
|
+
readonly options: readonly [{
|
|
576
|
+
readonly value: 48;
|
|
577
|
+
readonly alias: "SUPREMA";
|
|
578
|
+
}, {
|
|
579
|
+
readonly value: 49;
|
|
580
|
+
readonly alias: "ISO";
|
|
581
|
+
}, {
|
|
582
|
+
readonly value: 50;
|
|
583
|
+
readonly alias: "ANSI";
|
|
584
|
+
}];
|
|
585
|
+
};
|
|
586
|
+
/** 개인정보 보호 모드 */
|
|
587
|
+
readonly ENHANCED_PRIVACY: {
|
|
588
|
+
readonly id: 151;
|
|
589
|
+
readonly options: readonly [{
|
|
590
|
+
readonly value: 48;
|
|
591
|
+
readonly alias: "OFF";
|
|
592
|
+
}, {
|
|
593
|
+
readonly value: 49;
|
|
594
|
+
readonly alias: "ON";
|
|
595
|
+
}];
|
|
596
|
+
};
|
|
597
|
+
/** 위조 지문 감지 */
|
|
598
|
+
readonly FAKE_FINGER_DETECTION: {
|
|
599
|
+
readonly id: 152;
|
|
600
|
+
readonly options: readonly [{
|
|
601
|
+
readonly value: 48;
|
|
602
|
+
readonly alias: "OFF";
|
|
603
|
+
}, {
|
|
604
|
+
readonly value: 49;
|
|
605
|
+
readonly alias: "WEAK";
|
|
606
|
+
}, {
|
|
607
|
+
readonly value: 50;
|
|
608
|
+
readonly alias: "NORMAL";
|
|
609
|
+
}, {
|
|
610
|
+
readonly value: 51;
|
|
611
|
+
readonly alias: "STRONG";
|
|
612
|
+
}];
|
|
613
|
+
};
|
|
614
|
+
/** 잔류 지문 감지 */
|
|
615
|
+
readonly CHECK_LATENT_FINGERPRINT: {
|
|
616
|
+
readonly id: 154;
|
|
617
|
+
readonly options: readonly [{
|
|
618
|
+
readonly value: 48;
|
|
619
|
+
readonly alias: "ENROLL_ONLY";
|
|
620
|
+
}, {
|
|
621
|
+
readonly value: 49;
|
|
622
|
+
readonly alias: "NEVER";
|
|
623
|
+
}, {
|
|
624
|
+
readonly value: 50;
|
|
625
|
+
readonly alias: "ALWAYS";
|
|
626
|
+
}];
|
|
627
|
+
};
|
|
628
|
+
/** 전압 경고 임계값 */
|
|
629
|
+
readonly VOLTAGE_WARNING: {
|
|
630
|
+
readonly id: 155;
|
|
631
|
+
};
|
|
632
|
+
/** 자동 전원 차단 타임아웃 */
|
|
633
|
+
readonly POWER_OFF: {
|
|
634
|
+
readonly id: 156;
|
|
635
|
+
};
|
|
636
|
+
};
|
|
637
|
+
export type SfmParamKey = keyof typeof SFM_PARAM;
|
|
638
|
+
type ExtractAliases<T> = T extends {
|
|
639
|
+
readonly options: readonly {
|
|
640
|
+
readonly alias: infer A;
|
|
641
|
+
}[];
|
|
642
|
+
} ? A : never;
|
|
643
|
+
type HasOptions = {
|
|
644
|
+
[K in SfmParamKey]: ExtractAliases<(typeof SFM_PARAM)[K]> extends never ? never : K;
|
|
645
|
+
}[SfmParamKey];
|
|
646
|
+
export type SfmParamAliasMap = {
|
|
647
|
+
[K in HasOptions]: ExtractAliases<(typeof SFM_PARAM)[K]>;
|
|
648
|
+
};
|
|
649
|
+
/** alias 문자열 → hex value 변환 */
|
|
650
|
+
export declare function resolveParamAlias<K extends keyof SfmParamAliasMap>(key: K, alias: SfmParamAliasMap[K]): number;
|
|
651
|
+
export declare const FIRMWARE_MAGIC = 523190095;
|
|
652
|
+
export {};
|
|
653
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/constants/protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,eAAO,MAAM,SAAS;;;;;;;;;;;;CAYZ,CAAC;AAIX,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAIX,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAab,CAAC;AAIX,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDV,CAAC;AAIX,eAAO,MAAM,SAAS;IACpB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAef,aAAa;;;;IAEb,YAAY;;;;;;;;;;;;;;IASZ,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;IAalB,aAAa;;;;;;;;;;;IAQb,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;IAaZ,gBAAgB;;;;;;;;;;;;;;;;;IAUhB,YAAY;;;;IAEZ,aAAa;;;;IAEb,aAAa;;;;IAEb,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAcZ,eAAe;;;;IAEf,eAAe;;;;IAEf,kBAAkB;;;;IAElB,yBAAyB;;;;;;;;;;;IAQzB,eAAe;;;;;;;;;;;IAQf,gBAAgB;;;;;;;;;;;IAQhB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;IAYlB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAcZ,gBAAgB;;;;;;;;;;;;;;;;;IAUhB,0BAA0B;;;;;;;;;;;;;;;;;IAU1B,iBAAiB;;;;;;;;;;;IAQjB,kBAAkB;;;;;;;;;;;IAQlB,eAAe;;;;;;;;;;;IAQf,sBAAsB;;;;;;;;;;;IAQtB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;IAab,cAAc;;;;;;;;;;;;;;;;;;;;;;;IAYd,YAAY;;;;IAEZ,oBAAoB;;;;;;;;;;;;;;;;;;;;IAWpB,YAAY;;;;;;;;;;;IAQZ,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;IAY1B,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;IAanB,cAAc;;;;;;;;;;;IAQd,aAAa;;;;;;;;;;;;;;IASb,iBAAiB;;;;;;;;;;;IAQjB,eAAe;;;;;;;;;;;;;;;;;IAUf,eAAe;;;;;;;;;;;;;;IASf,gBAAgB;;;;IAEhB,oBAAoB;;;;CAEZ,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,SAAS,CAAC;AAIjD,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;KAAE,EAAE,CAAC;CAC1D,GACG,CAAC,GACD,KAAK,CAAC;AAEV,KAAK,UAAU,GAAG;KACf,CAAC,IAAI,WAAW,GAAG,cAAc,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GACnE,KAAK,GACL,CAAC;CACN,CAAC,WAAW,CAAC,CAAC;AAEf,MAAM,MAAM,gBAAgB,GAAG;KAC5B,CAAC,IAAI,UAAU,GAAG,cAAc,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACzD,CAAC;AAEF,+BAA+B;AAC/B,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAChE,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACzB,MAAM,CAWR;AAID,eAAO,MAAM,cAAc,YAAa,CAAC"}
|