[common] primary = True # Set to False if you use several wfb instances on one card. Only primary instance will set radio channel. log_file = None # Set to "wifibroadcast.log" to disable log to stdout binary_log_file = None # Machine readable log for post-processing # File name should have '%%s' inside for profile mapping. # For example: 'binlog_%%s.log' set_nm_unmanaged = True # Set radio interface in 'unmanaged state' in NetworkManager radio_mtu = 1445 # Used for mavlink aggregation and for tunnel packets - should be less or equal to MAX_PAYLOAD_SIZE, don't change if doubt tunnel_agg_timeout= 0.005 # aggragate tuntap packets if less than radio_mtu but no longer than 5ms mavlink_agg_timeout = 0.1 # aggragate mavlink packets if less than radio_mtu but no longer than 100ms mavlink_err_rate = True # If true then inject RX error rate else absolute values log_interval = 1000 # [ms] Default interval which wfb_rx/tx use for statistics reporting tx_sel_rssi_delta = 3 # [dB] hysteresis for antenna selection by RSSI tx_sel_counter_abs_delta = 3 # [pkt] hysteresis for antenna selection by RX packet counter tx_sel_counter_rel_delta = 0.1 # default is max(3 packets or 10% of packets from the best antenna) tx_rcv_buf_size = 2097152 # UDP SO_RCVBUF. Set 0 to use net.core.rmem_default. Increase in case of non-cbr data stream # This should not be greater than net.core.rmem_max wifi_channel = 161 # radio channel @5825 MHz, range: 5815-5835 MHz, width 20MHz # Also you can set own frequency channel for each wifi card, for example: # {'wlan0': 161, 'wlan1': 165} wifi_region = 'BO' # Set CRDA region wifi_txpower = None # Leave None to use default power settings from driver. # There is a special value 'off' for RX only cards. # For 8812au set to -dBm * 100. I.e for 30dBm set to -3000 # For 8812eu set to dBm * 100. I.e for 30dBm set to 3000 # Also you can set own txpower for each wifi card, for example: # {'wlan0': -100, 'wlan1': 100, 'wlan2': 'off'} temp_measurement_interval = 10 # [s] (8812eu only) Internal RF path temp measurement. temp_overheat_warning = 60 # [*C] (8812eu only) Overheat warning threshold. [gs] streams = [{'name': 'video', 'stream_rx': 0x00, 'stream_tx': None, 'service_type': 'udp_direct_rx', 'profiles': ['base', 'gs_base', 'video', 'gs_video']}, {'name': 'mavlink', 'stream_rx': 0x10, 'stream_tx': 0x90, 'service_type': 'mavlink', 'profiles': ['base', 'gs_base', 'mavlink', 'gs_mavlink']}, {'name': 'tunnel', 'stream_rx': 0x20, 'stream_tx': 0xa0, 'service_type': 'tunnel', 'profiles': ['base', 'gs_base', 'tunnel', 'gs_tunnel']} ] stats_port = 8003 # used by wfb-cli api_port = 8103 # public JSON API link_domain = "default" ########################################################################################################################### # Low level profiles can be used to build top level profiles via inheritance # # You can define any number of them and split options between them as you want - only resulting set of options has matter # ########################################################################################################################### ## Low level profiles have protocol-dependant fields [base] stream_rx = None stream_tx = None keypair = None mirror = False # Set to true if you want to mirror packet via all cards for redundancy. Not recommended if cards are on one frequency channel. # Radio settings for TX and RX bandwidth = 20 # bandwidth 20 or 40 MHz force_vht = False # Use VHT for 20 and 40 MHz bandwidth # Radiotap flags for TX: short_gi = False # use short GI or not stbc = 1 # stbc streams: 1, 2, 3 or 0 if unused ldpc = 1 # use LDPC FEC. Currently available only for 8812au and must be supported both on TX and RX. mcs_index = 1 # mcs index # Packet queueing control use_qdisc = False # Use or bypass kernel qdisc. Set to True if you want to use traffic shaper fwmark = 0 # If use qdisc then set fwmark to this value for data packets and to fwmark + 1 for FEC packets control_port = 0 # Override in tx sections if you want to manually control wfb_tx processes via wfb_tx_cmd utility [gs_base] keypair = 'gs.key' [radio_base] frame_type = 'data' # Use data or rts frames fec_k = 1 # FEC K (For tx side. Rx will get FEC settings from session packet) fec_n = 2 # FEC N (For tx side. Rx will get FEC settings from session packet) fec_timeout = 0 # [ms], 0 to disable. If no new packets during timeout, emit one empty packet if FEC block is open fec_delay = 0 # [us], 0 to disable. Issue FEC packets with delay between them. [video] frame_type = 'data' # Use data or rts frames fec_k = 8 # FEC K (For tx side. Rx will get FEC settings from session packet) fec_n = 12 # FEC N (For tx side. Rx will get FEC settings from session packet) fec_timeout = 0 # [ms], 0 to disable. If no new packets during timeout, emit one empty packet if FEC block is open fec_delay = 0 # [us], 0 to disable. Issue FEC packets with delay between them. peer = None [mavlink] log_messages = False # Log all messages to binary log for post processing frame_type = 'data' # Use data or rts frames fec_k = 1 # FEC K (For tx side. Rx will get FEC settings from session packet) fec_n = 2 # FEC N (For tx side. Rx will get FEC settings from session packet) fec_timeout = 0 # [ms], 0 to disable. If no new packets during timeout, emit one empty packet if FEC block is open fec_delay = 0 # [us], 0 to disable. Issue FEC packets with delay between them. peer = None osd = None inject_rssi = True # inject RADIO_STATUS packets mavlink_sys_id = 3 # for injected rssi packets mavlink_comp_id = 68 # MAV_COMP_ID_TELEMETRY_RADIO call_on_arm = None # call program on arm call_on_disarm = None # call program on disarm mavlink_tcp_port = None # listen for connections from QGC or from onboard computer [tunnel] frame_type = 'data' # Use data or rts frames fec_k = 1 # FEC K (For tx side. Rx will get FEC settings from session packet) fec_n = 2 # FEC N (For tx side. Rx will get FEC settings from session packet) fec_timeout = 0 # [ms], 0 to disable. If no new packets during timeout, emit one empty packet if FEC block is open fec_delay = 0 # [us], 0 to disable. Issue FEC packets with delay between them. [gs_video] fwmark = 20 # traffic shaper label peer = 'connect://127.0.0.1:5600' # outgoing connection for video sink (GS) [gs_mavlink] fwmark = 10 # traffic shaper label peer = 'connect://127.0.0.1:14550' # outgoing connection # peer = 'listen://0.0.0.0:14550' # incoming connection # osd = 'connect://127.0.0.1:14551' # mirroring mavlink packets to OSD [gs_tunnel] fwmark = 30 # traffic shaper label ifname = 'gs-wfb' ifaddr = '10.5.0.1/24' default_route = False