feat: Add enhanced EXI viewer with XML decode capability
- Implement complete CurrentDemandReq/CurrentDemandRes parsing (24 total fields) - Add enhanced_exi_viewer.c with detailed message analysis - Support -decode option for clean XML output (file-ready format) - Enable ISO1, ISO2, DIN codec support in build configuration - Fix C99 compatibility issues in makefiles (change -ansi to -std=c99) - Create test utilities for hex string to EXI conversion - Generate test files: test3.exi (CurrentDemandRes), test4.exi (CurrentDemandReq) Features: * Dual output modes: detailed analysis (default) vs XML (-decode) * Complete V2G message type detection and parsing * Session ID display in hex and ASCII formats * Voltage/current/power readings with proper units * All optional fields and status flags supported 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
53
test4.xml
Normal file
53
test4.xml
Normal file
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<V2G_Message xmlns="urn:iso:15118:2:2013:MsgDef"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<Header>
|
||||
<SessionID>4142423030303831</SessionID>
|
||||
</Header>
|
||||
<Body>
|
||||
<CurrentDemandReq>
|
||||
<DC_EVStatus>
|
||||
<EVReady>true</EVReady>
|
||||
<EVErrorCode>0</EVErrorCode>
|
||||
<EVRESSSOC>100</EVRESSSOC>
|
||||
</DC_EVStatus>
|
||||
<EVTargetCurrent>
|
||||
<Multiplier>0</Multiplier>
|
||||
<Unit>3</Unit>
|
||||
<Value>5</Value>
|
||||
</EVTargetCurrent>
|
||||
<EVTargetVoltage>
|
||||
<Multiplier>0</Multiplier>
|
||||
<Unit>4</Unit>
|
||||
<Value>460</Value>
|
||||
</EVTargetVoltage>
|
||||
<EVMaximumVoltageLimit>
|
||||
<Multiplier>0</Multiplier>
|
||||
<Unit>4</Unit>
|
||||
<Value>471</Value>
|
||||
</EVMaximumVoltageLimit>
|
||||
<EVMaximumCurrentLimit>
|
||||
<Multiplier>0</Multiplier>
|
||||
<Unit>3</Unit>
|
||||
<Value>100</Value>
|
||||
</EVMaximumCurrentLimit>
|
||||
<EVMaximumPowerLimit>
|
||||
<Multiplier>3</Multiplier>
|
||||
<Unit>5</Unit>
|
||||
<Value>50</Value>
|
||||
</EVMaximumPowerLimit>
|
||||
<BulkChargingComplete>false</BulkChargingComplete>
|
||||
<ChargingComplete>true</ChargingComplete>
|
||||
<RemainingTimeToFullSoC>
|
||||
<Multiplier>0</Multiplier>
|
||||
<Unit>2</Unit>
|
||||
<Value>0</Value>
|
||||
</RemainingTimeToFullSoC>
|
||||
<RemainingTimeToBulkSoC>
|
||||
<Multiplier>0</Multiplier>
|
||||
<Unit>2</Unit>
|
||||
<Value>0</Value>
|
||||
</RemainingTimeToBulkSoC>
|
||||
</CurrentDemandReq>
|
||||
</Body>
|
||||
</V2G_Message>
|
||||
Reference in New Issue
Block a user