Подготовка к ролям TX/RX: выделяю из монолитного main.cpp
переиспользуемые части без изменения поведения.
- sbus.{h,cpp}: упаковка 25-байтового SBUS-кадра, инициализация и
вывод инвертированного SBUS на USART1 (PA9) — единственный владелец
провода к драйверу, общий для будущих ролей.
- stick.{h,cpp}: калибровка стика, нормализация осей и профиль
газа/поворота, формирование ch[16]. Неиспользованные в прежнем loop
expo()/toSbus() и мёртвые константы не переносятся.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
13 lines
782 B
C
13 lines
782 B
C
// Пульт: чтение стика (АЦП PA0/PA1), калибровка, профиль газа/поворота и
|
|
// формирование значений SBUS-каналов. Вся «логика пульта» живёт здесь.
|
|
// Компилируется только для роли TX (см. build_src_filter в platformio.ini).
|
|
#pragma once
|
|
#include <stdint.h>
|
|
|
|
// Инициализация АЦП-входов стика.
|
|
void stickInit();
|
|
|
|
// Прочитать стик и заполнить ch[16] значениями SBUS-каналов (нейтраль + ch2/ch4).
|
|
// Возвращает по ссылкам нормализованные оси для отладки.
|
|
void stickComputeChannels(uint16_t ch[16], float *fwdOut, float *rightOut);
|