; Две роли одной прошивки тележки, выбираются на этапе сборки: ; pio run -e cart_tx — пульт -> локальный SBUS + отправка по USB на ПК ; pio run -e cart_rx — приём по USB с ПК -> SBUS на драйвер колёс ; Роль публикуется в USB product string (CART-TX / CART-RX), по которой ПК-сервер ; (tools/bridge.py) находит нужный порт. Общий код (sbus, usb_link) собирается в ; оба env; специфичный — через build_src_filter, без мёртвого кода неактивной роли. [env] platform = ststm32 board = genericSTM32G431CB framework = arduino upload_protocol = stlink debug_tool = stlink monitor_speed = 115200 build_flags = -DUSBCON -DUSBD_USE_CDC build_src_filter = -<*> + + [env:cart_tx] build_flags = ${env.build_flags} -DCART_ROLE_TX -DUSB_PRODUCT_STRING="\"CART-TX\"" build_src_filter = ${env.build_src_filter} + + [env:cart_rx] build_flags = ${env.build_flags} -DCART_ROLE_RX -DUSB_PRODUCT_STRING="\"CART-RX\"" build_src_filter = ${env.build_src_filter} +