diff --git a/README.md b/README.md index 37efce2..6a8426a 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,12 @@ leak_test_project/ │ ├── InOutItem.cs # I/O 항목 모델 (Address, Name, Description, Value) │ ├── InspectData.cs # 검사 결과 데이터 모델 (12개 필드) │ ├── ParsedData.cs # Sentinel C28 파싱 결과 모델 (MeasuredValue, SensorJudgment 등) -│ └── SensorIdData.cs # ZMDI 센서 ID 데이터 모델 (LowID, Year/Month/Day, Serial 등) +│ └── SensorIdData.cs # 센서 ID 데이터 모델 (LowID, Year/Month/Day, Serial 등) ├── Services/ # 비즈니스 로직 및 기기 제어 +│ ├── Board4253Service.cs # [신규] 4253 보드 통신 서비스 ( 기반 프로토콜) +│ ├── Board4253SensorService.cs # [신규] 4253 보드 ID 센서 서비스 (IIdSensorService 구현) +│ ├── Board4253DioBoard.cs # [신규] 4253 보드 DIO 구현체 (IDioBoard 구현) +│ ├── IIdSensorService.cs # [신규] ID 센서 추상화 인터페이스 (ZMDI/4253 공통) │ ├── DioBoardFactory.cs # DIO 보드 팩토리 (DioConfig.ini 기반 보드 생성) │ ├── IoBoardService.cs # I/O 보드 서비스 (IDioBoard 연동, 상태 갱신/출력 제어) │ ├── SentinelC28Service.cs # Sentinel C28 프로토콜 (자동 재연결 포함) @@ -69,20 +73,41 @@ leak_test_project.Tests/ # 단위 테스트 프로젝트 (xUnit/NUnit) - 측정값(sccm), SPEC 범위(UL/LL), 판정(OK/NG) 실시간 확인 - 판정 결과에 따른 배경색 자동 변경 (OK=녹색, NG=빨간색) - 좌/우 채널별 상태(Status) 및 오류(Error) 메시지 표시 -- ZMDI 센서 ID 정보 (LowID, 제조일, 시리얼, 라인, 제품 구분) 실시간 표시 +- 센서 ID 정보 (LowID, 제조일, 시리얼, 라인, 제품 구분) 실시간 표시 +- **ID 테스트 (L/R)** 버튼을 통한 센서 단독 통신 테스트 기능 ### 2. 자동 시험 프로세스 (TestProcessService) DIO 시작 신호를 기반으로 좌/우 독립 백그라운드 스레드에서 아래 사이클을 반복합니다: 1. **DIO 시작 신호 대기**: LEFT_START / RIGHT_START 입력 신호 OFF→ON 감지 -2. **ZMDI 센서 ID 읽기**: 4단계 시리얼 명령 시퀀스로 제품 ID 파싱 +2. **센서 ID 읽기**: IIdSensorService를 통해 제품 ID 파싱 (ZMDI 또는 4253 보드) 3. **불량 제품 필터링**: 센서의 이전 검사 결과(PrevResult) 확인 -4. **LEAK 시험 수행**: Sentinel C28 최종 결과 수신 대기 (30초 타임아웃) +4. **LEAK 시험 수행**: Sentinel C28 최종 결과 수신 대기 (60초 타임아웃) 5. **판정**: 프로그램 SPEC(UL/LL) 기반 OK/NG 판정 6. **SPEC 교차 검증**: 프로그램 판정과 센서 자체 판정(A/R) 비교, 불일치 시 경고 7. **로그 기록**: 일일 CSV 파일에 검사 결과 자동 저장 8. **DIO 출력**: 판정 결과에 따라 OK/NG 출력 신호 전송 +#### 판정 로직 상세 + +**프로그램 판정 (SentinelParser.EvaluateJudgment)** +``` +측정값(sccm)이 하한(SpecLL) ≤ 값 ≤ 상한(SpecUL) 범위 내 → OK +범위 밖 → NG +``` + +**센서 판정 (C28 장비 내장)** +- C28 장비가 자체적으로 Accept(A) / Reject(R) 판정을 내려 전송 + +**SPEC 교차 검증** +- 프로그램 판정(OK→A, NG→R)과 센서 판정(A/R)을 정규화하여 비교 +- 불일치 시 `SpecMismatch` 플래그를 활성화하고 콘솔/로그에 경고 출력 + +**타임아웃 처리** +- 60초 내 C28 결과 미수신 시 자동으로 NG 판정 처리 +- 타임아웃 시에도 UI 그리드와 CSV 로그에 NG(센서판정: T/O) 기록 남김 +- DIO NG 출력 신호도 정상적으로 전송 + ### 3. DIO 보드 제어 (ADLINK PCI) - **ADLINK PCI DIO 보드** 연동 (PCIS-DASK API 사용) - **INI 설정 기반** 입출력 포인트 매핑 (`Settings/DioConfig.ini`) @@ -94,7 +119,7 @@ DIO 시작 신호를 기반으로 좌/우 독립 백그라운드 스레드에서 - **RS-232 시리얼 통신**: 기본 9600 baud, 8N1 - **표준 프로토콜 준수**: 헤더(XXYYZZZ H) + CRC-8 체크섬 자동 생성 - **다중 데이터 처리**: 최종 결과(R), 실시간 스트리밍(S), 메시지(M) 구분 수신 -- **자동 재연결**: 연결 끊김 시 **1초(1000ms) 간격**으로 모든 통신(C28, ZMDI)의 자동 복구를 시도하여 사용자 개입 최소화 +- **자동 재연결**: 연결 끊김 시 **1초(1000ms) 간격**으로 모든 통신(C28, 센서)의 자동 복구를 시도하여 사용자 개입 최소화 - **확장성**: ICommunication 인터페이스 기반으로 TCP/IP 등 통신 방식 변경 가능 ### 5. 입출력 모니터 (In/Out Monitor) @@ -112,8 +137,8 @@ DIO 시작 신호를 기반으로 좌/우 독립 백그라운드 스레드에서 ### 7. 설정 관리 - **파라미터 설정**: SPEC UL/LL (sccm) 값 설정 및 저장 -- **통신 설정**: 좌/우 ZMDI 장비 포트(기본 COM9/COM8, 보드레이트 공유 19200)와 센서 포트(기본 COM1, 보드레이트 9600)를 각각 독립 설정 -- **XML 설정 파일**: `config.xml`에 자동 저장/로드, 설정 변경 시 `ConfigChanged` 이벤트를 통해 모든 통신 서비스(Sentinel C28, ZMDI 센서)와 자동 시험 프로세스가 재시작되어 즉시 반영 +- **통신 설정**: 좌/우 센서 장비 포트(기본 COM9/COM8, 보드레이트 공유 19200)와 C28 센서 포트(기본 COM1, 보드레이트 9600)를 각각 독립 설정 +- **XML 설정 파일**: `config.xml`에 자동 저장/로드, 설정 변경 시 `ConfigChanged` 이벤트를 통해 모든 통신 서비스(Sentinel C28, 센서)와 자동 시험 프로세스가 재시작되어 즉시 반영 - **DIO 설정 파일**: `Settings/DioConfig.ini`에서 보드 타입, 입출력 포인트 이름/설명 관리 ### 8. 일일 CSV 로그 자동 저장 @@ -127,10 +152,81 @@ DIO 시작 신호를 기반으로 좌/우 독립 백그라운드 스레드에서 - 시리얼 포트, DIO 보드, 타이머 등 리소스 종료 시 안전 해제 (IDisposable 패턴) - 모든 통신/파일 I/O 구간에 예외 처리 적용 - ZMDI 통신 명령 실패 시 최대 3회 재시도 -- **포트 연결 알림**: 프로그램 초기화 또는 설정 변경 시 모든 포트(C28, ZMDI Left/Right)의 연결 상태를 즉시 확인하고, 하나라도 실패 시 메인 화면 오류 영역에 즉시 표시 (상세 오류 원인 및 포트 번호 포함) +- **포트 연결 알림**: 프로그램 초기화 또는 설정 변경 시 모든 포트(C28, 센서 Left/Right)의 연결 상태를 즉시 확인하고, 하나라도 실패 시 메인 화면 오류 영역에 즉시 표시 (상세 오류 원인 및 포트 번호 포함) - **1초 자동 복구**: 모든 통신 포트에 대해 1초 주기로 상시 자동 재연결 시도 (재진입 방지 포함) - **통신 설정 변경 반영**: 설정 저장 시 즉시 통신 포트와 자동 시험 프로세스를 재시작하여 프로그램 재시작 없이 설정 변경 내용 적용 가능 +--- + +## 🔌 신규 4253 보드 통합 + +기존 ZMDI 센서 방식에 추가하여, 신규 4253 보드를 통한 제품 ID 읽기 기능이 구현되었습니다. + +### 아키텍처 + +`IIdSensorService` 인터페이스를 도입하여 기존 `ZmdiSensorService`와 신규 `Board4253SensorService`를 동일한 추상화로 교체 가능하도록 설계되었습니다. + +```text +IIdSensorService (인터페이스) +├── ZmdiSensorService # 기존 ZMDI 센서 (4단계 시리얼 명령) +└── Board4253SensorService # 신규 4253 보드 (2단계 명령: 상태확인 + ID읽기) +``` + +### 관련 파일 + +| 파일 | 역할 | +| :--- | :--- | +| `Services/IIdSensorService.cs` | ID 센서 공통 인터페이스 (Connect, Disconnect, ReadSensor) | +| `Services/Board4253Service.cs` | 4253 보드 시리얼 통신 코어 (명령 송수신, `` 기반 프로토콜, 자동 재연결) | +| `Services/Board4253SensorService.cs` | 4253 보드 ID 센서 서비스 (상태 확인 → ID 읽기 → SensorIdData 구성) | +| `Services/Board4253DioBoard.cs` | 4253 보드 DIO 구현체 (IDioBoard 인터페이스 구현) | + +### 4253 보드 통신 프로토콜 + +- **포트 공유**: 좌/우 센서가 하나의 시리얼 포트를 공유하며, 채널 번호(`001`=좌, `002`=우)로 구분 +- **응답 종료 조건**: ``, `Success`, `Fail` 키워드 또는 16자리 영숫자 ID 감지 시 수신 완료 처리 +- **타임아웃**: 기본 5000ms (보드 응답 지연 고려), 센서 서비스에서는 15000ms로 확장 대기 +- **자동 재연결**: 1초 주기로 연결 상태 감시 및 자동 복구 +- **송수신 재시도**: 타임아웃 발생 시 최대 3회 리트라이 (300ms 간격) + +### 4253 보드 ID 읽기 절차 + +| 단계 | 동작 | 명령어 예시 | +| :--- | :--- | :--- | +| **1단계** | 보드 상태 확인 | `x00c_001101:owt28006727ea97c7801` (CH1) | +| **2단계** | ID 읽기 | `x00c_001101:ow2800326003e` (CH1) | + +- **상태 확인**: 응답에 `Success`가 포함되면 정상, `Fail`이면 중단 +- **ID 파싱**: 응답 데이터에서 에코 라인과 키워드를 제외한 16자리 영숫자 패턴(`[A-Za-z0-9]{16}`)을 추출 + +### ID 끝자리 'F' 재시도 로직 + +4253 보드에서 읽은 ID의 끝자리가 `F`인 경우, 통신 오류로 인한 잘못된 값일 가능성이 있어 자동으로 재시도합니다. + +```text +[시작] ID 읽기 요청 + ↓ +[1차 시도] ReadIdAsync(channel) + ↓ +끝자리 == 'F'? ──YES──→ 500ms 대기 후 재시도 + │ ↓ + NO [2차 시도] ReadIdAsync(channel) + ↓ ↓ +[사용] 끝자리 == 'F'? ──YES──→ 500ms 대기 후 재시도 + │ ↓ + NO [3차 시도(최종)] ReadIdAsync(channel) + ↓ ↓ + [사용] 끝자리가 여전히 'F'이면 + 경고 로그 출력 후 해당 ID 그대로 사용 +``` + +- **최대 재시도 횟수**: 3회 (최초 1회 + 추가 2회) +- **재시도 간격**: 500ms +- **진행 상태 표시**: 재시도 시 `ProgressMessage` 이벤트로 UI에 알림 +- **3회 모두 'F'로 끝나는 경우**: 마지막 값을 그대로 사용하고 경고 메시지 출력 + +--- + ## 📡 기기 통신 프로토콜 및 명령어 (Command Details) 프로그램에서 사용하는 주요 하드웨어 통신 명령어 및 절차입니다. @@ -165,6 +261,8 @@ Sentinel C28과의 통신은 `9600 Baud, 8N1` 시리얼 통신을 사용하며, - `R (Result)`: 최종 검사 완료 후 수신되는 결과 데이터 (채널#, 시리얼, 측정값, 판정 등 포함) - `S (Streaming)`: 시험 진행 중 실시간으로 수신되는 압력/유량 데이터 +- **LEAK 시험 대기 타임아웃**: 기계의 실제 측정 시간이 약 30초이므로, 프로그램은 **60초** 동안 C28 최종 결과를 대기합니다. 60초 내에 결과가 수신되지 않으면 자동으로 NG 처리됩니다. + - **SPEC 교차 검증**: C28 센서의 자체 판정(A=Accept, R=Reject)과 프로그램의 UL/LL 기반 판정을 비교하여 불일치 시 경고 메시지를 표시합니다. --- @@ -192,8 +290,47 @@ ADLINK PCI DIO 보드와의 통신은 PCIS-DASK API(PCI-Dask.dll)를 사용합 --- +## 📋 변경 이력 + +### 2026-04-13 + +#### LEAK 시험 타임아웃 개선 (`TestProcessService.cs`) +- **문제**: 기계 측정 시간이 약 30초인데 프로그램 대기 타임아웃도 30초로 동일하게 설정되어 있어, 기계가 불량(NG)을 판정하여 결과 데이터를 전송하려는 시점에 프로그램이 이미 타임아웃으로 넘어가버리는 현상 발생. 또한 타임아웃 발생 시 UI와 로그에 결과가 남지 않는 문제 존재. +- **수정 내용**: + - C28 결과 대기 타임아웃을 **30초 → 60초**로 확장하여, 기계의 측정 시간(약 30초)을 충분히 수용 + - 타임아웃 발생 시에도 **UI 그리드에 NG 결과 표시** (`TestCompleted` 이벤트에 `Judgment="NG"`, `SensorJudgment="T/O"` 전달) + - 타임아웃 발생 시에도 **CSV 로그 파일에 NG 기록** (`FileLogger.LogInspectData` 호출) + - DIO **NG 출력 신호** 정상 전송 유지 + +#### 4253 보드 ID 끝자리 'F' 재시도 로직 추가 (`Board4253SensorService.cs`) +- **문제**: 4253 보드에서 ID를 읽을 때 간헐적으로 끝자리가 'F'인 잘못된 값이 읽히는 현상 발생 +- **수정 내용**: + - ID 읽기 후 끝자리가 `F`(대소문자 무관)인 경우 **최대 2번 추가 재시도** (총 3회 시도) + - 각 재시도 전 **500ms 대기**하여 보드 안정화 + - 재시도 시 **ProgressMessage 이벤트**로 UI에 진행 상황 알림 + - 3회 모두 실패 시 마지막으로 읽은 ID를 그대로 사용하되 경고 메시지 출력 + +### 2026-04-10 + +#### 4253 보드 듀얼 채널 통합 (`Board4253Service.cs`, `Board4253SensorService.cs`) +- 좌/우 센서가 하나의 시리얼 포트를 공유하도록 `AppConfig` 모델 통합 +- 채널별 명령어 분리 (`001`=좌, `002`=우) +- `CommunicationWindow` UI에서 포트 설정 통합 반영 + +#### 4253 보드 상태 확인 게이트키퍼 복원 +- `CheckStatusAsync()` 호출 후 `Fail` 응답 시 ID 읽기 중단 +- 타임아웃 5000ms로 설정하여 하드웨어 응답 시간 수용 + +#### ID 센서 단독 테스트 기능 추가 (`TestProcessService.ExecuteSensorTestAsync`) +- 하단 메뉴에 "ID Test (L)" / "ID Test (R)" 버튼 추가 +- 실제 검사와 동일한 시퀀스(UI 초기화 → 센서 읽기 → 데이터 표시)를 재현 +- 센서 통신 및 하드웨어 동작을 독립적으로 확인 가능 + +--- + ## 🛠 유지보수 가이드 +- **센서 보드 교체**: `IIdSensorService` 인터페이스를 구현하는 새 서비스 클래스를 작성하고, `HomeViewModel`에서 주입 대상을 변경하면 됨 - **통신 방식 변경**: `Infrastructure/` 폴더에 `TcpProvider` 등을 추가하고 `ICommunication`을 구현하면 UI 수정 없이 변경 가능 - **프로토콜 수정**: Sentinel C28의 명령어나 데이터 형식이 바뀌면 `Services/SentinelC28Service.cs`와 `Utils/SentinelParser.cs` 수정 - **CRC 알고리즘**: 제조사 사양서에 정확한 다항식이 명시되어 있다면 `Utils/SentinelCrc8.cs` 교체 필요 @@ -204,6 +341,7 @@ ADLINK PCI DIO 보드와의 통신은 PCIS-DASK API(PCI-Dask.dll)를 사용합 - **시험 프로세스 수정**: `Services/TestProcessService.cs`의 `ProcessProc()` 메서드에서 시험 단계 추가/변경 - **ZMDI 명령 시퀀스 수정**: `Services/ZmdiSensorService.cs`의 `_commandList1~4` 배열 수정 - **ID 디코딩 테이블 수정**: `Services/ZmdiSensorService.cs`의 `_yearHexList`, `_monthList`, `_dayHexList` 등 업데이트 +- **4253 보드 명령어 수정**: `Services/Board4253Service.cs`의 `CheckStatusAsync()`, `ReadIdAsync()` 메서드에서 전송 명령어 변경 - **사용자 매뉴얼**: `Manual/` 폴더에서 각 화면별 사용 설명서 확인 및 수정 가능 ## 🧪 테스트 diff --git a/leak_test_project/Models/AppConfig.cs b/leak_test_project/Models/AppConfig.cs index 647a4e3..969acd6 100644 --- a/leak_test_project/Models/AppConfig.cs +++ b/leak_test_project/Models/AppConfig.cs @@ -8,7 +8,7 @@ namespace leak_test_project.Models public class AppConfig { - public IdSensorType SelectedIdSensor { get; set; } = IdSensorType.ZMDI; + public IdSensorType SelectedIdSensor { get; set; } = IdSensorType.Board4253; public string LeftPort { get; set; } = "COM9"; public string RightPort { get; set; } = "COM8"; diff --git a/leak_test_project/Services/Board4253SensorService.cs b/leak_test_project/Services/Board4253SensorService.cs index 739ec19..cb57a0b 100644 --- a/leak_test_project/Services/Board4253SensorService.cs +++ b/leak_test_project/Services/Board4253SensorService.cs @@ -57,24 +57,56 @@ namespace leak_test_project.Services return null; } - // 2. ID 읽기 (16자리) + // 2. ID 읽기 (끝자리가 F일 경우 최대 3회 시도) string idCmd = $"x00c_00{channel}101:ow2800326003e"; - var idTask = Task.Run(() => _service.ReadIdAsync(channel)); - if (!idTask.Wait(extendedTimeout)) - { - string buf = _service.GetLastBuffer(); - string displayBuf = string.IsNullOrEmpty(buf) ? "수신된 데이터 없음" : buf; - ErrorMessage?.Invoke(this, $"통신 실패 (4253 보드 CH{channel} ID 대기 타임아웃)\r\n[송신값]: {idCmd}\r\n[수신값]: {displayBuf}"); - return null; - } + string rawId = null; + int maxAttempts = 3; - string rawId = idTask.Result; - if (string.IsNullOrEmpty(rawId)) + for (int attempt = 1; attempt <= maxAttempts; attempt++) { - string buf = _service.GetLastBuffer(); - string displayBuf = string.IsNullOrEmpty(buf) ? "수신된 데이터 없음" : buf; - ErrorMessage?.Invoke(this, $"통신 실패 (4253 보드 CH{channel} ID 응답 없거나 파싱 오류)\r\n[송신값]: {idCmd}\r\n[수신값]: {displayBuf}"); - return null; + var idTask = Task.Run(() => _service.ReadIdAsync(channel)); + if (!idTask.Wait(extendedTimeout)) + { + if (attempt == maxAttempts) + { + string buf = _service.GetLastBuffer(); + string displayBuf = string.IsNullOrEmpty(buf) ? "수신된 데이터 없음" : buf; + ErrorMessage?.Invoke(this, $"통신 실패 (4253 보드 CH{channel} ID 대기 타임아웃)\r\n[송신값]: {idCmd}\r\n[수신값]: {displayBuf}"); + return null; + } + continue; + } + + rawId = idTask.Result; + if (string.IsNullOrEmpty(rawId)) + { + if (attempt == maxAttempts) + { + string buf = _service.GetLastBuffer(); + string displayBuf = string.IsNullOrEmpty(buf) ? "수신된 데이터 없음" : buf; + ErrorMessage?.Invoke(this, $"통신 실패 (4253 보드 CH{channel} ID 응답 없거나 파싱 오류)\r\n[송신값]: {idCmd}\r\n[수신값]: {displayBuf}"); + return null; + } + continue; + } + + // 정상적으로 파싱된 경우, 끝자리가 'F'인지 확인 + if (rawId.EndsWith("F", StringComparison.OrdinalIgnoreCase)) + { + if (attempt < maxAttempts) + { + ProgressMessage?.Invoke(this, $"ID 끝자리가 'F'입니다 ({rawId}). 재시도 중... ({attempt}/{maxAttempts})"); + Task.Delay(500).Wait(); // 재시도 전 약간의 딜레이 + continue; + } + else + { + ProgressMessage?.Invoke(this, $"최대 재시도(2회 추가) 초과. 끝자리가 F인 ID({rawId})를 사용합니다."); + } + } + + // 제대로 된 값을 얻었거나 최대 횟수에 도달하면 루프 탈출 + break; } // 3. SensorIdData 객체 구성 (16자리 ID를 각 필드에 적절히 분배) diff --git a/leak_test_project/Services/TestProcessService.cs b/leak_test_project/Services/TestProcessService.cs index b5cff47..58ef08b 100644 --- a/leak_test_project/Services/TestProcessService.cs +++ b/leak_test_project/Services/TestProcessService.cs @@ -224,13 +224,42 @@ namespace leak_test_project.Services if (isLeft) _leftResult = null; else _rightResult = null; - // C28에서 결과를 수신할 때까지 최대 30초 대기 (레거시와 동일) + // C28에서 결과를 수신할 때까지 대기 (레거시와 동일하게 30초 설정) bool received = resultReady.Wait(TimeSpan.FromSeconds(30)); if (!received) { - NotifyError(testIndex, "LEAK 센서 통신 타임아웃 (30초)"); + NotifyError(testIndex, "LEAK 센서 통신 타임아웃"); _dioBoard.WriteOutput(side + "_NG", true); + + // 타임아웃 시에도 UI(그리드)에 NG로 기록되도록 이벤트 발생 + TestCompleted?.Invoke(this, new TestResultEventArgs + { + TestIndex = testIndex, + SensorData = sensorData, + MeasuredValue = "0.000", + Judgment = "NG", + SensorJudgment = "T/O", // Timeout + SpecMismatch = false + }); + + // 로그 파일에도 기록 + FileLogger.LogInspectData(new InspectData + { + InspectDate = DateTime.Now.ToString("yyyy-MM-dd"), + InspectTime = DateTime.Now.ToString("HH:mm:ss"), + Channel = side, + ProductId = sensorData.ID, + MeasuredValue = "0.000", + Judgment = "NG", + Mode = sensorData.McLine == "0" ? "개발" : "양산", + LineNo = sensorData.LineNo, + ProductType = sensorData.Item, + SpecUL = ConfigManager.Current.SpecUL.ToString("F2"), + SpecLL = ConfigManager.Current.SpecLL.ToString("F2"), + Retest = "N" + }); + continue; } diff --git a/leak_test_project/ViewModels/HomeViewModel.cs b/leak_test_project/ViewModels/HomeViewModel.cs index c98e61d..3e65149 100644 --- a/leak_test_project/ViewModels/HomeViewModel.cs +++ b/leak_test_project/ViewModels/HomeViewModel.cs @@ -45,10 +45,28 @@ namespace leak_test_project.ViewModels public string LeftStartTime { get => _leftStartTime; set => SetProperty(ref _leftStartTime, value); } private string _leftId = ""; - public string LeftId { get => _leftId; set => SetProperty(ref _leftId, value); } + public string LeftId + { + get => _leftId; + set + { + if (SetProperty(ref _leftId, value)) + OnPropertyChanged(nameof(LeftIdCombined)); + } + } private string _leftLowId = ""; - public string LeftLowId { get => _leftLowId; set => SetProperty(ref _leftLowId, value); } + public string LeftLowId + { + get => _leftLowId; + set + { + if (SetProperty(ref _leftLowId, value)) + OnPropertyChanged(nameof(LeftIdCombined)); + } + } + + public string LeftIdCombined => $"{LeftId} / {LeftLowId}"; private string _leftDate = ""; public string LeftDate { get => _leftDate; set => SetProperty(ref _leftDate, value); } @@ -83,10 +101,28 @@ namespace leak_test_project.ViewModels public string RightStartTime { get => _rightStartTime; set => SetProperty(ref _rightStartTime, value); } private string _rightId = ""; - public string RightId { get => _rightId; set => SetProperty(ref _rightId, value); } + public string RightId + { + get => _rightId; + set + { + if (SetProperty(ref _rightId, value)) + OnPropertyChanged(nameof(RightIdCombined)); + } + } private string _rightLowId = ""; - public string RightLowId { get => _rightLowId; set => SetProperty(ref _rightLowId, value); } + public string RightLowId + { + get => _rightLowId; + set + { + if (SetProperty(ref _rightLowId, value)) + OnPropertyChanged(nameof(RightIdCombined)); + } + } + + public string RightIdCombined => $"{RightId} / {RightLowId}"; private string _rightDate = ""; public string RightDate { get => _rightDate; set => SetProperty(ref _rightDate, value); } diff --git a/leak_test_project/Views/HomeView.xaml b/leak_test_project/Views/HomeView.xaml index 9ebf677..2fabf4d 100644 --- a/leak_test_project/Views/HomeView.xaml +++ b/leak_test_project/Views/HomeView.xaml @@ -91,21 +91,13 @@ - - - + - + - - - - - - - + @@ -318,21 +310,13 @@ - - - + - + - - - - - - - + diff --git a/leak_test_project/bin/Release/Logs/2026-04-13_system.log b/leak_test_project/bin/Release/Logs/2026-04-13_system.log new file mode 100644 index 0000000..35e64f6 --- /dev/null +++ b/leak_test_project/bin/Release/Logs/2026-04-13_system.log @@ -0,0 +1 @@ +[09:04:03.025] [ERROR] [Board4253] Failed to receive response after 3 retries: x00c_001101:owt28006727ea97c7801 diff --git a/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.deploy b/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.deploy deleted file mode 100644 index fd26e4a..0000000 Binary files a/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.deploy and /dev/null differ diff --git a/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/PCI-Dask.dll.deploy b/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/PCI-Dask.dll.deploy similarity index 100% rename from leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/PCI-Dask.dll.deploy rename to leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/PCI-Dask.dll.deploy diff --git a/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.config.deploy b/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.config.deploy similarity index 100% rename from leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.config.deploy rename to leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.config.deploy diff --git a/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.deploy b/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.deploy new file mode 100644 index 0000000..d1cb0bd Binary files /dev/null and b/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.deploy differ diff --git a/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.manifest b/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.manifest similarity index 85% rename from leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.manifest rename to leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.manifest index 7f667ed..03ce0e8 100644 --- a/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_13/leak_test_project.exe.manifest +++ b/leak_test_project/bin/Release/app.publish/Application Files/leak_test_project_1_0_0_16/leak_test_project.exe.manifest @@ -1,6 +1,6 @@  - + @@ -42,14 +42,14 @@ - + - s7N9iBWk8fUXDSMpsQYD+HuhDnCsSIbyR3ysKPAKQVk= + pEZ4izTsWD0N0FC3W6sHei9ubwH+Q1nqnSJ0w5ktN2o= @@ -71,4 +71,4 @@ pDB54gSYV5M/tu2DZtDUj13HUp3HrRLSNr97K/nGHh4= -IGryd/vhTzmjoO2eqd6Fb97hDJRqSJsVRL8N69/x1HI=l/LS5ocaQyl+3bxBd88XE6RbZwuUh8UgQwc1fUStRM+YbNLGPqZxdyooS89DBCd0B5bl942Tmt0zwsO6vlXORjbVCiOKDE44RJjSD2WxLv382r/hjt/soundny9dJ/NyjlRBJOSpiYlz6qMlOuWRW2pPcYCjJunNGp9XI5O5F40=tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=AQABCN=COMPUTER\COMPUTER1bUBgGdguRHJX/VMsU/Q/dweM3kOGzKR9U/PMq6CpRgE=Nl9I0EWNksmG0cfN22YJ7ba0bmecY8JjVMMii1M6GS2hSrLyHEMfQ7sSSmf/GV3Ae/jVsz9fWa0+qPx0/aDmxcOK5o94IYbkZtC8Yn0dbFDSWG37UFakG3SPLOxUIYU8+Woh8P32dSCIfaw2lrPlOuyqr2Tx1Lq/dBKvv/W7BCE=tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=AQABMIIB4TCCAUqgAwIBAgIQWEJoD8lqaYlP6JqlHCvs5TANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwHhcNMjYwMzI0MDIzMjE1WhcNMjcwMzI0MDgzMjE1WjAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALbmBaYEOZnOcu+A6B1bpYwZKgpEvbru2Cg+OLyRvRIayKJ6TZjIsDu0k4Njw238YxMu19e8xKc+638NYuM8w7FLqYbFpX/CCmtKbyu0EY6FItSqL+EYur9aK4MGxFGrOtQeG+H1roS73P8W0IffOz9N+i6G1Xq+5Nc6rUE1UIc1AgMBAAEwDQYJKoZIhvcNAQELBQADgYEAUsdGhPmkbh1nlC8UNtLUtmKJFrxEjinb/AyF2q0JI09sqZy0bpJXBrNGMFSgaSj5YznZJGjWH6xMCNKyy9l70dDtUs32EE3ZqA2gJxOL75BFS6cNFG0poqxd1Jwr01xm0jtjN34GTjLMWzFzTYBdtYx5w/t91i/arkapFfWyYD4= \ No newline at end of file ++3BypFZ5fMVMM7tqK/Vhb0qhGKWR6x9nnhDuRViypA4=l9HKDkEpj4C4P8hgX+juudl4XdBkW97AKvdhQZg38x687DH3s6CcMGgqshPTYcLQBkpHBKNMMGVmhcZN9/OUPfdL2WkoGIEBxG7v7b/ec4FZoh3m8fTc1e6dNniK1A90RwLPXVBNkW2NotU1vQWVGnisAkGNQMeiT+3Mk8W3gok=tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=AQABCN=COMPUTER\COMPUTER1MI2iqLoRymwscrF6To/QPA4RiJ3jK2ze0+1DcCXBZqo=mDVmhkO8ciT2Dt0KathjUGsWiGuFw08k407R+ds5XM/BgOTJz46SGEe+bFX193ClB+L3Nm+gC5CUK2aivtefsj6CBySIq85kE44IkZFPp0ijGXjUDMA68PGua45YawcjQ0+lbT1pieDyKuayPt0WVTYunVXg5RnFUtmT4ZlMM7c=tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=AQABMIIB4TCCAUqgAwIBAgIQWEJoD8lqaYlP6JqlHCvs5TANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwHhcNMjYwMzI0MDIzMjE1WhcNMjcwMzI0MDgzMjE1WjAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALbmBaYEOZnOcu+A6B1bpYwZKgpEvbru2Cg+OLyRvRIayKJ6TZjIsDu0k4Njw238YxMu19e8xKc+638NYuM8w7FLqYbFpX/CCmtKbyu0EY6FItSqL+EYur9aK4MGxFGrOtQeG+H1roS73P8W0IffOz9N+i6G1Xq+5Nc6rUE1UIc1AgMBAAEwDQYJKoZIhvcNAQELBQADgYEAUsdGhPmkbh1nlC8UNtLUtmKJFrxEjinb/AyF2q0JI09sqZy0bpJXBrNGMFSgaSj5YznZJGjWH6xMCNKyy9l70dDtUs32EE3ZqA2gJxOL75BFS6cNFG0poqxd1Jwr01xm0jtjN34GTjLMWzFzTYBdtYx5w/t91i/arkapFfWyYD4= \ No newline at end of file diff --git a/leak_test_project/bin/Release/app.publish/leak_test_project.application b/leak_test_project/bin/Release/app.publish/leak_test_project.application index bda5eea..bf96da9 100644 --- a/leak_test_project/bin/Release/app.publish/leak_test_project.application +++ b/leak_test_project/bin/Release/app.publish/leak_test_project.application @@ -1,21 +1,21 @@  - + - - + + - vZGlZ5qI3sVmBh95J81hLbqfdYw4njv0uB7RtDrOvHs= + A1La4KsGMV1iNK0CxRR03ShMgX8/fW+GOgv9d21XqkE= -FmFXiPyX80Gc/Tr21p3YuCFMtpIYuWeDiBxsaSdTbvQ=XmnCAww20AlPr4s/cfKBsgEbQUQ2X0suzuVtdMekgNypuTFO5UdWFgOLZZtDnBZR0MxcFyHx332YHgZO54J3aU6RJ8BN+o2yby/hLX+lmZ1pquWtVHKHyytAG4XyVCnA6s9Eh5IkVVL/czRuJfLxoVUZf8edM2mooPYmYxtGREA=tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=AQABCN=COMPUTER\COMPUTER1EmpRdk8DsUDcdaWJE1vl68QAegel0yF1f5e8pvmRQjM=cgZrWaxQtJh0Gr03iFoHJPQApEcGyJxP1NAd0OA65Fu7lEfDKbshAiSbIDjiSezJfHf3wQpizVvTr4sIUkWOrSOCg6LdCPSST6QJAeQ7LXEfMO7dXO06vklj7vV9nS/RtOPfP8BiXThr6QDVu8KzvDRaDLhIgfm/cjMh3mVMkLU=tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=AQABMIIB4TCCAUqgAwIBAgIQWEJoD8lqaYlP6JqlHCvs5TANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwHhcNMjYwMzI0MDIzMjE1WhcNMjcwMzI0MDgzMjE1WjAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALbmBaYEOZnOcu+A6B1bpYwZKgpEvbru2Cg+OLyRvRIayKJ6TZjIsDu0k4Njw238YxMu19e8xKc+638NYuM8w7FLqYbFpX/CCmtKbyu0EY6FItSqL+EYur9aK4MGxFGrOtQeG+H1roS73P8W0IffOz9N+i6G1Xq+5Nc6rUE1UIc1AgMBAAEwDQYJKoZIhvcNAQELBQADgYEAUsdGhPmkbh1nlC8UNtLUtmKJFrxEjinb/AyF2q0JI09sqZy0bpJXBrNGMFSgaSj5YznZJGjWH6xMCNKyy9l70dDtUs32EE3ZqA2gJxOL75BFS6cNFG0poqxd1Jwr01xm0jtjN34GTjLMWzFzTYBdtYx5w/t91i/arkapFfWyYD4= \ No newline at end of file +vY4yjkJ/nULviCenR6uVtUGUR+hwBc3gN5h8MT7Uogs=HLnBsRt87ox3w9aSJURYJ6Ia7a4CFjsgbE8MgngAl5S5RxvkEcgnFoc7paGHakA9eTWXUjy2ppfScWLh3TZdqNoeU6EJVQC/AwfFoL9eK9zRQYKgj6cYIwW06QQgg+T5uLvVB9CRj2nDO14tj3zsqJJ4whrs/j2bfjG0nSIsvec=tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=AQABCN=COMPUTER\COMPUTER18meuhjsWFjVM2XkbCDNkqJSr8BQHhBU4VGtueZy1jJg=giByh+aFXJle8Iif2o1GWSVENDaySdFQTkrs9uiyoK6WcYRntVBVAfLeSWIVstSRiK4ltbQH0vTZDc2Kc6bDvEw7n5deWM+atUfP6X4Ih5baTiMexT+1UoZfWMpmEW6cFXXD6atDaBYTqu+p/lLQqutacu3RwzLJ59/3vsMwK0I=tuYFpgQ5mc5y74DoHVuljBkqCkS9uu7YKD44vJG9EhrIonpNmMiwO7STg2PDbfxjEy7X17zEpz7rfw1i4zzDsUuphsWlf8IKa0pvK7QRjoUi1Kov4Ri6v1orgwbEUas61B4b4fWuhLvc/xbQh987P036LobVer7k1zqtQTVQhzU=AQABMIIB4TCCAUqgAwIBAgIQWEJoD8lqaYlP6JqlHCvs5TANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwHhcNMjYwMzI0MDIzMjE1WhcNMjcwMzI0MDgzMjE1WjAvMS0wKwYDVQQDHiQAQwBPAE0AUABVAFQARQBSAFwAQwBPAE0AUABVAFQARQBSADEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALbmBaYEOZnOcu+A6B1bpYwZKgpEvbru2Cg+OLyRvRIayKJ6TZjIsDu0k4Njw238YxMu19e8xKc+638NYuM8w7FLqYbFpX/CCmtKbyu0EY6FItSqL+EYur9aK4MGxFGrOtQeG+H1roS73P8W0IffOz9N+i6G1Xq+5Nc6rUE1UIc1AgMBAAEwDQYJKoZIhvcNAQELBQADgYEAUsdGhPmkbh1nlC8UNtLUtmKJFrxEjinb/AyF2q0JI09sqZy0bpJXBrNGMFSgaSj5YznZJGjWH6xMCNKyy9l70dDtUs32EE3ZqA2gJxOL75BFS6cNFG0poqxd1Jwr01xm0jtjN34GTjLMWzFzTYBdtYx5w/t91i/arkapFfWyYD4= \ No newline at end of file diff --git a/leak_test_project/bin/Release/app.publish/leak_test_project.exe b/leak_test_project/bin/Release/app.publish/leak_test_project.exe index fd26e4a..d1cb0bd 100644 Binary files a/leak_test_project/bin/Release/app.publish/leak_test_project.exe and b/leak_test_project/bin/Release/app.publish/leak_test_project.exe differ diff --git a/leak_test_project/bin/Release/leak_test_project.application b/leak_test_project/bin/Release/leak_test_project.application index 9ca71bd..936a53a 100644 --- a/leak_test_project/bin/Release/leak_test_project.application +++ b/leak_test_project/bin/Release/leak_test_project.application @@ -1,6 +1,6 @@  - + @@ -8,13 +8,13 @@ - + - IH+aKiFvhI6LMjGB1EhRjwzDSWKszz5bvalWw8FvXd8= + HmFj0J/H16BLdu2v4bvNkIVYhtytj9pkGmitz3M27pw= diff --git a/leak_test_project/bin/Release/leak_test_project.exe b/leak_test_project/bin/Release/leak_test_project.exe index 425743f..706e494 100644 Binary files a/leak_test_project/bin/Release/leak_test_project.exe and b/leak_test_project/bin/Release/leak_test_project.exe differ diff --git a/leak_test_project/bin/Release/leak_test_project.exe.manifest b/leak_test_project/bin/Release/leak_test_project.exe.manifest index 7aaf515..c73ecac 100644 --- a/leak_test_project/bin/Release/leak_test_project.exe.manifest +++ b/leak_test_project/bin/Release/leak_test_project.exe.manifest @@ -1,6 +1,6 @@  - + @@ -42,14 +42,14 @@ - + - s7N9iBWk8fUXDSMpsQYD+HuhDnCsSIbyR3ysKPAKQVk= + pEZ4izTsWD0N0FC3W6sHei9ubwH+Q1nqnSJ0w5ktN2o= diff --git a/leak_test_project/bin/Release/leak_test_project.pdb b/leak_test_project/bin/Release/leak_test_project.pdb index f212031..86c9ea6 100644 Binary files a/leak_test_project/bin/Release/leak_test_project.pdb and b/leak_test_project/bin/Release/leak_test_project.pdb differ diff --git a/leak_test_project/leak_test_project.csproj b/leak_test_project/leak_test_project.csproj index 493064f..05de58c 100644 --- a/leak_test_project/leak_test_project.csproj +++ b/leak_test_project/leak_test_project.csproj @@ -27,7 +27,7 @@ false false true - 14 + 17 1.0.0.%2a false true diff --git a/leak_test_project/obj/Release/App.baml b/leak_test_project/obj/Release/App.baml new file mode 100644 index 0000000..89dc9c9 Binary files /dev/null and b/leak_test_project/obj/Release/App.baml differ diff --git a/leak_test_project/obj/Release/MainWindow.baml b/leak_test_project/obj/Release/MainWindow.baml new file mode 100644 index 0000000..a11f749 Binary files /dev/null and b/leak_test_project/obj/Release/MainWindow.baml differ diff --git a/leak_test_project/obj/Release/Views/HomeView.baml b/leak_test_project/obj/Release/Views/HomeView.baml new file mode 100644 index 0000000..06b7fdd Binary files /dev/null and b/leak_test_project/obj/Release/Views/HomeView.baml differ diff --git a/leak_test_project/obj/Release/Views/HomeView.g.cs b/leak_test_project/obj/Release/Views/HomeView.g.cs index ade120d..26a0680 100644 --- a/leak_test_project/obj/Release/Views/HomeView.g.cs +++ b/leak_test_project/obj/Release/Views/HomeView.g.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\..\Views\HomeView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "2921BB4A069CB2EEEC799AE758E9C631287817D22AABE0AE39C97B7738A1BC9F" +#pragma checksum "..\..\..\Views\HomeView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "EF28D1F33A372FF8C07A2FA029508C46F6D83EE13FA1C4B341D2417DC19F1E43" //------------------------------------------------------------------------------ // // 이 코드는 도구를 사용하여 생성되었습니다. diff --git a/leak_test_project/obj/Release/Views/HomeView.g.i.cs b/leak_test_project/obj/Release/Views/HomeView.g.i.cs index ade120d..26a0680 100644 --- a/leak_test_project/obj/Release/Views/HomeView.g.i.cs +++ b/leak_test_project/obj/Release/Views/HomeView.g.i.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\..\Views\HomeView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "2921BB4A069CB2EEEC799AE758E9C631287817D22AABE0AE39C97B7738A1BC9F" +#pragma checksum "..\..\..\Views\HomeView.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "EF28D1F33A372FF8C07A2FA029508C46F6D83EE13FA1C4B341D2417DC19F1E43" //------------------------------------------------------------------------------ // // 이 코드는 도구를 사용하여 생성되었습니다. diff --git a/leak_test_project/obj/Release/leak_test_project.application b/leak_test_project/obj/Release/leak_test_project.application index 9ca71bd..936a53a 100644 --- a/leak_test_project/obj/Release/leak_test_project.application +++ b/leak_test_project/obj/Release/leak_test_project.application @@ -1,6 +1,6 @@  - + @@ -8,13 +8,13 @@ - + - IH+aKiFvhI6LMjGB1EhRjwzDSWKszz5bvalWw8FvXd8= + HmFj0J/H16BLdu2v4bvNkIVYhtytj9pkGmitz3M27pw= diff --git a/leak_test_project/obj/Release/leak_test_project.exe b/leak_test_project/obj/Release/leak_test_project.exe index 425743f..706e494 100644 Binary files a/leak_test_project/obj/Release/leak_test_project.exe and b/leak_test_project/obj/Release/leak_test_project.exe differ diff --git a/leak_test_project/obj/Release/leak_test_project.exe.manifest b/leak_test_project/obj/Release/leak_test_project.exe.manifest index 7aaf515..c73ecac 100644 --- a/leak_test_project/obj/Release/leak_test_project.exe.manifest +++ b/leak_test_project/obj/Release/leak_test_project.exe.manifest @@ -1,6 +1,6 @@  - + @@ -42,14 +42,14 @@ - + - s7N9iBWk8fUXDSMpsQYD+HuhDnCsSIbyR3ysKPAKQVk= + pEZ4izTsWD0N0FC3W6sHei9ubwH+Q1nqnSJ0w5ktN2o= diff --git a/leak_test_project/obj/Release/leak_test_project.g.resources b/leak_test_project/obj/Release/leak_test_project.g.resources index 096e1c1..24423a1 100644 Binary files a/leak_test_project/obj/Release/leak_test_project.g.resources and b/leak_test_project/obj/Release/leak_test_project.g.resources differ diff --git a/leak_test_project/obj/Release/leak_test_project.pdb b/leak_test_project/obj/Release/leak_test_project.pdb index f212031..86c9ea6 100644 Binary files a/leak_test_project/obj/Release/leak_test_project.pdb and b/leak_test_project/obj/Release/leak_test_project.pdb differ diff --git a/leak_test_project/obj/Release/leak_test_project_MarkupCompile.cache b/leak_test_project/obj/Release/leak_test_project_MarkupCompile.cache index 7629669..495e9c3 100644 --- a/leak_test_project/obj/Release/leak_test_project_MarkupCompile.cache +++ b/leak_test_project/obj/Release/leak_test_project_MarkupCompile.cache @@ -12,9 +12,9 @@ TRACE C:\Users\COMPUTER1\Desktop\mobi\leak_test_project\leak_test_project\App.xaml 6627611856 1-698605034 -452020398631 +44464663643 14-767506772 Views\HomeView.xaml;Views\InOutView.xaml;Views\DataView.xaml;Views\ParametersWindow.xaml;Views\CommunicationWindow.xaml;MainWindow.xaml; -True +False