diff --git a/templates/editor.html b/templates/editor.html index bf7e547..295b00c 100644 --- a/templates/editor.html +++ b/templates/editor.html @@ -759,13 +759,48 @@ function editCardProps(id) { `` ).join(''); - let extraFields = ''; + // Build Modbus address options + const modbusRegOpts = [ + {label:'-- None --', value:''}, + {label:'%MW0 - Heat Input Temp', value:'MW0'}, + {label:'%MW1 - Product 1 Temp', value:'MW1'}, + {label:'%MW2 - Product 2 Temp', value:'MW2'}, + {label:'%MW3 - Exhaust Temp', value:'MW3'}, + {label:'%MW10 - Heat SP', value:'MW10'}, + {label:'%MW11 - Prod1 SP', value:'MW11'}, + {label:'%MW12 - Prod2 SP', value:'MW12'}, + {label:'%MW13 - Exhaust SP', value:'MW13'}, + {label:'%MW20 - Fan Speed', value:'MW20'}, + {label:'%MW21 - Conveyor Speed', value:'MW21'}, + {label:'%MW22 - Agitator 1 Speed', value:'MW22'}, + {label:'%MW23 - Agitator 2 Speed', value:'MW23'}, + {label:'%MW24 - Spinner Speed', value:'MW24'}, + {label:'%MW25 - Heater Stage', value:'MW25'}, + {label:'%M1 - Discharge Agitator', value:'M1'}, + {label:'%M2 - Brush', value:'M2'}, + {label:'%M3 - Loading Conveyor', value:'M3'}, + {label:'%M4 - Discharge Conveyor', value:'M4'}, + {label:'%M5 - Mill', value:'M5'}, + {label:'%M6 - Shaker Separator', value:'M6'}, + {label:'Custom Register', value:'custom'}, + ].map(o => ``).join(''); + + let extraFields = ` +
+ + +
`; + if (card.type === 'temp') { - extraFields = ` + extraFields += `
°C
`; } else if (card.type === 'motor') { - extraFields = ` + extraFields += `
%
`; + } else if (card.type === 'output' || card.type === 'burner') { + extraFields += ` +
+
`; } p.innerHTML = ` @@ -842,9 +877,14 @@ function saveCardProps(id) { card.activeColor = document.getElementById('prop-activecolor').value || null; card.inactiveColor = document.getElementById('prop-inactivecolor').value || null; card.fontSize = parseInt(document.getElementById('prop-fontsize').value) || 18; + card.modbusAddr = document.getElementById('prop-modbus').value || null; const spEl = document.getElementById('prop-sp'); if (spEl) card.sp_default = parseInt(spEl.value) || 0; + const onEl = document.getElementById('prop-onval'); + if (onEl) card.onValue = parseInt(onEl.value); + const offEl = document.getElementById('prop-offval'); + if (offEl) card.offValue = parseInt(offEl.value); closePopup(); renderCards();