fix: Resolve EXI encoding issues and enhance V2GDecoder functionality
- Fix critical EXI encoding error -109 (EXI_ERROR_UNKOWN_EVENT) by adding proper structure initialization * Added init_iso1BodyType() call before setting message type flags in XML parsing * Prevents garbage values in unused message type flags that caused wrong grammar paths - Rename enhanced_exi_viewer to V2GDecoder for consistency * Updated build.bat to build V2GDecoder instead of enhanced_exi_viewer * Maintains all existing functionality with improved reliability - Add comprehensive structure debugging capabilities * Created structure dump functions to output complete document state * Added struct_exi.txt and struct_xml.txt for comparing parsed vs original structures - Enhance output formatting for encoding operations * Clean hex-only output for encoding mode (similar to XML decode mode) * Removed debug clutter for production use while preserving debugging code - Add test infrastructure with minimal_test.xml for focused testing * Validates CurrentDemandReq message encoding with minimal required fields - Improve encoder debugging with position tracking in iso1EXIDatatypesEncoder.c * Added debug points to track exact failure locations during encoding 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
46
struct_exi.txt
Normal file
46
struct_exi.txt
Normal 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
|
||||
Reference in New Issue
Block a user