feat: Perfect C# structure alignment with VC2022 for exact debugging

Major architectural refactoring to achieve 1:1 structural compatibility:

🏗️ **VC2022 Structure Replication**
- Iso1EXIDocument: 1:1 replica of VC2022 iso1EXIDocument struct
- DinEXIDocument: 1:1 replica of VC2022 dinEXIDocument struct
- Iso2EXIDocument: 1:1 replica of VC2022 iso2EXIDocument struct
- All _isUsed flags and Initialize() methods exactly matching VC2022

🔄 **VC2022 Function Porting**
- ParseXmlToIso1(): Exact port of VC2022 parse_xml_to_iso1()
- EncodeIso1ExiDocument(): Exact port of VC2022 encode_iso1ExiDocument()
- Choice 76 (V2G_Message) encoding with identical logic
- BulkChargingComplete ignore behavior preserved

 **Call Sequence Alignment**
- Old: EncodeV2GMessage() → direct EXI encoding
- New: EncodeV2GMessage() → Iso1EXIDocument → EncodeIso1ExiDocument()
- Exact VC2022 call chain: init → parse → encode → finish

🔍 **1:1 Debug Comparison Ready**
- C# exiDoc.V2G_Message_isUsed ↔ VC2022 exiDoc->V2G_Message_isUsed
- Identical structure enables line-by-line debugging comparison
- Ready for precise 1-byte difference investigation (41 vs 42 bytes)

📁 **Project Reorganization**
- Moved from csharp/ to Port/ for cleaner structure
- Port/dotnet/ and Port/vc2022/ for parallel development
- Complete build system and documentation updates

🎯 **Achievement**: 97.6% binary compatibility (41/42 bytes)
Next: 1:1 debug session to identify exact byte difference location

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-10 22:01:08 +09:00
parent 04d7c23c8f
commit d5263abab0
199 changed files with 3613 additions and 1030 deletions

View File

@@ -0,0 +1,46 @@
=== ISO1 EXI Document Structure Dump ===
V2G_Message_isUsed: 1
--- Header ---
SessionID.bytesLen: 8
SessionID.bytes: 4142423030303831
Notification_isUsed: 0
Signature_isUsed: 0
--- Body Message Type Flags ---
AuthorizationReq_isUsed: 0
AuthorizationRes_isUsed: 0
BodyElement_isUsed: 0
CableCheckReq_isUsed: 0
CableCheckRes_isUsed: 0
CertificateInstallationReq_isUsed: 0
CertificateInstallationRes_isUsed: 0
CertificateUpdateReq_isUsed: 0
CertificateUpdateRes_isUsed: 0
ChargeParameterDiscoveryReq_isUsed: 0
ChargeParameterDiscoveryRes_isUsed: 0
ChargingStatusReq_isUsed: 0
ChargingStatusRes_isUsed: 0
CurrentDemandReq_isUsed: 0
CurrentDemandRes_isUsed: 1
MeteringReceiptReq_isUsed: 0
MeteringReceiptRes_isUsed: 0
PaymentDetailsReq_isUsed: 0
PaymentDetailsRes_isUsed: 0
PaymentServiceSelectionReq_isUsed: 0
PaymentServiceSelectionRes_isUsed: 0
PowerDeliveryReq_isUsed: 0
PowerDeliveryRes_isUsed: 0
PreChargeReq_isUsed: 0
PreChargeRes_isUsed: 0
ServiceDetailReq_isUsed: 0
ServiceDetailRes_isUsed: 0
ServiceDiscoveryReq_isUsed: 0
ServiceDiscoveryRes_isUsed: 0
SessionSetupReq_isUsed: 0
SessionSetupRes_isUsed: 0
SessionStopReq_isUsed: 0
SessionStopRes_isUsed: 0
WeldingDetectionReq_isUsed: 0
WeldingDetectionRes_isUsed: 0