- Add CurrentDemandRes parsing support to parse_xml_to_iso1()
- Fix namespace-aware XML parsing using find_tag_content_ns()
- Set EVSEIsolationStatus_isUsed flag for proper EXI encoding
- Complete round-trip XML↔EXI conversion with 100% accuracy
- Support both CurrentDemandReq and CurrentDemandRes message types
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements to XML parsing for perfect round-trip EXI encoding:
- **Namespace-aware XML parsing**: Handle ns1:, ns2:, ns3:, ns4: prefixed tags
- **Enhanced find_tag_content()**: Auto-detect namespaced and regular tags
- **Improved find_tag_in_section()**: Process PhysicalValue tags with namespaces
- **SessionID namespace support**: Parse both <SessionID> and <ns2:SessionID>
- **Perfect round-trip encoding**: XML → EXI → XML with 100% binary accuracy
Test results:
✅ test3.exi: 43 bytes - perfect decode/encode
✅ test4.xml: Perfect XML→EXI→XML round-trip
✅ test5.exi: 43 bytes - identical binary reconstruction
✅ All Unit values preserved as numbers (3=A, 4=V, 5=W, 2=s)
✅ EVErrorCode preserved as numbers (0 instead of NO_ERROR)
The enhanced_exi_viewer now supports complete bidirectional
EXI ↔ XML conversion with namespace-aware parsing.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove get_unit_string() and get_error_string() helper functions
- Output Unit values as numbers (3=A, 4=V, 5=W, 2=s) instead of letters
- Output EVErrorCode as numbers (0) instead of strings (NO_ERROR)
- Maintain compatibility with Wireshark XML format structure
- Add build.bat for easy compilation
- Improve SessionID parsing for namespaced XML tags
This ensures decoded EXI outputs preserve original numeric values
rather than converting them to human-readable strings.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove unused XML output modes (ISO1, ISO2), keep only Wireshark-style output
- Integrate encoding functionality from enhanced_exi_viewer_simple
- Single executable now supports both encoding and decoding:
* -decode: Convert EXI to Wireshark-style XML with ns1-4 prefixes
* -encode: Convert XML to EXI format
* default: Detailed EXI analysis mode
- Support for both standard XML tags and namespaced (ns3:) tags in encoding
- String conversion for units (A, V, W, s) and error codes (NO_ERROR)
- Compact XML output matching Wireshark format exactly
- Clean up old test files and separate tools
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 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>