Commit Graph

124 Commits

Author SHA1 Message Date
ChiKyun Kim
b62cd5f52e 충방전 전류 및 전력량 계산 코드 추가 2025-12-18 10:55:04 +09:00
backuppc
32217c8501 Merge branch 'master' of https://git.tindevil.com/Amkor/ENIG 2025-12-18 10:32:48 +09:00
backuppc
9274727fa9 .. 2025-12-18 10:32:20 +09:00
2a44ba28a8 "fix:Enforce-Run-Mode-in-fAuto-VisibleChanged" 2025-12-18 00:43:22 +09:00
4bdc36040d "feat:Implement-Canvas-Run-Mode-and-Logic" 2025-12-18 00:38:59 +09:00
384f2affcb "refactor:Switch-serial-comm-to-polling" 2025-12-18 00:34:37 +09:00
ChiKyun Kim
51579591a2 add docment -
enable : signal2
2025-12-17 16:36:12 +09:00
ChiKyun Kim
cef2fa8095 flag,error 항목 정리, 2025-12-17 15:53:18 +09:00
backuppc
1f37871336 .. 2025-12-17 14:54:33 +09:00
eb0e08d290 .. 2025-12-16 23:31:47 +09:00
backuppc
4153362588 .. 2025-12-16 17:29:28 +09:00
67a48531ad .. 2025-12-15 22:06:53 +09:00
backuppc
a7f938ff19 .. 2025-12-15 17:34:43 +09:00
backuppc
9db88e5d6b .agvmap 확장자제거하고 .json 으로 통일한 mapeditor 와 호환성 유지 2025-12-15 08:33:42 +09:00
a8cb952ea4 .. 2025-12-14 22:56:04 +09:00
3c8eae889c "refactor:Improve-map-loading-and-use-canvas-nodes" 2025-12-14 22:55:09 +09:00
764fbbd204 "feat:Enable-hover-highlight-and-refactor" 2025-12-14 17:20:50 +09:00
34b038c4be Implement ACS Command Handlers (PickOn, PickOff, Charge), Manual Mode Safety, and Map UI Commands 2025-12-13 02:40:55 +09:00
703e1387bf .. 2025-12-12 20:57:55 +09:00
f507a6487e 소스정리 2025-12-12 20:00:33 +09:00
backuppc
4e9d29d22f ing... 2025-12-12 17:27:50 +09:00
backuppc
07ddc0425f 에뮬레이터 개발 전. 2025-12-12 14:29:06 +09:00
backuppc
6024f372d3 buffer in/out 시퀀스 작성중 2025-12-11 08:22:52 +09:00
backuppc
9a0a389e07 buffer in/out 시퀀스 작성 중 2025-12-11 08:22:24 +09:00
ChiKyun Kim
af280d7b27 오디오재생함수추가 2025-12-10 13:36:35 +09:00
backuppc
868fa2deec add supertonic 2025-12-10 11:39:15 +09:00
backuppc
3695ab0044 sync 전용 화면 만들기 전 백업. 2025-12-10 10:35:19 +09:00
backuppc
2236e3b1ba add GDS set button 2025-12-09 13:33:42 +09:00
backuppc
9db031c305 agv 노드 정보 정리 세분화 2025-12-09 13:18:22 +09:00
backuppc
455e18f427 시뮬레이터에서 맵 로드시에 맵에 배경색이 있다면 적용 하게 함
Xbee Open 시에 return값 변경 return true -> return isopen
LogFlushAll 함수추가 (_step_close 에서 사용)
2025-12-08 15:12:41 +09:00
backuppc
98d638cd9a .. 2025-12-05 17:31:56 +09:00
ChiKyun Kim
8459230053 move bms 2025-12-04 17:10:42 +09:00
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
92dfe2978c UI 및 설정 변경사항 커밋
- 맵 에디터 메인폼 UI 개선
- AGV 캔버스 컨트롤 수정
- 설정 파일 업데이트
- 상태머신 AGV 로직 조정
- 자동 모드 화면 개선
- 메인폼 디자이너 및 로직 수정

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 08:50:07 +09:00
backuppc
4a992ea9c1 태그 자동 추가 하는 작업 중 2025-11-14 17:31:00 +09:00
backuppc
0c2f00e79e ui 변경 2025-11-14 16:50:10 +09:00
ChiKyun Kim
562b477d14 .. 2025-11-14 16:23:32 +09:00
backuppc
97b2a3076f 프로토콜 조정 2025-11-14 15:03:51 +09:00
backuppc
028e9ab35f .. 2025-11-12 17:37:03 +09:00
backuppc
1c12beb3e7 Test_ACS 프로젝트 추가 - ACS 시뮬레이터 (v1.4.0)
## 신규 기능
- ACS(중앙제어시스템) 시뮬레이터 프로젝트 생성
- 8가지 AGV 제어 명령어 지원:
  * SetCurrent: 현재 위치 설정
  * Goto: RFID 이동
  * GotoAlias: 별칭 이동 (v1.1.0)
  * Stop: 정지
  * Reset: 에러 리셋
  * Manual: 수동 제어
  * MarkStop: 마크센서 정지
  * LiftControl: 리프트 제어

## AGV 상태 실시간 표시 (v1.3.0)
- AGV 상태 그룹박스 추가 (8가지 상태 정보)
- Status 메시지(cmd=3) 자동 수신 및 UI 업데이트
- 상태별 색상 표시로 직관적 모니터링

## 설정 관리
- 실행 폴더에 JSON 형식 설정 파일 저장 (v1.4.0)
- COM 포트, 보레이트, RFID, 별칭, AGV 선택 자동 저장
- 설정 파일 직접 편집 가능

## 기술 스택
- .NET Framework 4.8
- ENIGProtocol 프로젝트 참조
- RS232/Xbee 통신
- Newtonsoft.Json

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12 17:35:36 +09:00
ChiKyun Kim
836826fe91 ,, 2025-11-12 09:27:32 +09:00
ChiKyun Kim
c9777b4c39 add xbee file 2025-11-11 17:37:40 +09:00
backuppc
81c11601c5 .. 2025-11-10 17:25:51 +09:00
backuppc
6e54633c08 fix 2025-11-10 14:43:47 +09:00
backuppc
68745f23bb add cmd 107 (acs -> agv) 2025-11-04 16:00:30 +09:00
backuppc
3712c290c9 feat: Implement AGV command prediction system for real-time control
- Add motor/magnet/speed enums and AGVCommand class for AGV control
- Implement Predict() method for next action prediction based on path and state
- Add RFID position tracking (requires 2 RFIDs for position confirmation)
- Add SetPath() method to VirtualAGV for path management
- Implement GetCommandFromPath() to extract motor/magnet/speed from DetailedPath
- Add real-time prediction display in SimulatorForm (timer1_Tick)
- Support automatic forward movement at low speed when position unconfirmed
- Support stop command when destination reached or no destination set

Key Features:
- Position unconfirmed (RFID < 2): Forward + Straight + Low speed
- Position confirmed + no destination: Stop (position found)
- Position confirmed + destination reached: Stop (arrived)
- Path execution: Motor/Magnet/Speed from DetailedPath NodeMotorInfo
- Rotation nodes: Automatic low speed
- Junction handling: Magnet direction (Left/Right/Straight)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 17:34:35 +09:00
backuppc
c3f8c7117d feat: Add real-time node drag preview and improve pan accuracy
- Add ghost rendering at original position during node drag
- Implement real-time drag preview with Update() for immediate rendering
- Add visual feedback: shadow effects, cyan borders, pulse animations
- Improve pan movement accuracy with zoom level compensation (PointF precision)
- Add mouse capture for stable drag operations
- Fix coordinate precision loss by changing _panOffset from Point to PointF

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 15:08:48 +09:00
backuppc
5e14907f1c feat: Add configurable Padding and display nodes without RFID in gray
MapNode.cs:
- Padding 속성 추가 (기본값 8px, 텍스트 주변 여백)
- Clone 메서드에 Padding 복사 추가

NodePropertyWrapper.cs:
- LabelNodePropertyWrapper에 Padding 속성 추가
- PropertyGrid에서 0~50px 범위로 조정 가능

UnifiedAGVCanvas.Events.cs:
- DrawLabelNode: 하드코딩된 패딩을 node.Padding 사용
- GetNodeBrush: RFID 없는 노드를 회색 계통으로 표시
  * Normal: Blue → LightGray
  * Rotation: Orange → DarkGray
  * Docking: Green → Gray
  * Charging: Red → Silver

UnifiedAGVCanvas.Mouse.cs:
- HandleLabelNodeDoubleClick: node.Name → node.LabelText 사용

이제 라벨 노드 패딩을 속성창에서 조정 가능하고,
RFID 미할당 노드를 시각적으로 쉽게 구분 가능

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 17:32:13 +09:00
backuppc
0e8a452b54 feat: Add node type-specific double-click actions
노드 타입별 더블클릭 액션 구현:

UnifiedAGVCanvas.Mouse.cs:
- MouseDoubleClick 핸들러 수정 - 노드 타입별 분기 처리
- HandleNormalNodeDoubleClick() 추가 - RFID 입력 InputBox 표시
- HandleLabelNodeDoubleClick() 추가 - 라벨 텍스트 입력 InputBox 표시
- HandleImageNodeDoubleClick() 추가 - ImageNodeDoubleClicked 이벤트 발생

UnifiedAGVCanvas.cs:
- ImageNodeDoubleClicked 이벤트 정의 추가

MainForm.cs:
- OnImageNodeDoubleClicked 이벤트 핸들러 추가
- 이미지 편집창(ImageEditorForm) 자동 표시

AGVNavigationCore.csproj:
- Microsoft.VisualBasic 참조 추가 (InputBox 사용)

이제 노드 더블클릭 시:
- 일반노드(Normal/Rotation/Docking/Charging): RFID 입력창 표시
- 라벨노드: 텍스트 입력창 표시
- 이미지노드: 이미지 편집창 자동 표시

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 15:14:53 +09:00