# Mandel settings expansion October 24, 2026: completed the new Well/Tank/Filter Differential pressure UI and dedicated Alarms settings page. See [MANDEL-PRESSURE.md](MANDEL-PRESSURE.md) for exact mappings, 81 polling updates, 21 new HMI alarms and verification limits. User confirmed psi. Live data remains unavailable; no PLC settings or values were written. Later simulation testing, lighting controls, washer digital-limit feedback, and Copy/Paste discoveries are recorded in [ATOMHMI-PLAYBOOK.md](ATOMHMI-PLAYBOOK.md). The verification below describes the earlier build before those tests. Updated October 20, 2026. The pressure-washer sensor is not active yet, as confirmed by the owner. Its pressure reading is not a commissioning reference. ## Delivered adjustments | Page | Editable settings | | --- | --- | | Chicken Coop | Heating setpoint, cooling setpoint, daily fan target (hours); four temperature alarm thresholds and low/high reset hysteresis | | Air Compressor | Auto/Manual selector; four pressure alarm thresholds and low/high reset hysteresis | | Pressure Washer | Auto/Manual selector; four pressure alarm thresholds and low/high reset hysteresis; inactive-sensor commissioning note | | Ventilation | House fan speed (0–100%); four negative-pressure alarm thresholds and low/high reset hysteresis | | Water Usage | Four house-flow alarm thresholds and low/high reset hysteresis | Tap a bordered numeric value, enter a new value, and press Save to apply it. Cancel leaves the controller value unchanged. Auto/Manual switches apply their selected mode. Existing Start/Stop buttons remain available on the compressor and washer pages. All existing threshold values, operating modes, and alarm-enable logic were preserved during this build. Exposing editable settings did not apply new setpoints or switch modes. ## Register mapping For each prefix below, Low, Low-Low, High, and High-High threshold fields read and write the corresponding `_limits__in_sp` register, where level is `lo`, `lolo`, `hi`, or `hihi`. Low/High Reset Hysteresis fields use `_limits_lo_in_hyst` and `_limits_hi_in_hyst`. | Page | Prefix | Display units | | --- | --- | --- | | Air Compressor | `g_airPressure` | psi | | Pressure Washer | `g_pressureWasherPres` | psi; sensor inactive | | Chicken Coop | `g_coopTemp` | °C | | Ventilation | `g_negAirPres` | PLC engineering units (EU) | | Water Usage | `g_houseFlow` | PLC engineering units (EU) | The Manage Alarms catalog contains corresponding High, High-High, Low, and Low-Low alarm records for all five groups. These are alarm adjustments, not invented operating-pressure controls. Alarm activation still follows the controller's existing enable configuration. Additional controls: - Heating setpoint: `main:g_coopHeatSP`, direct numeric read/write. - Cooling setpoint: `main:g_coopCoolSP`, direct numeric read/write. - Daily fan target: `main:g_coopDailyFanDur`, displayed as register / 3,600,000 and written as user value × 3,600,000. Entry range 0–24 hours. - House fan speed: `main:g_houseFanSpeed`, direct numeric read/write with entry range 0–100%. - Compressor mode: `main:g_airCompressor_in_autoMode`, Auto = 1, Manual = 0. - Washer mode: `main:g_pressureWasher_in_autoMode`, Auto = 1, Manual = 0. Enabled polling for the 30 threshold/hysteresis registers and the two mode registers. Existing coop setpoint and fan-speed registers were already enabled. This changes register availability, not the PLC's alarm-enable settings. ## Verification - Observed page-save confirmations and reopened all five saved runtime pages. - Heating entry opened with its existing value of 10 °C, then was cancelled. - High-High temperature alarm entry opened at its existing 35 °C, then was cancelled. - Daily fan entry opened at 1 hour and showed 0–24 hour limits, then was cancelled. - Fan-speed entry opened at 0% and showed 0–100% limits, then was cancelled. - Checked the saved threshold readouts and Auto/Manual selectors without toggling modes. - No PLC register values were written, no alarm thresholds were changed, and no equipment commands were run. The write targets and conversion expressions were configured and reviewed; a submitted write was not tested. Alarm numeric fields preserve signed engineering values and do not enforce cross-field ordering. They should be set coherently for the installation. No arbitrary alarm bounds, delay-unit conversions, or sensor calibration changes were introduced. Screenshots and the alarm/register audit are under `artifacts/mandel/` with `settings` in their filenames. The Chicken Coop page is left open for review.