Files
PiGarden/drv/spb16ch/setup.include.sh

43 lines
1.5 KiB
Bash

#
# Questa funzione viene inviocata dalla funzione "setup_drv" ad ogni avvio di piGarden
# esegue il setup del driver recuperando gli identificativi delle schede sbp16ch usati
#
function drv_spb16ch_setup {
# Cerca gli identificativi 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]}
if [[ ! -z $rele_data ]]; then
local board_id=${rele_data:9:1}
if [[ ! " ${SPB16CH_USED_ID[@]} " =~ " ${board_id} " ]]; then
SPB16CH_USED_ID+=("$board_id")
fi
fi
fi
done
# Cerca gli identificativi schede spb16ch utilizzate che gestiscono l'alimentazione delle elettrovalvole bistabili
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]}
if [[ ! -z $rele_data ]]; then
local board_id=${rele_data:9:1}
if [[ ! " ${SPB16CH_USED_ID[@]} " =~ " ${board_id} " ]]; then
SPB16CH_USED_ID+=("$board_id")
fi
fi
fi
done
echo "Identificativi board spb16ch utilizzate: ${SPB16CH_USED_ID[@]}"
}