diff --git a/scripts/generate_csv_and_headers.sh b/scripts/generate_csv_and_headers.sh new file mode 100644 index 000000000..fc2254ea5 --- /dev/null +++ b/scripts/generate_csv_and_headers.sh @@ -0,0 +1,64 @@ +#!/bin/sh + +# Builds the dump_*.csv files, modbus headers and modbus documentation. +# Run as `sh scripts/generate_csv_and_headers.sh` from the root of the repository. + +## +## IMPORTANT NOTE! +## This script is not used anymore. It is kept for reference only. +## It has been replaced with two pio targets: build_modbus and build_standalone. +## + +# create a dummy modbus_entity_parameters.hpp so the first pass compiles +cat >./src/core/modbus_entity_parameters.hpp < Modbus::modbus_register_mappings = {}; + +} // namespace emsesp + +// clang-format on + +EOL + +# First generate Modbus entity parameters +# build the modbus_entity_parameters.hpp header file +make clean +make -s ARGS=-DEMSESP_MODBUS +rm -f ./src/core/modbus_entity_parameters.hpp ./docs/dump_entities.csv +echo "test entity_dump" | ./emsesp | python3 ./scripts/strip_csv.py > ./docs/dump_entities.csv +cat ./docs/dump_entities.csv | python3 ./scripts/update_modbus_registers.py > ./src/core/modbus_entity_parameters.hpp + +# regenerate dump_entities.csv but without the Modbus entity parameters +make clean +make -s ARGS=-DEMSESP_STANDALONE +rm -f ./docs/dump_entities.csv +echo "test entity_dump" | ./emsesp | python3 ./scripts/strip_csv.py > ./docs/dump_entities.csv + +# generate Modbus doc - Modbus-Entity-Registers.md used in the emsesp.org documentation +rm -f ./docs/Modbus-Entity-Registers.md +cat ./docs/dump_entities.csv | python3 ./scripts/generate-modbus-register-doc.py > ./docs/Modbus-Entity-Registers.md + +# dump_telegrams.csv +rm -f ./docs/dump_telegrams.csv +echo "test telegram_dump" | ./emsesp | python3 ./scripts/strip_csv.py > ./docs/dump_telegrams.csv + +ls -al ./src/core/modbus_entity_parameters.hpp +ls -al ./docs/Modbus-Entity-Registers.md +ls -al ./docs/dump_entities.csv +ls -al ./docs/dump_telegrams.csv \ No newline at end of file