diff --git a/manage.sh b/manage.sh index 8e83501..fa906f0 100755 --- a/manage.sh +++ b/manage.sh @@ -34,15 +34,26 @@ connect_using_wpa_supp() { sudo wpa_supplicant -D nl80211 -i $DRONE_INTERFACE -c network/$DRONE_WPA_SUPP_CONF } -wait_for_drone() { - while ! ping -c1 192.168.10.1 &>/dev/null; do - echo "Drone is offline. Waiting.."; sleep 2 - done - echo "Drone is available, can ask for dhcp"; sleep 1 -} +#wait_for_drone() { + #while ! ping -c1 192.168.10.1 &>/dev/null; do + # echo "Drone is offline. Waiting.."; sleep 2 + #done + #echo "Drone is available, can ask for dhcp"; sleep 1 +#} get_dhcp_ip () { - sudo dhclient $DRONE_INTERFACE + while true; do + sudo dhclient $DRONE_INTERFACE + ip_address=$(ip addr show wlan1 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1) + if [[ -n $ip_address ]]; then + echo "Drone assigned IP to commander: $ip_address" + echo "ok" + break + else + echo "Drone is not assigned an IP yet. Waiting.." + sleep 2 + fi + done } start_jupyter() { @@ -81,9 +92,6 @@ elif [ "$1" == "connect-drone" ]; then wpa_supp_pid=$! echo "started wpa supplicant to connect drone network with PID $wpa_supp_pid" echo $wpa_supp_pid > $pids_dir/wpa_supp_pid.txt - echo "will wait forever until drone is on and connected to repeater" - wait_for_drone - echo "ok" elif [ "$1" == "disconnect-drone" ]; then wpa_supp_pid_file="$pids_dir/wpa_supp_pid.txt" @@ -157,7 +165,6 @@ elif [ "$1" == "stop-commander" ]; then echo "stopped commander" fi - elif [ "$1" == "prepare-flight" ]; then ./manage.sh connect-drone ./manage.sh get-dhcp