🔧 Grammar 279 Critical Fix: - Fixed Grammar 279 from 2-bit to 1-bit choice for ChargingComplete - Achieved 100% binary compatibility with VC2022 C++ implementation - All EXI roundtrip tests now pass with identical byte output ✨ ANSI Banner & UI Enhancements: - Added beautiful ANSI art banner for usage display - Cleaned up usage messages, removed debug options from public view - Added contact email: tindevil82@gmail.com 🛠️ Technical Improvements: - Standardized encodeNBitUnsignedInteger naming across all Grammar states - Added comprehensive debug logging for bit-level operations - Enhanced binary output handling for Windows console redirection - Improved error reporting for encoding failures 📊 Verification Results: - test5.exi: 100% binary match between C, dotnet, and VC2022 - All 43 bytes identical: 80 98 02 10 50 90 8c 0c 0c 0e 0c 50 d1 00 32 01 86 00 20 18 - Grammar state machine now perfectly aligned with OpenV2G C implementation 🚀 Ready for expansion to additional V2G message types 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
81 lines
2.2 KiB
Plaintext
81 lines
2.2 KiB
Plaintext
=== 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: 1
|
|
CurrentDemandRes_isUsed: 0
|
|
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
|
|
|
|
--- CurrentDemandReq Details ---
|
|
DC_EVStatus.EVReady: 1
|
|
DC_EVStatus.EVErrorCode: 0
|
|
DC_EVStatus.EVRESSSOC: 100
|
|
EVTargetCurrent.Multiplier: 0
|
|
EVTargetCurrent.Unit: 3
|
|
EVTargetCurrent.Value: 1
|
|
EVMaximumVoltageLimit_isUsed: 1
|
|
EVMaximumVoltageLimit.Multiplier: 0
|
|
EVMaximumVoltageLimit.Unit: 4
|
|
EVMaximumVoltageLimit.Value: 471
|
|
EVMaximumCurrentLimit_isUsed: 1
|
|
EVMaximumCurrentLimit.Multiplier: 0
|
|
EVMaximumCurrentLimit.Unit: 3
|
|
EVMaximumCurrentLimit.Value: 100
|
|
EVMaximumPowerLimit_isUsed: 1
|
|
EVMaximumPowerLimit.Multiplier: 3
|
|
EVMaximumPowerLimit.Unit: 5
|
|
EVMaximumPowerLimit.Value: 50
|
|
BulkChargingComplete_isUsed: 1
|
|
BulkChargingComplete: 0
|
|
ChargingComplete: 1
|
|
RemainingTimeToFullSoC_isUsed: 1
|
|
RemainingTimeToFullSoC.Multiplier: 0
|
|
RemainingTimeToFullSoC.Unit: 2
|
|
RemainingTimeToFullSoC.Value: 0
|
|
RemainingTimeToBulkSoC_isUsed: 1
|
|
RemainingTimeToBulkSoC.Multiplier: 0
|
|
RemainingTimeToBulkSoC.Unit: 2
|
|
RemainingTimeToBulkSoC.Value: 0
|
|
EVTargetVoltage.Multiplier: 0
|
|
EVTargetVoltage.Unit: 4
|
|
EVTargetVoltage.Value: 460
|