SpiriBase-Deploy/wifibroadcast.cfg

135 lines
7.1 KiB
INI

[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