Skip to content

Commit d9f81d8

Browse files
committed
Add Power Limiting UI to Configuration tab
Add user interface for configuring power and current limiting settings in the Configurator's Configuration tab. These settings have existed in the firmware since INAV 3.0.0 but were not exposed in the GUI. Changes: - Added Power Limiting section to configuration.html after Battery settings - Added 8 input fields for power limit configuration: * Current limits: continuous, burst, burst time, falldown time * Power limits: continuous, burst, burst time, falldown time - Added comprehensive i18n strings in locale/en/messages.json - All inputs use batteryProfileHighlight class (part of battery profile) - All settings use data-setting-placeholder for auto-sync with firmware UI Features: - Help tooltips for each setting explaining units and examples - Info note explaining feature requires current sensor - Settings grouped logically (current limits, then power limits) - Units clearly shown: dA (deci-amps), dW (deci-watts), ds (deci-seconds) Users can now easily configure battery protection without using CLI. Settings are stored in battery profiles allowing different limits per battery type. Related: - INAV PR #6929 (original power limits implementation) - INAV PR #11187 (documentation)
1 parent af3f959 commit d9f81d8

File tree

2 files changed

+131
-0
lines changed

2 files changed

+131
-0
lines changed

locale/en/messages.json

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1077,6 +1077,63 @@
10771077
"configurationBatteryCapacityUnit": {
10781078
"message": "Battery Capacity Unit"
10791079
},
1080+
"configurationPowerLimits": {
1081+
"message": "Power Limiting"
1082+
},
1083+
"configurationPowerLimitsHelp": {
1084+
"message": "Limit battery current and power draw to protect your battery and ESCs. Set to 0 to disable. Units: dA (deci-amps) = A×10, dW (deci-watts) = W×10, ds (deci-seconds) = s×10."
1085+
},
1086+
"configurationPowerLimitsNote": {
1087+
"message": "Protects battery from over-current by smoothly reducing throttle. Requires current sensor. Set continuous and burst limits per your battery specs."
1088+
},
1089+
"configurationLimitContCurrent": {
1090+
"message": "Continuous Current Limit (dA)"
1091+
},
1092+
"configurationLimitContCurrentHelp": {
1093+
"message": "Maximum sustained current draw in deci-amps (dA). Example: 500 = 50A. Set to 0 to disable current limiting."
1094+
},
1095+
"configurationLimitBurstCurrent": {
1096+
"message": "Burst Current Limit (dA)"
1097+
},
1098+
"configurationLimitBurstCurrentHelp": {
1099+
"message": "Higher current allowed for short bursts (punch-outs, climbs). Example: 750 = 75A. Should be >= continuous limit."
1100+
},
1101+
"configurationLimitBurstCurrentTime": {
1102+
"message": "Burst Time (ds)"
1103+
},
1104+
"configurationLimitBurstCurrentTimeHelp": {
1105+
"message": "Duration burst current is allowed in deci-seconds (ds). Example: 100 = 10 seconds. After this time, limit falls to continuous."
1106+
},
1107+
"configurationLimitBurstCurrentFalldownTime": {
1108+
"message": "Burst Falldown Time (ds)"
1109+
},
1110+
"configurationLimitBurstCurrentFalldownTimeHelp": {
1111+
"message": "Smooth ramp-down time from burst to continuous limit in deci-seconds (ds). Example: 20 = 2 seconds."
1112+
},
1113+
"configurationLimitContPower": {
1114+
"message": "Continuous Power Limit (dW)"
1115+
},
1116+
"configurationLimitContPowerHelp": {
1117+
"message": "Maximum sustained power draw in deci-watts (dW). Example: 8000 = 800W. Set to 0 to disable power limiting. Requires voltage measurement."
1118+
},
1119+
"configurationLimitBurstPower": {
1120+
"message": "Burst Power Limit (dW)"
1121+
},
1122+
"configurationLimitBurstPowerHelp": {
1123+
"message": "Higher power allowed for short bursts. Example: 10000 = 1000W. Should be >= continuous limit."
1124+
},
1125+
"configurationLimitBurstPowerTime": {
1126+
"message": "Burst Time (ds)"
1127+
},
1128+
"configurationLimitBurstPowerTimeHelp": {
1129+
"message": "Duration burst power is allowed in deci-seconds (ds). Example: 50 = 5 seconds."
1130+
},
1131+
"configurationLimitBurstPowerFalldownTime": {
1132+
"message": "Burst Falldown Time (ds)"
1133+
},
1134+
"configurationLimitBurstPowerFalldownTimeHelp": {
1135+
"message": "Smooth ramp-down time from burst to continuous power limit in deci-seconds (ds). Example: 10 = 1 second."
1136+
},
10801137
"configurationLaunch": {
10811138
"message": "Fixed Wing Auto Launch Settings"
10821139
},

tabs/configuration.html

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,80 @@
197197
</div>
198198
</div>
199199

200+
<div class="config-section gui_box grey">
201+
<div class="gui_box_titlebar">
202+
<div class="spacer_box_title" data-i18n="configurationPowerLimits"></div>
203+
<div class="helpicon cf_tip" data-i18n_title="configurationPowerLimitsHelp"></div>
204+
</div>
205+
<div class="spacer_box">
206+
<div class="note">
207+
<div class="note_spacer">
208+
<p data-i18n="configurationPowerLimitsNote"></p>
209+
</div>
210+
</div>
211+
212+
<!-- Current Limits -->
213+
<div class="number">
214+
<input type="number" class="batteryProfileHighlight" id="limit_cont_current" name="limit_cont_current" step="1" min="0" max="2000" data-setting-placeholder="limit_cont_current" />
215+
<label for="limit_cont_current">
216+
<span data-i18n="configurationLimitContCurrent"></span>
217+
</label>
218+
<div for="limit_cont_current" class="helpicon cf_tip" data-i18n_title="configurationLimitContCurrentHelp"></div>
219+
</div>
220+
<div class="number">
221+
<input type="number" class="batteryProfileHighlight" id="limit_burst_current" name="limit_burst_current" step="1" min="0" max="2000" data-setting-placeholder="limit_burst_current" />
222+
<label for="limit_burst_current">
223+
<span data-i18n="configurationLimitBurstCurrent"></span>
224+
</label>
225+
<div for="limit_burst_current" class="helpicon cf_tip" data-i18n_title="configurationLimitBurstCurrentHelp"></div>
226+
</div>
227+
<div class="number">
228+
<input type="number" class="batteryProfileHighlight" id="limit_burst_current_time" name="limit_burst_current_time" step="1" min="0" max="600" data-setting-placeholder="limit_burst_current_time" />
229+
<label for="limit_burst_current_time">
230+
<span data-i18n="configurationLimitBurstCurrentTime"></span>
231+
</label>
232+
<div for="limit_burst_current_time" class="helpicon cf_tip" data-i18n_title="configurationLimitBurstCurrentTimeHelp"></div>
233+
</div>
234+
<div class="number">
235+
<input type="number" class="batteryProfileHighlight" id="limit_burst_current_falldown_time" name="limit_burst_current_falldown_time" step="1" min="0" max="600" data-setting-placeholder="limit_burst_current_falldown_time" />
236+
<label for="limit_burst_current_falldown_time">
237+
<span data-i18n="configurationLimitBurstCurrentFalldownTime"></span>
238+
</label>
239+
<div for="limit_burst_current_falldown_time" class="helpicon cf_tip" data-i18n_title="configurationLimitBurstCurrentFalldownTimeHelp"></div>
240+
</div>
241+
242+
<!-- Power Limits -->
243+
<div class="number">
244+
<input type="number" class="batteryProfileHighlight" id="limit_cont_power" name="limit_cont_power" step="1" min="0" max="20000" data-setting-placeholder="limit_cont_power" />
245+
<label for="limit_cont_power">
246+
<span data-i18n="configurationLimitContPower"></span>
247+
</label>
248+
<div for="limit_cont_power" class="helpicon cf_tip" data-i18n_title="configurationLimitContPowerHelp"></div>
249+
</div>
250+
<div class="number">
251+
<input type="number" class="batteryProfileHighlight" id="limit_burst_power" name="limit_burst_power" step="1" min="0" max="20000" data-setting-placeholder="limit_burst_power" />
252+
<label for="limit_burst_power">
253+
<span data-i18n="configurationLimitBurstPower"></span>
254+
</label>
255+
<div for="limit_burst_power" class="helpicon cf_tip" data-i18n_title="configurationLimitBurstPowerHelp"></div>
256+
</div>
257+
<div class="number">
258+
<input type="number" class="batteryProfileHighlight" id="limit_burst_power_time" name="limit_burst_power_time" step="1" min="0" max="600" data-setting-placeholder="limit_burst_power_time" />
259+
<label for="limit_burst_power_time">
260+
<span data-i18n="configurationLimitBurstPowerTime"></span>
261+
</label>
262+
<div for="limit_burst_power_time" class="helpicon cf_tip" data-i18n_title="configurationLimitBurstPowerTimeHelp"></div>
263+
</div>
264+
<div class="number">
265+
<input type="number" class="batteryProfileHighlight" id="limit_burst_power_falldown_time" name="limit_burst_power_falldown_time" step="1" min="0" max="600" data-setting-placeholder="limit_burst_power_falldown_time" />
266+
<label for="limit_burst_power_falldown_time">
267+
<span data-i18n="configurationLimitBurstPowerFalldownTime"></span>
268+
</label>
269+
<div for="limit_burst_power_falldown_time" class="helpicon cf_tip" data-i18n_title="configurationLimitBurstPowerFalldownTimeHelp"></div>
270+
</div>
271+
</div>
272+
</div>
273+
200274
<div class="config-section gui_box grey config-vtx">
201275
<div class="gui_box_titlebar">
202276
<div class="spacer_box_title" data-i18n="configurationVTX"></div>

0 commit comments

Comments
 (0)