135 lines
7.1 KiB
INI
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 |