Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces support for extracting and packaging detailed device and firmware information for multiple ESP32 variants, and automates the creation and distribution of "factory flash" packages with clear flashing instructions. It also adds a new protobuf definition for device information, updates versioning, and extends the
DTUInterfaceto handle richer device metadata.Factory Flash Packaging and Workflow Enhancements:
dev_build.ymlandmain_build.ymlGitHub Actions workflows to create, document, and upload "factory flash" packages (ZIP archives) for ESP32, ESP32-S3, and ESP32-S3 16MB variants, including step-by-step flashing instructions for each hardware type. [1] [2] [3] [4] [5] [6]Device Information Protocol and Data Structure Updates:
APPInformationData.proto, and its nanopb options, enabling structured transfer of device, meter, and inverter information. [1] [2]inverterDatastruct indtuInterface.hto store DTU and inverter firmware versions, inverter model, and validity flags for this metadata, supporting richer device introspection.DTUInterface API and State Machine Extensions:
DTUInterfacefor periodically requesting and parsing device information, formatting firmware versions, and mapping serial numbers to inverter models; also introduced a new state constant to manage waiting for application information responses. [1] [2] [3] [4]APPInformationData.pb.hindtuInterface.hto support the new protocol features.