@samlab-corp/sfm-node 0.1.2 → 0.3.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.
Files changed (57) hide show
  1. package/dist/commands/data.d.ts +4 -4
  2. package/dist/commands/data.js +12 -12
  3. package/dist/commands/data.js.map +1 -1
  4. package/dist/commands/fingerprint.d.ts +23 -23
  5. package/dist/commands/fingerprint.d.ts.map +1 -1
  6. package/dist/commands/fingerprint.js +114 -114
  7. package/dist/commands/fingerprint.js.map +1 -1
  8. package/dist/commands/firmware.d.ts +5 -5
  9. package/dist/commands/firmware.d.ts.map +1 -1
  10. package/dist/commands/firmware.js +32 -32
  11. package/dist/commands/firmware.js.map +1 -1
  12. package/dist/commands/freescan.d.ts +16 -16
  13. package/dist/commands/freescan.d.ts.map +1 -1
  14. package/dist/commands/freescan.js +41 -41
  15. package/dist/commands/freescan.js.map +1 -1
  16. package/dist/commands/index.d.ts +12 -12
  17. package/dist/commands/index.d.ts.map +1 -1
  18. package/dist/commands/index.js +14 -14
  19. package/dist/commands/index.js.map +1 -1
  20. package/dist/commands/system.d.ts +12 -12
  21. package/dist/commands/system.d.ts.map +1 -1
  22. package/dist/commands/system.js +14 -14
  23. package/dist/commands/system.js.map +1 -1
  24. package/dist/constants/protocol.d.ts +25 -0
  25. package/dist/constants/protocol.d.ts.map +1 -1
  26. package/dist/constants/protocol.js +26 -1
  27. package/dist/constants/protocol.js.map +1 -1
  28. package/dist/core/client.d.ts +33 -21
  29. package/dist/core/client.d.ts.map +1 -1
  30. package/dist/core/client.js +72 -52
  31. package/dist/core/client.js.map +1 -1
  32. package/dist/core/crypto.d.ts +19 -19
  33. package/dist/core/crypto.js +26 -26
  34. package/dist/core/crypto.js.map +1 -1
  35. package/dist/core/errors.d.ts +6 -6
  36. package/dist/core/errors.d.ts.map +1 -1
  37. package/dist/core/errors.js +46 -32
  38. package/dist/core/errors.js.map +1 -1
  39. package/dist/core/index.d.ts +3 -3
  40. package/dist/core/index.d.ts.map +1 -1
  41. package/dist/core/index.js +5 -2
  42. package/dist/core/index.js.map +1 -1
  43. package/dist/core/packet.d.ts +81 -41
  44. package/dist/core/packet.d.ts.map +1 -1
  45. package/dist/core/packet.js +256 -60
  46. package/dist/core/packet.js.map +1 -1
  47. package/dist/core/serial.d.ts +37 -27
  48. package/dist/core/serial.d.ts.map +1 -1
  49. package/dist/core/serial.js +91 -62
  50. package/dist/core/serial.js.map +1 -1
  51. package/dist/core/tcp.d.ts +14 -14
  52. package/dist/core/tcp.js +17 -17
  53. package/dist/core/tcp.js.map +1 -1
  54. package/dist/index.d.ts +1 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js.map +1 -1
  57. package/package.json +2 -2
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  /**
3
- * FreeScan commands - automatic fingerprint recognition mode
3
+ * FreeScan 명령 - 자동 지문 인식 모드
4
4
  *
5
- * In FreeScan mode, the device automatically scans fingerprints
6
- * and sends IS(0x11) response packets.
5
+ * FreeScan 모드에서 디바이스는 자동으로 지문을 스캔하고
6
+ * IS(0x11) 응답 패킷을 전송한다.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.FreeScanCommands = void 0;
@@ -22,30 +22,30 @@ class FreeScanCommands {
22
22
  this.externalDataHandler = null;
23
23
  this.externalErrorHandler = null;
24
24
  }
25
- /** @internal Set SystemCommands reference */
25
+ /** @internal SystemCommands 참조 설정 */
26
26
  _setSystemCommands(system) {
27
27
  this.system = system;
28
28
  }
29
29
  get isRunning() {
30
30
  return this.running;
31
31
  }
32
- /** Register an external data handler (can be swapped at any time) */
32
+ /** 외부 데이터 핸들러 등록 (언제든 교체 가능) */
33
33
  onDataHandler(handler) {
34
34
  this.externalDataHandler = handler;
35
35
  }
36
- /** Remove the external data handler */
36
+ /** 외부 데이터 핸들러 제거 */
37
37
  offDataHandler() {
38
38
  this.externalDataHandler = null;
39
39
  }
40
- /** Register an external error handler (can be swapped at any time) */
40
+ /** 외부 에러 핸들러 등록 (언제든 교체 가능) */
41
41
  onErrorHandler(handler) {
42
42
  this.externalErrorHandler = handler;
43
43
  }
44
- /** Remove the external error handler */
44
+ /** 외부 에러 핸들러 제거 */
45
45
  offErrorHandler() {
46
46
  this.externalErrorHandler = null;
47
47
  }
48
- /** Clean up internal state (remove listeners, reset flags) */
48
+ /** 내부 상태 정리 (리스너 제거, 플래그 리셋) */
49
49
  cleanup() {
50
50
  try {
51
51
  if (this.client.serial?.port) {
@@ -59,7 +59,7 @@ class FreeScanCommands {
59
59
  }
60
60
  }
61
61
  catch {
62
- // Port may already be destroyed; ignore listener removal errors
62
+ // 포트가 이미 파괴되었을 있음; 리스너 제거 에러 무시
63
63
  }
64
64
  this.dataHandler = null;
65
65
  this.errorHandler = null;
@@ -69,7 +69,7 @@ class FreeScanCommands {
69
69
  this.logFn = null;
70
70
  }
71
71
  /**
72
- * Check if device FreeScan parameter (0x84) is active
72
+ * 디바이스 FreeScan 파라미터(0x84) 활성화 상태인지 확인
73
73
  */
74
74
  async isDeviceFreeScanActive() {
75
75
  if (!this.system)
@@ -79,22 +79,22 @@ class FreeScanCommands {
79
79
  return result.value === FREE_SCAN_ON;
80
80
  }
81
81
  /**
82
- * Start FreeScan
83
- * @param onResult identification result callback
84
- * @param onLog log callback (optional)
82
+ * FreeScan 시작
83
+ * @param onResult 식별 결과 콜백
84
+ * @param onLog 로그 콜백 (선택)
85
85
  */
86
86
  async start(onResult, onLog) {
87
87
  if (!this.system)
88
88
  throw new Error("SystemCommands not initialized");
89
- // If running flag is true but device is OFF (stale state) -> cleanup
89
+ // running 플래그가 true이지만 디바이스가 OFF인 경우 (잔존 상태) 정리
90
90
  if (this.running) {
91
91
  const deviceActive = await this.isDeviceFreeScanActive();
92
92
  if (!deviceActive) {
93
- onLog?.("[FreeScan] Stale state detectedcleaning up and restarting");
93
+ onLog?.("[FreeScan] 잔존 상태 감지정리 재시작");
94
94
  this.cleanup();
95
95
  }
96
96
  else {
97
- return { success: false, message: "Already running" };
97
+ return { success: false, message: "이미 실행 중" };
98
98
  }
99
99
  }
100
100
  const log = (msg) => {
@@ -102,24 +102,24 @@ class FreeScanCommands {
102
102
  };
103
103
  this.logFn = log;
104
104
  this.callback = onResult;
105
- log("[FreeScan] Enabling Auto Response...");
105
+ log("[FreeScan] Auto Response 활성화 중...");
106
106
  const arResult = await this.system.setParam("AUTO_RESPONSE", "HOST");
107
107
  if (!arResult.success) {
108
- log(`[FreeScan] Auto Response setup failed: ${JSON.stringify(arResult)}`);
109
- return { success: false, message: "Auto Response setup failed" };
108
+ log(`[FreeScan] Auto Response 설정 실패: ${JSON.stringify(arResult)}`);
109
+ return { success: false, message: "Auto Response 설정 실패" };
110
110
  }
111
- log("[FreeScan] Enabling FreeScan...");
111
+ log("[FreeScan] FreeScan 활성화 중...");
112
112
  const fsResult = await this.system.setParam("FREE_SCAN", "ON");
113
113
  if (!fsResult.success) {
114
- log(`[FreeScan] Enable failed: ${JSON.stringify(fsResult)}`);
115
- return { success: false, message: "FreeScan setup failed" };
114
+ log(`[FreeScan] 활성화 실패: ${JSON.stringify(fsResult)}`);
115
+ return { success: false, message: "FreeScan 설정 실패" };
116
116
  }
117
117
  if (!this.client.serial?.port) {
118
- return { success: false, message: "Serial port not connected" };
118
+ return { success: false, message: "시리얼 포트 미연결" };
119
119
  }
120
120
  this.running = true;
121
121
  this.buffer = Buffer.alloc(0);
122
- // Clean up existing listeners before adding new ones (prevent accumulation)
122
+ // 리스너 추가 기존 리스너 정리 (누적 방지)
123
123
  if (this.dataHandler) {
124
124
  this.client.serial.port.removeListener("data", this.dataHandler);
125
125
  }
@@ -127,40 +127,40 @@ class FreeScanCommands {
127
127
  this.client.serial.port.removeListener("error", this.errorHandler);
128
128
  this.client.serial.port.removeListener("close", this.errorHandler);
129
129
  }
130
- // Serial port event listening
130
+ // 시리얼 포트 이벤트 리스닝
131
131
  this.dataHandler = (data) => {
132
132
  this.externalDataHandler?.(data);
133
133
  this.handleData(data);
134
134
  };
135
135
  this.errorHandler = (err) => {
136
- this.logFn?.("[FreeScan] Port error/close detectedauto cleanup");
136
+ this.logFn?.("[FreeScan] 포트 에러/종료 감지자동 정리");
137
137
  this.externalErrorHandler?.(err);
138
138
  this.cleanup();
139
139
  };
140
140
  this.client.serial.port.on("data", this.dataHandler);
141
141
  this.client.serial.port.on("error", this.errorHandler);
142
142
  this.client.serial.port.on("close", this.errorHandler);
143
- log("[FreeScan] FreeScan ON — serial data event listening started");
144
- return { success: true, message: "FreeScan enabled" };
143
+ log("[FreeScan] FreeScan ON — 시리얼 데이터 이벤트 리스닝 시작");
144
+ return { success: true, message: "FreeScan 활성화됨" };
145
145
  }
146
146
  /**
147
- * Stop FreeScan
147
+ * FreeScan 중지
148
148
  */
149
149
  async stop() {
150
150
  if (!this.system)
151
151
  throw new Error("SystemCommands not initialized");
152
152
  const log = this.logFn || (() => { });
153
- log("[FreeScan] Disabling FreeScan...");
153
+ log("[FreeScan] FreeScan 비활성화 중...");
154
154
  await this.system.setParam("FREE_SCAN", "OFF");
155
- log("[FreeScan] Disabling Auto Response...");
155
+ log("[FreeScan] Auto Response 비활성화 중...");
156
156
  await this.system.setParam("AUTO_RESPONSE", "OFF");
157
157
  this.cleanup();
158
158
  log("[FreeScan] FreeScan OFF");
159
- return { success: true, message: "FreeScan disabled" };
159
+ return { success: true, message: "FreeScan 비활성화됨" };
160
160
  }
161
161
  /**
162
- * Serial data event handler
163
- * Parses 13-byte packets and processes IS(0x11) responses
162
+ * 시리얼 데이터 이벤트 핸들러
163
+ * 13바이트 패킷을 파싱하고 IS(0x11) 응답을 처리
164
164
  */
165
165
  handleData(data) {
166
166
  try {
@@ -183,29 +183,29 @@ class FreeScanCommands {
183
183
  const parsed = (0, index_js_2.parseNormalPacket)(packet);
184
184
  if (!parsed.valid)
185
185
  continue;
186
- // IS response handling
186
+ // IS 응답 처리
187
187
  if (parsed.command === index_js_1.SFM_CMD.IS) {
188
188
  const flag = parsed.flag;
189
189
  const userId = parsed.param;
190
190
  if (flag === index_js_1.SFM_ERROR.SUCCESS) {
191
- this.logFn?.(`[FreeScan] Identified! UserID: ${userId}`);
191
+ this.logFn?.(`[FreeScan] 식별 성공! UserID: ${userId}`);
192
192
  this.callback?.({ success: true, userId });
193
193
  }
194
194
  else if (flag === index_js_1.SFM_ERROR.NOT_FOUND) {
195
- this.logFn?.("[FreeScan] Unregistered fingerprint");
195
+ this.logFn?.("[FreeScan] 미등록 지문");
196
196
  this.callback?.({ success: false, flag });
197
197
  }
198
198
  else if (flag === index_js_1.SFM_ERROR.SCAN_SUCCESS) {
199
- this.logFn?.("[FreeScan] Fingerprint scanned, matching...");
199
+ this.logFn?.("[FreeScan] 지문 스캔 완료, 매칭 중...");
200
200
  }
201
201
  else {
202
- this.logFn?.(`[FreeScan] Unknown response: flag=0x${flag?.toString(16) ?? "??"}`);
202
+ this.logFn?.(`[FreeScan] 없는 응답: flag=0x${flag?.toString(16) ?? "??"}`);
203
203
  }
204
204
  }
205
205
  }
206
206
  }
207
207
  catch (err) {
208
- this.logFn?.(`[FreeScan] Data processing error: ${err.message}`);
208
+ this.logFn?.(`[FreeScan] 데이터 처리 에러: ${err.message}`);
209
209
  this.externalErrorHandler?.(err instanceof Error ? err : new Error(String(err)));
210
210
  }
211
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"freescan.js","sourceRoot":"","sources":["../../src/commands/freescan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"freescan.js","sourceRoot":"","sources":["../../src/commands/freescan.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * SfmCommands - Unified command class (composition)
2
+ * SfmCommands - 통합 명령 클래스 (컴포지션)
3
3
  *
4
- * Usage:
4
+ * 사용법:
5
5
  * const finger = new SfmCommands({ baudRate: 115200 });
6
6
  * await finger.connect('/dev/ttyUSB0');
7
7
  *
@@ -36,25 +36,25 @@ export declare class SfmCommands {
36
36
  readonly freeScan: FreeScanCommands;
37
37
  constructor(options?: SfmClientOptions);
38
38
  /**
39
- * Create instance and connect to device
39
+ * 인스턴스 생성 디바이스 연결
40
40
  */
41
41
  static create(options: SfmClientOptions & {
42
42
  portPath: string;
43
43
  }): Promise<SfmCommands>;
44
44
  /**
45
- * List available serial ports
45
+ * 사용 가능한 시리얼 포트 목록 조회
46
46
  */
47
47
  static listPorts(): Promise<SerialPortInfo[]>;
48
48
  /**
49
- * Connect to device
49
+ * 디바이스에 연결
50
50
  */
51
51
  connect(portPath?: string): Promise<void>;
52
52
  /**
53
- * Disconnect from device
53
+ * 디바이스 연결 해제
54
54
  */
55
55
  disconnect(): Promise<void>;
56
56
  /**
57
- * Switch secure mode
57
+ * 보안 모드 전환
58
58
  */
59
59
  setSecureMode(enabled: boolean, options?: {
60
60
  key?: Buffer | string;
@@ -63,16 +63,16 @@ export declare class SfmCommands {
63
63
  mode?: EncryptionMode;
64
64
  }): void;
65
65
  /**
66
- * Switch network protocol mode (RS422/485)
66
+ * 네트워크 프로토콜 모드 전환 (RS422/485)
67
67
  */
68
68
  setNetworkMode(enabled: boolean, terminalId?: number): void;
69
- /** Set disconnect callback */
69
+ /** 연결 해제 콜백 설정 */
70
70
  setOnDisconnect(callback: ((error?: Error) => void) | null): void;
71
- /** Set auto-reconnect options */
71
+ /** 자동 재연결 옵션 설정 */
72
72
  setAutoReconnect(options: import("../core/serial.js").AutoReconnectOptions | null): void;
73
- /** Set auto-reconnect callbacks only */
73
+ /** 자동 재연결 콜백만 설정 */
74
74
  setAutoReconnectCallbacks(callbacks: import("../core/serial.js").AutoReconnectCallbacks): void;
75
- /** Whether reconnection is in progress */
75
+ /** 재연결 진행 여부 */
76
76
  get isReconnecting(): boolean;
77
77
  }
78
78
  export { FingerprintCommands } from "./fingerprint.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  /**
3
- * SfmCommands - Unified command class (composition)
3
+ * SfmCommands - 통합 명령 클래스 (컴포지션)
4
4
  *
5
- * Usage:
5
+ * 사용법:
6
6
  * const finger = new SfmCommands({ baudRate: 115200 });
7
7
  * await finger.connect('/dev/ttyUSB0');
8
8
  *
@@ -37,14 +37,14 @@ class SfmCommands {
37
37
  this.data = new data_js_1.DataCommands(this.client);
38
38
  this.firmware = new firmware_js_1.FirmwareCommands(this.client);
39
39
  this.freeScan = new freescan_js_1.FreeScanCommands(this.client);
40
- // Set cross-references between sub-classes
40
+ // 하위 클래스 상호 참조 설정
41
41
  this.system._setDataCommands(this.data);
42
42
  this.firmware._setDataCommands(this.data);
43
43
  this.fingerprint._setSystemCommands(this.system);
44
44
  this.freeScan._setSystemCommands(this.system);
45
45
  }
46
46
  /**
47
- * Create instance and connect to device
47
+ * 인스턴스 생성 디바이스 연결
48
48
  */
49
49
  static async create(options) {
50
50
  const instance = new SfmCommands(options);
@@ -52,54 +52,54 @@ class SfmCommands {
52
52
  return instance;
53
53
  }
54
54
  /**
55
- * List available serial ports
55
+ * 사용 가능한 시리얼 포트 목록 조회
56
56
  */
57
57
  static async listPorts() {
58
58
  return index_js_1.SfmSerial.listPorts();
59
59
  }
60
60
  /**
61
- * Connect to device
61
+ * 디바이스에 연결
62
62
  */
63
63
  async connect(portPath) {
64
64
  await this.client.connect(portPath);
65
65
  }
66
66
  /**
67
- * Disconnect from device
67
+ * 디바이스 연결 해제
68
68
  */
69
69
  async disconnect() {
70
70
  await this.client.disconnect();
71
71
  }
72
72
  /**
73
- * Switch secure mode
73
+ * 보안 모드 전환
74
74
  */
75
75
  setSecureMode(enabled, options = {}) {
76
76
  this.client.setSecureMode(enabled, options);
77
77
  }
78
78
  /**
79
- * Switch network protocol mode (RS422/485)
79
+ * 네트워크 프로토콜 모드 전환 (RS422/485)
80
80
  */
81
81
  setNetworkMode(enabled, terminalId) {
82
82
  this.client.setNetworkMode(enabled, terminalId);
83
83
  }
84
- /** Set disconnect callback */
84
+ /** 연결 해제 콜백 설정 */
85
85
  setOnDisconnect(callback) {
86
86
  this.client.setOnDisconnect(callback);
87
87
  }
88
- /** Set auto-reconnect options */
88
+ /** 자동 재연결 옵션 설정 */
89
89
  setAutoReconnect(options) {
90
90
  this.client.setAutoReconnect(options);
91
91
  }
92
- /** Set auto-reconnect callbacks only */
92
+ /** 자동 재연결 콜백만 설정 */
93
93
  setAutoReconnectCallbacks(callbacks) {
94
94
  this.client.setAutoReconnectCallbacks(callbacks);
95
95
  }
96
- /** Whether reconnection is in progress */
96
+ /** 재연결 진행 여부 */
97
97
  get isReconnecting() {
98
98
  return this.client.isReconnecting;
99
99
  }
100
100
  }
101
101
  exports.SfmCommands = SfmCommands;
102
- // Sub-class re-exports
102
+ // 하위 클래스 재내보내기
103
103
  var fingerprint_js_2 = require("./fingerprint.js");
104
104
  Object.defineProperty(exports, "FingerprintCommands", { enumerable: true, get: function () { return fingerprint_js_2.FingerprintCommands; } });
105
105
  var system_js_2 = require("./system.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * System/parameter/diagnostic commands
2
+ * 시스템/파라미터/진단 명령
3
3
  */
4
4
  import { SFM_PARAM } from "../constants/index.js";
5
5
  import type { SfmParamAliasMap } from "../constants/index.js";
@@ -7,10 +7,10 @@ import type { SfmClient } from "../core/index.js";
7
7
  import type { DataCommands } from "./data.js";
8
8
  export interface SystemStatusResult {
9
9
  success: boolean;
10
- /** Module status: 0x30=ALIVE, 0x34=BUSY */
10
+ /** 모듈 상태: 0x30=ALIVE, 0x34=BUSY */
11
11
  moduleStatus?: number;
12
12
  moduleStatusLabel?: string;
13
- /** Sensor status (SFM Slim): 0x30=ALIVE, 0x31=ERROR */
13
+ /** 센서 상태 (SFM Slim): 0x30=ALIVE, 0x31=ERROR */
14
14
  sensorStatus?: number;
15
15
  sensorStatusLabel?: string;
16
16
  error: string | null;
@@ -34,18 +34,18 @@ export declare class SystemCommands {
34
34
  private client;
35
35
  private data;
36
36
  constructor(client: SfmClient);
37
- /** @internal Set DataCommands reference (avoid circular dependency) */
37
+ /** @internal DataCommands 참조 설정 (순환 의존성 방지) */
38
38
  _setDataCommands(data: DataCommands): void;
39
39
  /**
40
- * Get system status (SS: 0x04)
40
+ * 시스템 상태 조회 (SS: 0x04)
41
41
  */
42
42
  getSystemStatus(): Promise<SystemStatusResult>;
43
43
  /**
44
- * Read system parameter (SR: 0x03)
44
+ * 시스템 파라미터 읽기 (SR: 0x03)
45
45
  */
46
46
  getParam(key: keyof typeof SFM_PARAM): Promise<ParamResult>;
47
47
  /**
48
- * Get device info (firmware version, build number, serial number)
48
+ * 디바이스 정보 조회 (펌웨어 버전, 빌드 번호, 시리얼 넘버)
49
49
  *
50
50
  * SR(0x03) 응답의 Size 필드(4바이트)에 값이 담김:
51
51
  * - FIRMWARE_VERSION(0x6E): 4bytes character (예: "3.10")
@@ -59,23 +59,23 @@ export declare class SystemCommands {
59
59
  error: string | null;
60
60
  }>;
61
61
  /**
62
- * Write system parameter (SW: 0x01)
62
+ * 시스템 파라미터 쓰기 (SW: 0x01)
63
63
  */
64
64
  setParam<K extends keyof typeof SFM_PARAM>(key: K, value: K extends keyof SfmParamAliasMap ? SfmParamAliasMap[K] : number): Promise<CommandResult>;
65
65
  /**
66
- * Save system parameters to flash (SF: 0x02)
66
+ * 시스템 파라미터 플래시 저장 (SF: 0x02)
67
67
  */
68
68
  saveParam(): Promise<CommandResult>;
69
69
  /**
70
- * Write system parameter + save to flash (SW + SF)
70
+ * 시스템 파라미터 쓰기 + 플래시 저장 (SW + SF)
71
71
  */
72
72
  writeConfig<K extends keyof typeof SFM_PARAM>(key: K, value: K extends keyof SfmParamAliasMap ? SfmParamAliasMap[K] : number): Promise<CommandResult>;
73
73
  /**
74
- * Module reset (RS: 0xD0)
74
+ * 모듈 리셋 (RS: 0xD0)
75
75
  */
76
76
  reset(): Promise<CommandResult>;
77
77
  /**
78
- * Communication self-test
78
+ * 통신 자가 테스트
79
79
  */
80
80
  selfTest(command?: number, dataSize?: number): Promise<SelfTestResult>;
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/commands/system.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAsB,SAAS,EAAqB,MAAM,uBAAuB,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,qBAAa,cAAc;IAGb,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,IAAI,CAA6B;gBAErB,MAAM,EAAE,SAAS;IAErC,uEAAuE;IACvE,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAI1C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC;IA6BpD;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAajE;;;;;;;OAOG;IACG,aAAa,IAAI,OAAO,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;IA2CF;;OAEG;IACG,QAAQ,CAAC,CAAC,SAAS,MAAM,OAAO,SAAS,EAC7C,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,SAAS,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,GACrE,OAAO,CAAC,aAAa,CAAC;IAsBzB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC;IAWzC;;OAEG;IACG,WAAW,CAAC,CAAC,SAAS,MAAM,OAAO,SAAS,EAChD,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,SAAS,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,GACrE,OAAO,CAAC,aAAa,CAAC;IAOzB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC;IAQrC;;OAEG;IACG,QAAQ,CAAC,OAAO,SAAO,EAAE,QAAQ,SAAU,GAAG,OAAO,CAAC,cAAc,CAAC;CAqC5E"}
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/commands/system.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAsB,SAAS,EAAqB,MAAM,uBAAuB,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,qBAAa,cAAc;IAGb,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,IAAI,CAA6B;gBAErB,MAAM,EAAE,SAAS;IAErC,+CAA+C;IAC/C,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAI1C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC;IA6BpD;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAajE;;;;;;;OAOG;IACG,aAAa,IAAI,OAAO,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;IA2CF;;OAEG;IACG,QAAQ,CAAC,CAAC,SAAS,MAAM,OAAO,SAAS,EAC7C,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,SAAS,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,GACrE,OAAO,CAAC,aAAa,CAAC;IAsBzB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC;IAWzC;;OAEG;IACG,WAAW,CAAC,CAAC,SAAS,MAAM,OAAO,SAAS,EAChD,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,CAAC,SAAS,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,GACrE,OAAO,CAAC,aAAa,CAAC;IAOzB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC;IAQrC;;OAEG;IACG,QAAQ,CAAC,OAAO,SAAO,EAAE,QAAQ,SAAU,GAAG,OAAO,CAAC,cAAc,CAAC;CAqC5E"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * System/parameter/diagnostic commands
3
+ * 시스템/파라미터/진단 명령
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SystemCommands = void 0;
@@ -10,12 +10,12 @@ class SystemCommands {
10
10
  this.client = client;
11
11
  this.data = null;
12
12
  }
13
- /** @internal Set DataCommands reference (avoid circular dependency) */
13
+ /** @internal DataCommands 참조 설정 (순환 의존성 방지) */
14
14
  _setDataCommands(data) {
15
15
  this.data = data;
16
16
  }
17
17
  /**
18
- * Get system status (SS: 0x04)
18
+ * 시스템 상태 조회 (SS: 0x04)
19
19
  */
20
20
  async getSystemStatus() {
21
21
  const response = await this.client.sendCommand(index_js_1.SFM_CMD.SS, 0, 0, 0);
@@ -44,7 +44,7 @@ class SystemCommands {
44
44
  };
45
45
  }
46
46
  /**
47
- * Read system parameter (SR: 0x03)
47
+ * 시스템 파라미터 읽기 (SR: 0x03)
48
48
  */
49
49
  async getParam(key) {
50
50
  const paramId = index_js_1.SFM_PARAM[key].id;
@@ -54,11 +54,11 @@ class SystemCommands {
54
54
  }
55
55
  return {
56
56
  value: response.size ?? 0,
57
- error: response.flag !== index_js_1.SFM_ERROR.SUCCESS ? `Read param failed` : null,
57
+ error: response.flag !== index_js_1.SFM_ERROR.SUCCESS ? `파라미터 읽기 실패` : null,
58
58
  };
59
59
  }
60
60
  /**
61
- * Get device info (firmware version, build number, serial number)
61
+ * 디바이스 정보 조회 (펌웨어 버전, 빌드 번호, 시리얼 넘버)
62
62
  *
63
63
  * SR(0x03) 응답의 Size 필드(4바이트)에 값이 담김:
64
64
  * - FIRMWARE_VERSION(0x6E): 4bytes character (예: "3.10")
@@ -104,7 +104,7 @@ class SystemCommands {
104
104
  }
105
105
  }
106
106
  /**
107
- * Write system parameter (SW: 0x01)
107
+ * 시스템 파라미터 쓰기 (SW: 0x01)
108
108
  */
109
109
  async setParam(key, value) {
110
110
  const paramId = index_js_1.SFM_PARAM[key].id;
@@ -118,11 +118,11 @@ class SystemCommands {
118
118
  }
119
119
  return {
120
120
  success: response.flag === index_js_1.SFM_ERROR.SUCCESS,
121
- error: response.flag !== index_js_1.SFM_ERROR.SUCCESS ? "Write param failed" : null,
121
+ error: response.flag !== index_js_1.SFM_ERROR.SUCCESS ? "파라미터 쓰기 실패" : null,
122
122
  };
123
123
  }
124
124
  /**
125
- * Save system parameters to flash (SF: 0x02)
125
+ * 시스템 파라미터 플래시 저장 (SF: 0x02)
126
126
  */
127
127
  async saveParam() {
128
128
  const response = await this.client.sendCommand(index_js_1.SFM_CMD.SF, 0, 0, 0);
@@ -131,11 +131,11 @@ class SystemCommands {
131
131
  }
132
132
  return {
133
133
  success: response.flag === index_js_1.SFM_ERROR.SUCCESS,
134
- error: response.flag !== index_js_1.SFM_ERROR.SUCCESS ? "Save param failed" : null,
134
+ error: response.flag !== index_js_1.SFM_ERROR.SUCCESS ? "파라미터 저장 실패" : null,
135
135
  };
136
136
  }
137
137
  /**
138
- * Write system parameter + save to flash (SW + SF)
138
+ * 시스템 파라미터 쓰기 + 플래시 저장 (SW + SF)
139
139
  */
140
140
  async writeConfig(key, value) {
141
141
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -145,7 +145,7 @@ class SystemCommands {
145
145
  return this.saveParam();
146
146
  }
147
147
  /**
148
- * Module reset (RS: 0xD0)
148
+ * 모듈 리셋 (RS: 0xD0)
149
149
  */
150
150
  async reset() {
151
151
  const response = await this.client.sendCommand(index_js_1.SFM_CMD.RS, 0, 0, 0);
@@ -155,7 +155,7 @@ class SystemCommands {
155
155
  return { success: response.flag === index_js_1.SFM_ERROR.SUCCESS, error: null };
156
156
  }
157
157
  /**
158
- * Communication self-test
158
+ * 통신 자가 테스트
159
159
  */
160
160
  async selfTest(command = 0xd3, dataSize = 0x10000) {
161
161
  if (!this.data) {
@@ -176,7 +176,7 @@ class SystemCommands {
176
176
  sent: dataSize,
177
177
  received: received.length,
178
178
  elapsed,
179
- error: match ? null : "Data mismatch",
179
+ error: match ? null : "데이터 불일치",
180
180
  };
181
181
  }
182
182
  catch (err) {