Guide: How to set up the Softserial UART

        What is Softserial?

        Softserial is the abbreviation from “Software Serial” and it is software emulated serial port. In softserial port all the communication control: sending/receiving bytes is performed by software versus the hardware serial ports that have built in hardware for communication control. This means softserial ports adds heavier load on the MCU. However some of the peripherals don’t need constant communication with the flight controller and sends/receives the data occasionally. A perfect example is SmartAudio VTX control, that is used to change the VTX settings only when aircraft is disarmed. 

        Advantages of the Softserial

        The one advantage of soft serial is the possibility to invert the signal via software. This is useful for SmartPort, as you no longer have to hack the signal wire to the inverted output on the receiver.

        The other advantage of the software serial is the possibility to setup the port on flight controllers unused pads. You can increase the number of serial ports and connect additional devices.

        Also worth mentioning that Softserial can be configured only on one signal line for output or input (TX or RX). For instance SmartAudio uses only one wire (TX) to communicate with the FC, so you need only the one additional pad to connect the VTX SmartAudio control. 

        Disadvantages of the Softserial

        With all those great advantages, software serial has some limitations and downsides. First of all the softserial does not work on all flight controller outputs. And it varies from one flight controller to another. You need to try the sofserial on the desired FC output in order to know if it works with your FC. Usually motor5-8 or PWM5-8 or also called S5-S8 and PPM outputs work without problems with softserial, but you need to try.

        Another disadvantage is the limitation of the bandwidth. Software serial works pretty good on 9600 baud, but probably will not on 115200 baud.

        Running software serial is a heavy load on MCU so you should watch the MCU load percentage indicator when you are setting softserial port.

        How to setup the Softserial port?

        First you need to enable the softserial feature in Betaflight configurator.

        Then you need to find out the flight controllers output pin that is mapped to the specific resource. In you example we will reassign the MOTOR 5 output to the softserial pin. Type the resource command in the Betaflight Configurator CLI.

        Find the MOTOR 5 output pin name. In out case it is B03. Now you need to assign the resource to softserial.

        CLI commands for assigning the softserial port: 

        resource serial_tx 11 <pin> – assigns MCU pin resource as the softserial 1 TX output

        resource serial_rx 11 <pin> – assigns MCU pin resource as the softserial 1 RX output

        resource serial_tx 12 <pin> – assigns MCU pin resource as the softserial 2 TX output

        resource serial_rx 12 <pin> – assigns MCU pin resource as the softserial 2 RX output.

        As you see the “11” is the identifier for SOFTSERIAL1. For SOFTSERIAL2, use “12“.

        You need first to free the resource before assign it to another purpose.  This is done by issuing command resource MOTOR 5 none.

        Then assign the freed B03 pin as Softserial1 TX output by issuing the command resource serial_tx 11 B03. Dont forget to save the settings.

        After these steps you’ll see the SOFTSERIAL1 option in the Betaflight Configurator Ports tab. You can set it to SmartAudio/IRC Tramp output to control the VTX settings.

         

        Comments
        1. Dimos
          • montis

        Leave a Reply to Dimos Cancel reply

        Your email address will not be published.

        *

        主站蜘蛛池模板: 河南省| 余干县| 佛冈县| 吴桥县| 武胜县| 英超| 正蓝旗| 迭部县| 新平| 高台县| 邛崃市| 西盟| 石渠县| 米脂县| 海宁市| 兴安县| 阿克| 宣化县| 麦盖提县| 贵港市| 太康县| 普宁市| 上蔡县| 闵行区| 涿鹿县| 收藏| 彝良县| 仙桃市| 沙河市| 嘉峪关市| 济宁市| 铁岭县| 榕江县| 文登市| 东乌| 和平区| 炉霍县| 珲春市| 咸宁市| 日土县| 锦州市|