Customer Builds and JSON-Driven Selection
Like file system, logger, and time service, the protocol plane uses per-customer JSON + generated headers. The difference from a naive “pick A or B” model:
protocol_config.json can enable several protocol entries at once (use: true on RigelMq, Orion TLV, ZD, Metallix…). Each brings its own
protocolFunc hooks and connection defaults; the script composes INIT_PROTOCOLS so init/start run in order. Multiple sensors are not an afterthought—each active protocol names a
linkedSensorName; the union drives INIT_SENSORS. One customer folder, one generator run, one firmware personality—spelled out in JSON.
AppMeterOperations.