X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Frun.sh;h=18af55b05e1a2477cf8838e6a750acea08f936de;hb=dbbc588b45c0a99b1cccae60369bf183242854e1;hp=be6d4cf248d2aa220e8bfeb68741b417143245fb;hpb=8b7f6f32024dee5f15f44e231a48c51fdde1b32f;p=matches%2FMCTX3420.git diff --git a/server/run.sh b/server/run.sh index be6d4cf..18af55b 100755 --- a/server/run.sh +++ b/server/run.sh @@ -18,10 +18,18 @@ fi # Identify cape-manager slots slot=$(echo /sys/devices/bone_capemgr.*/slots | awk '{print $1}') +pwm=/sys/class/pwm/ # Load PWM module -modprobe pwm_test +#modprobe pwm_test (echo am33xx_pwm > $slot) 1>&2 >> /dev/null +#for port in P9_21 P9_22 P9_14 P9_16 P9_29 P9_31 P9_42 P8_13 P8_19 P8_34 P8_36 P8_45 P8_46; do +# echo bone_pwm_$port > $slot +#done +echo 0 > $pwm/export +echo 1 > $pwm/export +echo bone_pwm_P9_21 > $slot +echo bone_pwm_P9_22 > $slot # Load ADCs (echo cape-bone-iio > $slot) 1>&2 >> /dev/null @@ -33,4 +41,16 @@ adc_device_path=$(dirname $(find /sys -name *AIN0)) # Run the program with parameters # TODO: Can tell spawn-fcgi to run the program as an unprivelaged user? # But first will have to work out how to set PWM/GPIO as unprivelaged user -spawn-fcgi -p9005 -n -- ./server -a "$adc_device_path" +fails=0 +while [ $fails -lt 10 ]; do + spawn-fcgi -p9005 -n -- ./server -a "$adc_device_path" + if [ "$?" == "0" ]; then + exit 0 + fi + fails=$(( $fails + 1 )) + (echo "Restarting server after Fatal Error #$fails") 1>&2 + +done +(echo "Server had too many Fatal Errors ($fails)") 1>&2 +exit $fails +