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:
2025-09-09 23:46:47 +09:00
commit 7edb3cde54
172 changed files with 249903 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
src/appHandshake/appHandEXIDatatypes.d: \
../src/appHandshake/appHandEXIDatatypes.c \
../src/appHandshake/appHandEXIDatatypes.h ../src/codec/EXITypes.h \
../src/codec/EXIConfig.h
../src/appHandshake/appHandEXIDatatypes.h:
../src/codec/EXITypes.h:
../src/codec/EXIConfig.h:

Binary file not shown.

View File

@@ -0,0 +1,25 @@
src/appHandshake/appHandEXIDatatypesDecoder.d: \
../src/appHandshake/appHandEXIDatatypesDecoder.c \
../src/appHandshake/appHandEXIDatatypesDecoder.h ../src/codec/EXITypes.h \
../src/codec/EXIConfig.h ../src/appHandshake/appHandEXIDatatypes.h \
../src/codec/DecoderChannel.h ../src/codec/EXIOptions.h \
../src/codec/EXITypes.h ../src/codec/EXIHeaderDecoder.h \
../src/codec/ErrorCodes.h
../src/appHandshake/appHandEXIDatatypesDecoder.h:
../src/codec/EXITypes.h:
../src/codec/EXIConfig.h:
../src/appHandshake/appHandEXIDatatypes.h:
../src/codec/DecoderChannel.h:
../src/codec/EXIOptions.h:
../src/codec/EXITypes.h:
../src/codec/EXIHeaderDecoder.h:
../src/codec/ErrorCodes.h:

Binary file not shown.

View File

@@ -0,0 +1,22 @@
src/appHandshake/appHandEXIDatatypesEncoder.d: \
../src/appHandshake/appHandEXIDatatypesEncoder.c \
../src/appHandshake/appHandEXIDatatypesEncoder.h ../src/codec/EXITypes.h \
../src/codec/EXIConfig.h ../src/appHandshake/appHandEXIDatatypes.h \
../src/codec/EncoderChannel.h ../src/codec/EXITypes.h \
../src/codec/EXIHeaderEncoder.h ../src/codec/ErrorCodes.h
../src/appHandshake/appHandEXIDatatypesEncoder.h:
../src/codec/EXITypes.h:
../src/codec/EXIConfig.h:
../src/appHandshake/appHandEXIDatatypes.h:
../src/codec/EncoderChannel.h:
../src/codec/EXITypes.h:
../src/codec/EXIHeaderEncoder.h:
../src/codec/ErrorCodes.h:

Binary file not shown.

View File

@@ -0,0 +1,30 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../src/appHandshake/appHandEXIDatatypes.c \
../src/appHandshake/appHandEXIDatatypesDecoder.c \
../src/appHandshake/appHandEXIDatatypesEncoder.c
OBJS += \
./src/appHandshake/appHandEXIDatatypes.o \
./src/appHandshake/appHandEXIDatatypesDecoder.o \
./src/appHandshake/appHandEXIDatatypesEncoder.o
C_DEPS += \
./src/appHandshake/appHandEXIDatatypes.d \
./src/appHandshake/appHandEXIDatatypesDecoder.d \
./src/appHandshake/appHandEXIDatatypesEncoder.d
# Each subdirectory must supply rules for building sources it contributes
src/appHandshake/%.o: ../src/appHandshake/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"../src/codec" -I"../src/din" -I"../src/iso1" -I"../src/iso2" -I"../src/xmldsig" -I"../src/appHandshake" -I"../src/transport" -I"../src/test" -O0 -g3 -Wall -c -fmessage-length=0 -std=c99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '