- No unused parameters or dead arrays.
- No misleading field names.
- No heavy dynamic allocation in AVR/Tiny mode.
-
Stringhelpers are guarded byPWP_ENABLE_STRING_OUTPUT. -
toCsv(char*, size_t)is the default example output path. - CRC-16 profile import rejects corrupted data.
- Filtering behavior is documented and smoke-tested.
- Conductivity trend is not presented as EC/salinity/freezing-point.
- Every example lives in
examples/ExampleName/ExampleName.ino. - Every example is dependency-free by default.
- Shared pins come from
examples/PwpExamplePins.h. - Shared helpers come from
examples/PwpExampleUtils.h. - Serial wait has a timeout.
-
PULSED_HIGH_ONLYandPULSED_HIGH_LOWuse different acquisition paths. - AVR-facing CSV output uses bounded buffers sized by
PWP_CSV_BUFFER_SIZE.
-
library.propertiesexists in repository root. -
src/PulseWetProbe.his the public header. -
library.properties,library.json,CITATION.cff, README, CHANGELOG, and release notes versions match. - Git tag matches
library.propertiesversion, for examplev0.3.7.
- Arduino Lint strict Library Manager mode passes.
-
arduino/compile-sketchesmatrix passes. - Host smoke tests pass.
- AVR compile/memory output is reviewed.
- Dry/wet plate CSV and plot.
- Soil trend CSV and plot.
- Brine-like trend CSV and plot only if public docs highlight it.
- ESP32 touch hardware evidence if highlighted.
- Wiring and resistor values recorded.
- No certified RWIS claim.
- No exact EC/salinity claim.
- No freezing-point detection claim.
- No guaranteed corrosion-free behavior claim.
- Diagnostics described as heuristic/trend-based.