def09160d0
Bump the batch payload codec to schema v4 with separate meter-time and UTC anchors, then use meter seconds for sparse batch slotting and receiver reconstruction. Update the current 868 MHz bench configuration, allow ACKs from configured receiver short IDs, improve AP-to-STA recovery, quiet the test build, and document the changed protocol in the README.
56 lines
1.7 KiB
INI
56 lines
1.7 KiB
INI
; PlatformIO Project Configuration File
|
||
;
|
||
; Build targets:
|
||
; production – serial off, light-sleep on (normal deployment)
|
||
; debug – serial + meter diag + state tracing (real meter, real data)
|
||
; test – synthetic meter data + payload codec self-test (no real meter needed)
|
||
;
|
||
; LoRa frequency and sender IDs are configured in include/config.h,
|
||
; NOT via build flags. Change them there before building.
|
||
|
||
[env]
|
||
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.07/platform-espressif32.zip
|
||
board = ttgo-lora32-v1
|
||
framework = arduino
|
||
lib_deps =
|
||
sandeepmistry/LoRa@^0.8.0
|
||
bblanchon/ArduinoJson@^6.21.5
|
||
adafruit/Adafruit SSD1306@^2.5.9
|
||
adafruit/Adafruit GFX Library@^1.11.9
|
||
knolleary/PubSubClient@^2.8
|
||
throwtheswitch/Unity@^2.6.1
|
||
|
||
; --- Hardening flags for all builds ---
|
||
build_flags =
|
||
-fstack-protector-strong
|
||
-D_FORTIFY_SOURCE=2
|
||
-Wformat -Wformat-security
|
||
-Wno-format-truncation
|
||
|
||
; --- Production: serial off, light-sleep on ---
|
||
[env:production]
|
||
build_flags =
|
||
${env.build_flags}
|
||
-DSERIAL_DEBUG_MODE_FLAG=0
|
||
-DENABLE_LIGHT_SLEEP_IDLE=1
|
||
|
||
; --- Debug: serial + all diagnostics, real meter data ---
|
||
; Does NOT enable test mode — uses real meter + real LoRa.
|
||
[env:debug]
|
||
build_flags =
|
||
${env.build_flags}
|
||
-DSERIAL_DEBUG_MODE_FLAG=1
|
||
-DENABLE_LIGHT_SLEEP_IDLE=1
|
||
-DDEBUG_METER_DIAG
|
||
-DDD3_DEBUG
|
||
|
||
; --- Test: synthetic meter samples, payload codec self-test at boot ---
|
||
; Replaces real meter reading with fake 1 Hz data and publishes to test MQTT topic.
|
||
; Use for bench testing without a physical meter attached.
|
||
[env:test]
|
||
build_flags =
|
||
${env.build_flags}
|
||
-DSERIAL_DEBUG_MODE_FLAG=0
|
||
-DENABLE_TEST_MODE
|
||
-DPAYLOAD_CODEC_TEST
|