You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
236 lines
5.9 KiB
236 lines
5.9 KiB
#!/bin/bash
|
|
|
|
echo -e "\nupdate script for CubeSatSim v1.3b\n"
|
|
|
|
sudo rm /home/pi/CubeSatSim/morse.wav /home/pi/CubeSatSim/id.txt /home/pi/CubeSatSim/cw.txt > /dev/null 2>&1
|
|
|
|
if [ "$1" = "u" ]; then
|
|
|
|
sudo apt-get update && sudo apt-get dist-upgrade -y
|
|
|
|
sudo apt-get install -y wiringpi git libasound2-dev i2c-tools build-essential libgd-dev libmagic-dev python3-pip minicom
|
|
|
|
fi
|
|
|
|
sudo apt-get install -y python3-smbus
|
|
|
|
sudo sed -i 's/update.sh/update /g' /etc/motd
|
|
|
|
sudo sed -i 's/installed and/installed\nand/g' /etc/motd
|
|
|
|
sudo sed -i 's/more information/more\ninformation/g' /etc/motd
|
|
|
|
sudo sed -i 's/update to/update\nto/g' /etc/motd
|
|
|
|
cd /home/pi/CubeSatSim
|
|
|
|
git pull > .updated
|
|
|
|
make debug
|
|
|
|
FILE=/home/pi/CubeSatSim/command_tx
|
|
if [ -f "$FILE" ]; then
|
|
echo "$FILE exists."
|
|
else
|
|
echo "creating $FILE"
|
|
echo "True\n" > /home/pi/CubeSatSim/command_tx
|
|
fi
|
|
|
|
FILE=/home/pi/CubeSatSim/command_count.txt
|
|
if [ -f "$FILE" ]; then
|
|
echo "$FILE exists."
|
|
else
|
|
echo "creating $FILE"
|
|
echo "0\n" > /home/pi/CubeSatSim/command_count.txt
|
|
fi
|
|
|
|
FLAG=0
|
|
|
|
if [[ $(diff systemd/cubesatsim.service /etc/systemd/system/cubesatsim.service) ]]; then
|
|
echo "changed cubesatsim.service."
|
|
sudo cp /home/pi/CubeSatSim/systemd/cubesatsim.service /etc/systemd/system/cubesatsim.service
|
|
FLAG=1
|
|
else
|
|
echo "no changes to cubesatsim.service."
|
|
fi
|
|
|
|
if [[ $(diff systemd/rpitx.service /etc/systemd/system/rpitx.service) ]]; then
|
|
echo "changed rpitx.service."
|
|
sudo cp /home/pi/CubeSatSim/systemd/rpitx.service /etc/systemd/system/rpitx.service
|
|
FLAG=1
|
|
else
|
|
echo "no changes to rpitx.service."
|
|
fi
|
|
|
|
FILE=/home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg
|
|
if [ ! -f "$FILE" ]; then
|
|
echo "Copying SSTV image 1."
|
|
cp /home/pi/CubeSatSim/sstv/sstv_image_1_320_x_256.jpg /home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg
|
|
fi
|
|
|
|
FILE=/home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg
|
|
if [ ! -f "$FILE" ]; then
|
|
echo "Copying SSTV image 2."
|
|
cp /home/pi/CubeSatSim/sstv/sstv_image_2_320_x_256.jpg /home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg
|
|
fi
|
|
|
|
grep 'update' /home/pi/CubeSatSim/.updated
|
|
if [[ $(grep 'update' /home/pi/CubeSatSim/.updated) ]]; then
|
|
echo "update script updated, running again"
|
|
/home/pi/CubeSatSim/update
|
|
fi
|
|
|
|
if [ ! -d "/home/pi/PiSSTVpp" ]; then
|
|
|
|
sudo apt-get update && sudo apt-get dist-upgrade -y
|
|
|
|
sudo apt-get install -y python-picamera python3-picamera build-essential libgd-dev libmagic-dev
|
|
|
|
|
|
cd
|
|
|
|
git clone https://github.com/alanbjohnston/PiSSTVpp.git
|
|
|
|
cd PiSSTVpp
|
|
|
|
make pisstvpp
|
|
|
|
cd
|
|
|
|
|
|
sudo raspi-config nonint do_camera 0
|
|
|
|
|
|
FILE=/home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg
|
|
if [ ! -f "$FILE" ]; then
|
|
echo "Copying SSTV image 1."
|
|
cp /home/pi/CubeSatSim/sstv/sstv_image_1_320_x_256.jpg /home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg
|
|
fi
|
|
|
|
FILE=/home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg
|
|
if [ ! -f "$FILE" ]; then
|
|
echo "Copying SSTV image 2."
|
|
cp /home/pi/CubeSatSim/sstv/sstv_image_2_320_x_256.jpg /home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg
|
|
fi
|
|
|
|
# echo "You need to reboot to complete this update. Reboot now (y/n)?"
|
|
|
|
# read -r ANS
|
|
|
|
# if [ "$ANS" = "y" ]; then
|
|
|
|
# sudo reboot now
|
|
|
|
# else
|
|
|
|
# echo "The CubeSatSim software may not work correctly until you reboot."
|
|
|
|
# fi
|
|
|
|
fi
|
|
|
|
cd /home/pi/pi-power-button
|
|
|
|
# git checkout reboot-mode-change
|
|
|
|
git pull > .updated_p
|
|
|
|
grep 'changed' /home/pi/pi-power-button/.updated_p
|
|
if [[ $(grep 'changed' /home/pi/pi-power-button/.updated_p) ]]; then
|
|
|
|
echo "updating pi-power-button."
|
|
|
|
script/install
|
|
|
|
echo "You need to reboot to complete this update. Reboot now (y/n)?"
|
|
|
|
read -r ANS
|
|
|
|
if [ "$ANS" = "y" ]; then
|
|
|
|
sudo reboot now
|
|
|
|
else
|
|
|
|
echo "The CubeSatSim software may not work correctly until you reboot."
|
|
|
|
fi
|
|
|
|
else
|
|
echo "nothing to do for pi-power-button."
|
|
fi
|
|
|
|
if [[ $(grep 'dtparam=audio=on' /boot/config.txt) ]]; then
|
|
echo "dtparam=audio=on already in /boot/config.txt"
|
|
else
|
|
echo "adding dtparam=audio=on to /boot/config.txt"
|
|
sudo sh -c 'echo "\ndtparam=audio=on" >> /boot/config.txt'
|
|
FLAG=1
|
|
fi
|
|
|
|
if [[ $(grep 'dtoverlay=audremap,enable_jack=on' /boot/config.txt) ]]; then
|
|
echo "dtoverlay=audremap,enable_jack=on already in /boot/config.txt"
|
|
else
|
|
echo "adding dtoverlay=audremap,enable_jack=on to /boot/config.txt"
|
|
sudo sh -c 'echo "\ndtoverlay=audremap,enable_jack=on" >> /boot/config.txt'
|
|
FLAG=1
|
|
fi
|
|
|
|
if [[ $(grep 'dtoverlay=pwm,pin=18,func=2' /boot/config.txt) ]]; then
|
|
echo "dtoverlay=pwm,pin=18,func=2 already in /boot/config.txt"
|
|
else
|
|
echo "adding dtoverlay=pwm,pin=18,func=2 to /boot/config.txt"
|
|
sudo sh -c 'echo "\ndtoverlay=pwm,pin=18,func=2" >> /boot/config.txt'
|
|
FLAG=1
|
|
|
|
cd /home/pi/pi-power-button
|
|
git checkout reboot-mode-change
|
|
install/install
|
|
|
|
fi
|
|
|
|
if [[ $(grep 'disable_splash=1' /boot/config.txt) ]]; then
|
|
echo "disable_splash=1 already in /boot/config.txt"
|
|
else
|
|
echo "adding to /boot/config.txt"
|
|
sudo sh -c 'echo "\ndisable_splash=1" >> /boot/config.txt'
|
|
FLAG=1
|
|
fi
|
|
|
|
if [[ $(grep 'boot_delay=0' /boot/config.txt) ]]; then
|
|
echo "boot_delay=0 already in /boot/config.txt"
|
|
else
|
|
echo "adding to /boot/config.txt"
|
|
sudo sh -c 'echo "\nboot_delay=0" >> /boot/config.txt'
|
|
FLAG=1
|
|
fi
|
|
|
|
if [ ! -f "/home/pi/CubeSatSim/telem_string.txt" ]; then
|
|
|
|
sudo apt-get update && sudo apt-get dist-upgrade -y
|
|
|
|
sudo apt-get install -y libjpeg-dev zlib1g-dev libfreetype6-dev liblcms1-dev libopenjp2-7 libtiff5 -y
|
|
|
|
sudo pip3 install pillow
|
|
|
|
fi
|
|
|
|
|
|
if [ $FLAG -eq 1 ]; then
|
|
echo "systemctl daemon-reload and reboot"
|
|
sudo systemctl daemon-reload
|
|
sudo reboot -h now
|
|
# sudo systemctl restart cubesatsim
|
|
else
|
|
grep 'changed' /home/pi/CubeSatSim/.updated
|
|
if [[ $(grep 'changed' /home/pi/CubeSatSim/.updated) ]]; then
|
|
echo "reboot"
|
|
sudo reboot -h now
|
|
# sudo systemctl restart cubesatsim
|
|
else
|
|
echo "nothing to do."
|
|
fi
|
|
fi
|
|
|
|
echo "CubeSatSim update complete."
|