Commit Graph

9 Commits

Author SHA1 Message Date
backuppc
34ad1db0e3 Fix: 상태머신 루프 블로킹 문제 수정 - SPS 이벤트 핸들러 비동기 처리 및 타임아웃 보호 추가
- sm_SPS 이벤트 핸들러에서 장치 연결 및 상태 전송을 비동기로 처리

- DeviceConnectionWorker 스레드로 장치 연결 분리

- SPS(1초), Running(2초) 타임아웃 보호 추가

- 상태머신 모니터링 디버그 창 추가 (fStateMachineDebug)

- F11/F12 단축키로 스레드 덤프 및 디버그 브레이크 지원

- RaiseMessage 이벤트 비동기 처리로 로그 블로킹 방지
2025-12-04 14:43:57 +09:00
backuppc
a46d0b526d 장치 연결 로직을 별도 쓰레드로 분리
상태머신에서 장치 연결(AGV, XBee, BMS)이 메인 루프를 블로킹하는 문제 해결

주요 변경사항:
- DeviceConnectionWorker: 별도 쓰레드에서 장치 연결 처리
- StartDeviceConnectionThread: 쓰레드 시작 로직
- StopDeviceConnectionThread: 프로그램 종료 시 안전한 쓰레드 종료
- sm_SPS: 연결 로직 제거, 쓰레드 시작만 담당
- __Closing: 프로그램 종료 시 쓰레드 종료 호출

이점:
- 장치 연결 중 상태머신 블로킹 방지
- 1초 간격으로 비동기 연결 시도
- 프로그램 종료 시 안전한 쓰레드 정리

파일:
- StateMachine/_SPS.cs: 쓰레드 로직 추가
- fMain.cs: 종료 시 쓰레드 정리

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 08:52:11 +09:00
backuppc
6e54633c08 fix 2025-11-10 14:43:47 +09:00
chi
00dd50192b .. 2025-06-30 13:48:19 +09:00
chi
f1aeeeba12 .. 2025-06-25 17:55:37 +09:00
chi
f7615396d5 add temp1, temp2 2025-06-20 11:56:34 +09:00
chi
20dd87a9d0 .. 2025-04-24 16:24:01 +09:00
chi
f71b963851 .. 2025-04-24 11:51:55 +09:00
chi
0a93a54a6f initial commit 2025-01-07 16:08:02 +09:00