sped up start up using temp files (could be better)
This commit is contained in:
parent
774c5f7d1c
commit
e7c2e1437b
17
bt
17
bt
@ -30,11 +30,12 @@ scan(){
|
|||||||
scanstatus="$( bluetoothctl show | grep Discovering | awk '{print $2}' )"
|
scanstatus="$( bluetoothctl show | grep Discovering | awk '{print $2}' )"
|
||||||
if [ "$1" = on ]; then
|
if [ "$1" = on ]; then
|
||||||
#sets variable in case scanning was no already on before the start of bt
|
#sets variable in case scanning was no already on before the start of bt
|
||||||
[ "$start_scan" = "" ] && start_scan="$( date +'%s' )"
|
[ -f /tmp/bt_start_scan$$ ] || start_scan="$( date +'%s' )"
|
||||||
if [ "$scanstatus" = "no" ]; then
|
if [ "$scanstatus" = "no" ]; then
|
||||||
bluetoothctl scan on &
|
bluetoothctl scan on &
|
||||||
start_scan="$( date +'%s' )"
|
start_scan="$( date +'%s' )"
|
||||||
fi
|
fi
|
||||||
|
echo "$start_scan" > /tmp/bt_start_scan$$
|
||||||
elif [ "$1" = off ]; then
|
elif [ "$1" = off ]; then
|
||||||
if [ "$scanstatus" = "yes" ]; then
|
if [ "$scanstatus" = "yes" ]; then
|
||||||
bluetoothctl scan off
|
bluetoothctl scan off
|
||||||
@ -54,8 +55,15 @@ update_pair_list(){
|
|||||||
|
|
||||||
|
|
||||||
#start scanning as early as possible to speed up pairing process
|
#start scanning as early as possible to speed up pairing process
|
||||||
#In function to more quickly display the menu
|
|
||||||
startup(){
|
startup(){
|
||||||
|
#remove old tmp files
|
||||||
|
for f in /tmp/*
|
||||||
|
do
|
||||||
|
case $f in
|
||||||
|
/tmp/bt_start_scan*) rm "$f";;
|
||||||
|
*) true;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
if $AUTOSCAN
|
if $AUTOSCAN
|
||||||
then
|
then
|
||||||
power on
|
power on
|
||||||
@ -64,7 +72,7 @@ startup(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
#Sadly needs to be run without '&' for now, since it otherwise breaks start_scan variable
|
#Sadly needs to be run without '&' for now, since it otherwise breaks start_scan variable
|
||||||
startup
|
startup &
|
||||||
update_pair_list &
|
update_pair_list &
|
||||||
|
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
@ -91,6 +99,7 @@ poweroption="$( echo "$powerstatus" | sed 's/yes/power off/; s/no/power on/' )"
|
|||||||
|
|
||||||
cleanup(){
|
cleanup(){
|
||||||
scan off
|
scan off
|
||||||
|
rm /tmp/bt_start_scan$$
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,6 +108,7 @@ pair(){
|
|||||||
power on
|
power on
|
||||||
scan on
|
scan on
|
||||||
#check whether $SCAN_PERIOD seconds has already passed since starting scanning, if not, wait for the rest of that time.
|
#check whether $SCAN_PERIOD seconds has already passed since starting scanning, if not, wait for the rest of that time.
|
||||||
|
start_scan="$(cat /tmp/bt_start_scan$$)"
|
||||||
if [ $((( "$(date +'%s')" - "$start_scan" ))) -lt $SCAN_PERIOD ]; then
|
if [ $((( "$(date +'%s')" - "$start_scan" ))) -lt $SCAN_PERIOD ]; then
|
||||||
sleep_period="$((( "$SCAN_PERIOD" - "$( date +'%s')" + "$start_scan" )))"
|
sleep_period="$((( "$SCAN_PERIOD" - "$( date +'%s')" + "$start_scan" )))"
|
||||||
if [ "$sleep_period" -eq 1 ]; then
|
if [ "$sleep_period" -eq 1 ]; then
|
||||||
@ -125,6 +135,7 @@ pair(){
|
|||||||
if [ -n "$choice" ]; then
|
if [ -n "$choice" ]; then
|
||||||
if [ "$choice" = "rescan" ]; then
|
if [ "$choice" = "rescan" ]; then
|
||||||
start_scan="$( date +'%s')"
|
start_scan="$( date +'%s')"
|
||||||
|
echo "$start_scan" > /tmp/bt_start_scan$$
|
||||||
pair
|
pair
|
||||||
else
|
else
|
||||||
dev_no=$( echo "$new_devices" | nl | grep "$choice" | awk '{print $1}')
|
dev_no=$( echo "$new_devices" | nl | grep "$choice" | awk '{print $1}')
|
||||||
|
Loading…
Reference in New Issue
Block a user