# V2G EXI Decoder Project - Claude 설정 ## 언어 설정 - **한국어로 대화하기**: 모든 응답과 설명을 한국어로 제공 - 사용자가 한국어로 질문하면 반드시 한국어로 답변 - 대화 요약 후에도 이 언어 설정을 유지 ## 프로젝트 개요 - **목적**: V2G (Vehicle-to-Grid) EXI 바이너리 파일 디코딩/인코딩 - **표준**: ISO 15118-2:2013 V2G 통신 프로토콜 - **구현**: C, VC2022, .NET Core 멀티플랫폼 지원 ## 빌드 설정 - **VC2022**: `Port/vc2022/build.bat` 파일 참고 - **dotnet**: `dotnet build Port/dotnet/V2GDecoderNet.csproj` - **원본 C**: 루트 디렉토리의 Makefile 사용 ## 테스트 파일들 - Sample 폴더에 테스트에 사용할 샘플 파일들이 있음 - **test1.exi**: CurrentDemandRes (131바이트, 네트워크 패킷 포함) - **test5.exi**: CurrentDemandReq (43바이트, 순수 EXI) - **테스트 결과**: `temp/` 폴더에 저장하여 루트 정리 ## 주요 컴포넌트 - **EXICodecExact.cs**: 범용 EXI 디코더 (VC2022 호환) - **EXIEncoderExact.cs**: 정확한 EXI 인코더 - **V2GMessageProcessor.cs**: XML 변환 및 메시지 처리 - **BitStreamExact.cs**: 비트 레벨 스트림 처리 ## 개발 원칙 - VC2022와 100% 호환성 유지 - 바이트 레벨에서 정확한 인코딩/디코딩 - 디버깅 편의를 위한 동일한 구조체/함수명 사용 - 네트워크 패킷과 순수 EXI 모두 지원 ## 명령어 예시 ```bash # 디코딩 dotnet run --project Port/dotnet/V2GDecoderNet.csproj -decode runtime/test1.exi # 인코딩 dotnet run --project Port/dotnet/V2GDecoderNet.csproj -encode input.xml # 분석 dotnet run --project Port/dotnet/V2GDecoderNet.csproj runtime/test5.exi ``` ## 주의사항 - 테스트 파일은 `temp/` 폴더 사용 - 바이너리 출력 시 올바른 스트림 처리 필요 - CurrentDemandReq와 CurrentDemandRes 둘 다 완벽 지원 필수