- Remove completed/obsolete tasks from previous C# porting plan - Add detailed roadmap for implementing 11 core V2G message types - Prioritize DC charging essential messages (Phase 1: CableCheck, PreCharge, WeldingDetection, PowerDelivery) - Define implementation order: C → VC2022 → dotnet for consistency - Include infrastructure improvements and success metrics - Focus on XML parsing/generation as primary gap Next immediate step: CableCheckReq/Res implementation in C 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
4.6 KiB
V2G EXI Decoder - Development Roadmap
📋 Current Status & Next Steps
✅ Completed Tasks
- Clean output implementation for VC2022 -decode/-encode options
- Usage message standardization across versions
- DEBUG_PRINTF macro implementation for conditional debug output
- Comprehensive message implementation status analysis
- Documentation of current capabilities and gaps
- Multi-platform build verification (C, VC2022, dotnet)
🎯 Next Priority: V2G Message Implementation
Phase 1: DC Charging Core Messages (Highest Priority)
Implementation order: C → VC2022 → dotnet
-
CableCheckReq/Res - Cable insulation state verification
- C: XML parsing/generation logic
- C: EXI encoding/decoding integration
- VC2022: Port from C implementation
- dotnet: Port from C implementation
- Test with sample EXI files
-
PreChargeReq/Res - Pre-charging voltage matching
- C: XML parsing/generation logic
- C: EXI encoding/decoding integration
- VC2022: Port from C implementation
- dotnet: Port from C implementation
- Test with sample EXI files
-
WeldingDetectionReq/Res - Post-charging welding detection
- C: XML parsing/generation logic
- C: EXI encoding/decoding integration
- VC2022: Port from C implementation
- dotnet: Port from C implementation
- Test with sample EXI files
-
PowerDeliveryReq/Res - Charging start/stop control
- C: XML parsing/generation logic
- C: EXI encoding/decoding integration
- VC2022: Port from C implementation
- dotnet: Port from C implementation
- Test with sample EXI files
Phase 2: Session & Service Management (High Priority)
-
SessionSetupReq/Res - Charging session initialization
- C: XML parsing/generation logic
- VC2022: Port from C implementation
- dotnet: Port from C implementation
-
ServiceDiscoveryReq/Res - Available charging services discovery
- C: XML parsing/generation logic
- VC2022: Port from C implementation
- dotnet: Port from C implementation
-
AuthorizationReq/Res - Charging authorization verification
- C: XML parsing/generation logic
- VC2022: Port from C implementation
- dotnet: Port from C implementation
-
ChargeParameterDiscoveryReq/Res - Charging parameter exchange
- C: XML parsing/generation logic
- VC2022: Port from C implementation
- dotnet: Port from C implementation
Phase 3: Extended Features (Medium Priority)
-
PaymentServiceSelectionReq/Res - Payment method selection
- C: XML parsing/generation logic
- VC2022: Port from C implementation
- dotnet: Port from C implementation
-
ChargingStatusReq/Res - AC charging status (for AC support)
- C: XML parsing/generation logic
- VC2022: Port from C implementation
- dotnet: Port from C implementation
-
SessionStopReq/Res - Charging session termination
- C: XML parsing/generation logic
- VC2022: Port from C implementation
- dotnet: Port from C implementation
🔧 Infrastructure Improvements
Code Quality & Testing
- Implement comprehensive test suite for all message types
- Create sample EXI files for each message type
- Add roundtrip testing (EXI → XML → EXI validation)
- Performance benchmarking across versions
Build & Deployment
- Automate build process for all platforms
- Create release packaging scripts
- Add continuous integration pipeline
Documentation
- Create API documentation for each version
- Write usage examples for each message type
- Document ISO 15118-2 compliance status
📊 Success Metrics
Functional Requirements
- Support all 8 core DC charging messages
- Pass ISO 15118-2 compliance validation
- Maintain backward compatibility with existing CurrentDemand implementation
- Clean output for production use (no debug messages)
Quality Requirements
- 100% roundtrip accuracy (EXI → XML → EXI)
- Memory safety (no buffer overflows)
- Performance parity with original C implementation
- Consistent behavior across C/VC2022/dotnet versions
🎯 Current Focus
Immediate Next Step: Implement CableCheckReq/Res in original C version as foundation for other platform ports.
📝 Notes
- All message structures already exist in VC2022 and dotnet versions
- Focus on XML parsing/generation logic implementation
- Maintain DEBUG_PRINTF pattern for consistent debugging
- Test each message with real V2G communication scenarios