mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/bin/sh
 | |
| fw=$(grep "BUILD_OPTION" "/etc/os-release" | cut -d= -f2)
 | |
| keydir=/etc
 | |
| 
 | |
| if [ -e /etc/datalink.conf ]; then
 | |
| 	. /etc/datalink.conf
 | |
| fi
 | |
| 
 | |
| if [ -e /etc/telemetry.conf ]; then
 | |
| 	. /etc/telemetry.conf
 | |
| fi
 | |
| 
 | |
| if [ ! -f /usr/bin/telemetry_rx ] && [ ! -f /usr/bin/telemetry_tx ]; then
 | |
| 	ln -s /usr/bin/wfb_rx /usr/bin/telemetry_rx
 | |
| 	ln -s /usr/bin/wfb_tx /usr/bin/telemetry_tx
 | |
| fi
 | |
| 
 | |
| start_drone_telemetry() {
 | |
| 	if [ "$one_way" = "false" ]; then
 | |
| 		telemetry_rx -p "$stream_rx" -u "$port_rx" -K "$keydir/$unit.key" -i "$link_id" "$wlan" > /dev/null &
 | |
| 	fi
 | |
| 	telemetry_tx -p "$stream_tx" -u "$port_tx" -K "$keydir/$unit.key" -B "$bandwidth" \
 | |
| 		-M "$mcs_index" -S "$stbc" -L "$ldpc" -G "$guard_interval" -k "$fec_k" -n "$fec_n" \
 | |
| 		-T "$pool_timeout" -i "$link_id" -f "$frame_type" "$wlan" > /dev/null &
 | |
| }
 | |
| 
 | |
| start_gs_telemetry() {
 | |
| 	if [ "$one_way" = "false" ]; then
 | |
| 		telemetry_tx -p "$stream_tx" -u "$port_tx" -K "$keydir/$unit.key" -B "$bandwidth" \
 | |
| 			-M "$mcs_index" -S "$stbc" -L "$ldpc" -G "$guard_interval" -k "$fec_k" -n "$fec_n" \
 | |
| 			-T "$pool_timeout" -i "$link_id" -f "$frame_type" "$wlan" > /dev/null &
 | |
| 	fi
 | |
| 	telemetry_rx -p "$stream_rx" -u "$port_rx" -K "$keydir/$unit.key" -i "$link_id" "$wlan" > /dev/null &
 | |
| }
 | |
| 
 | |
| case "$1" in
 | |
| 	start)
 | |
| 		echo "Loading MAVLink telemetry service..."
 | |
| 		if [ "$router" -eq 1 ] || [ "$fw" = "lte" ]; then
 | |
| 			mavlink-routerd -c /etc/mavlink.conf > /dev/null 2>&1 &
 | |
| 		else
 | |
| 			mavfwd --channels "$channels" --master "$serial" --baudrate "$baud" -p 100 -t -a "$aggregate" \
 | |
| 				--out 127.0.0.1:$port_tx --in 127.0.0.1:$port_rx > /dev/null &
 | |
| 		fi
 | |
| 		if [ "$fw" = "fpv" ] || [ "$fw" = "venc" ]; then
 | |
| 			start_${unit}_telemetry
 | |
| 		fi
 | |
| 		;;
 | |
| 
 | |
| 	stop)
 | |
| 		echo "Stopping telemetry services..."
 | |
| 		killall -q telemetry_rx
 | |
| 		killall -q telemetry_tx
 | |
| 		killall -q mavlink-routerd
 | |
| 		killall -q mavfwd
 | |
| 		;;
 | |
| 
 | |
| 	*)
 | |
| 		echo "Usage: $0 {start|stop}"
 | |
| 		exit 1
 | |
| 		;;
 | |
| esac
 |