driver spb16ch: eseguito mappatura dei 128 relè distribuito sulle 8 possibili schede installabili

This commit is contained in:
lejubila
2017-09-05 00:24:33 +02:00
parent 9fc7c971f1
commit 4e15c37fe2
5 changed files with 222 additions and 36 deletions

View File

@@ -3,11 +3,53 @@
#
function drv_spb16ch_init {
$DIR_SCRIPT/drv/spb16ch/scripts/mux_channel.py 72 0
$DIR_SCRIPT/drv/spb16ch/scripts/gpo_init.py 25 255 0
$DIR_SCRIPT/drv/spb16ch/scripts/mux_channel.py 72 1
$DIR_SCRIPT/drv/spb16ch/scripts/gpo_init.py 25 255 0
$DIR_SCRIPT/drv/spb16ch/scripts/mux_channel.py 72 0
declare -a address_used
address_used=()
local address=""
# Cerca gli indirizzi delle schede spb16ch utilizzate per i rele utilizzati per le zone
for i in $(seq $EV_TOTAL)
do
local a=EV"$i"_GPIO
local gpio="${!a}"
if [[ "$gpio" == drv:spb16ch:* ]]; then
local rele_id=`echo $gpio | $CUT -d':' -f3,3`
local rele_data=${SPB16CH_RELE_MAP[$rele_id]}
local address_num=${rele_data:0:2}
if [[ ! -z $rele_data ]]; then
if [[ ! " ${address_used[@]} " =~ " ${address_num} " ]]; then
address_used+=("$address_num")
fi
fi
fi
done
# Cerca gli indirizzi delle schede spb16ch utilizzate per i rele utilizzate per la gestione alimentazione
for gpio in "$SUPPLY_GPIO_1" "$SUPPLY_GPIO_2"
do
if [[ "$gpio" == drv:spb16ch:* ]]; then
local rele_id=`echo $gpio | $CUT -d':' -f3,3`
local rele_data=${SPB16CH_RELE_MAP[$rele_id]}
local address_num=${rele_data:0:2}
if [[ ! -z $rele_data ]]; then
if [[ ! " ${address_used[@]} " =~ " ${address_num} " ]]; then
address_used+=("$address_num")
fi
fi
fi
done
# Esegue l'inizializzazione delle schede spb16ch trovate
for address_num in ${address_used[@]}
do
echo "****** address_num = $address_num *******"
$DIR_SCRIPT/drv/spb16ch/scripts/mux_channel.py $address_num 0
$DIR_SCRIPT/drv/spb16ch/scripts/gpo_init.py 25 255 0
$DIR_SCRIPT/drv/spb16ch/scripts/mux_channel.py $address_num 1
$DIR_SCRIPT/drv/spb16ch/scripts/gpo_init.py 25 255 0
$DIR_SCRIPT/drv/spb16ch/scripts/mux_channel.py $address_num 0
done
}