Servo Kernel
Pulse-width envelope, per-function trim and speed limiting — the low-level servo contract.
Pulse-width envelope
O kernel de servo mapeia um ângulo normalizado (−1…+1) para uma largura de pulso através de um envelope global definido por servoMinUs (padrão 988) e servoMaxUs (padrão 2012). Isso substituiu as antigas constantes de compilação, para que o curso de 0°/180° possa ser ajustado a qualquer servo sem recompilar. Os valores são limitados a [500…1490] e [1510…2500], com min < max garantido.
Per-function trim
servoTrimUs[] é uma correção por ServoFunc (±300 µs) aplicada após a mistura. Cobre o par de asas (índices 1/2), leme (3) e as asas traseiras (8/9). Use-o para zerar um desvio de meio dente no horn de uma única superfície — não para corrigir um desbalanceamento da aeronave, que pertence ao mixer ou ao giroscópio.
Speed limiting
Velocidade do servo limita a taxa de mudança de pulso por tick, suavizando reversões bruscas e protegendo as caixas de redução de cargas de impacto. É um passa-baixas sobre a posição comandada, então um valor baixo também suaviza a reversão do batimento — ajuste-o contra o clique no topo e na base do curso. Lento demais e a asa fica atrás da forma de onda; rápido demais e o impacto volta.
Para a lista completa de parâmetros de pulso/trim/velocidade e chaves JSON, veja a nota do servo-kernel no firmware e a referência da WebUI.