Files
V2GDecoderC/TODO.md
gram a40dd6ff9d docs: Update TODO.md with comprehensive V2G message implementation roadmap
- 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>
2025-09-11 23:52:35 +09:00

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

  1. 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
  2. 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
  3. 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
  4. 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)

  1. SessionSetupReq/Res - Charging session initialization

    • C: XML parsing/generation logic
    • VC2022: Port from C implementation
    • dotnet: Port from C implementation
  2. ServiceDiscoveryReq/Res - Available charging services discovery

    • C: XML parsing/generation logic
    • VC2022: Port from C implementation
    • dotnet: Port from C implementation
  3. AuthorizationReq/Res - Charging authorization verification

    • C: XML parsing/generation logic
    • VC2022: Port from C implementation
    • dotnet: Port from C implementation
  4. 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)

  1. PaymentServiceSelectionReq/Res - Payment method selection

    • C: XML parsing/generation logic
    • VC2022: Port from C implementation
    • dotnet: Port from C implementation
  2. ChargingStatusReq/Res - AC charging status (for AC support)

    • C: XML parsing/generation logic
    • VC2022: Port from C implementation
    • dotnet: Port from C implementation
  3. 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