diff --git a/src/html/elrs.css b/src/html/elrs.css
index 5e96ed4594..75a05df124 100644
--- a/src/html/elrs.css
+++ b/src/html/elrs.css
@@ -348,6 +348,13 @@ body, input, select, textarea {
}
/* Custom code for ExpressLRS PWM Output table */
+ .pwmpnl {
+ overflow-x: auto;
+ min-width: fit-content;
+ }
+ .pwmtbl table {
+ overflow-x: auto;
+ }
.pwmtbl th {
text-align: center;
font-weight: bold;
@@ -355,6 +362,10 @@ body, input, select, textarea {
.pwmtbl td {
text-align: center;
}
+ .pwmitm {
+ min-width: 6em;
+ white-space: nowrap;
+ }
/*==========================*/
diff --git a/src/html/index.html b/src/html/index.html
index 789bd42f8b..6647f46f0f 100644
--- a/src/html/index.html
+++ b/src/html/index.html
@@ -187,11 +187,22 @@
PWM Output
Input: Input channel from the handset
Invert: Invert input channel position
750us: Use half pulse width (494-1006us) with center 750us instead of 988-2012us
- Failsafe: Absolute position to set the servo on failsafe
+ Failsafe
- - Does not use "Invert" flag
- - Value will be halved if "750us" flag is set
- - Will be converted to binary for "On/Off" mode (>1500us = HIGH)
+ - "Set Position" sets the servo to an absolute "Failsafe Pos"
+
+ - Does not use "Invert" flag
+ - Value will be halved if "750us" flag is set
+ - Will be converted to binary for "On/Off" mode (>1500us = HIGH)
+
+
+ - "No Pulses" stops sending pulses
+
+ - Unpowers servos
+ - May disarm ESCs
+
+
+ - "Last Position" continues sending last received channel position
diff --git a/src/html/scan.js b/src/html/scan.js
index 95e79d2f6f..5855e1bc20 100644
--- a/src/html/scan.js
+++ b/src/html/scan.js
@@ -26,13 +26,15 @@ function getPwmFormData() {
const invert = _(`pwm_${ch}_inv`).checked ? 1 : 0;
const narrow = _(`pwm_${ch}_nar`).checked ? 1 : 0;
const failsafeField = _(`pwm_${ch}_fs`);
+ const failsafeModeField = _(`pwm_${ch}_fsmode`);
let failsafe = failsafeField.value;
if (failsafe > 2011) failsafe = 2011;
if (failsafe < 988) failsafe = 988;
failsafeField.value = failsafe;
+ let failsafeMode = failsafeModeField.value;
- const raw = (narrow << 19) | (mode << 15) | (invert << 14) | (inChannel << 10) | (failsafe - 988);
- // console.log(`PWM ${ch} mode=${mode} input=${inChannel} fs=${failsafe} inv=${invert} nar=${narrow} raw=${raw}`);
+ const raw = (narrow << 19) | (mode << 15) | (invert << 14) | (inChannel << 10) | (failsafeMode << 20) | (failsafe - 988);
+ // console.log(`PWM ${ch} mode=${mode} input=${inChannel} fs=${failsafe} fsmode=${failsafeMode} inv=${invert} nar=${narrow} raw=${raw}`);
outData.push(raw);
++ch;
}
@@ -41,7 +43,7 @@ function getPwmFormData() {
function enumSelectGenerate(id, val, arOptions) {
// Generate a