implementato spengimento di tutte le board spb16ch e riattivazione della sola scheda su cui è collegato il rele al quale si sta impartendo l'ordine di apertura/chiusura
This commit is contained in:
41
drv/spb16ch/common.include.sh
Normal file
41
drv/spb16ch/common.include.sh
Normal file
@@ -0,0 +1,41 @@
|
||||
#
|
||||
# Funzioni comuni per il driver spb16ch
|
||||
#
|
||||
|
||||
#
|
||||
# Abilita una scheda spb16ch in modo che possa esseregli impartito un comando successivamente
|
||||
# $1 identificativo scheda da abilitare
|
||||
#
|
||||
function drv_spb16ch_board_enable {
|
||||
|
||||
local board_id=$1
|
||||
|
||||
drv_spb16ch_board_disable_all
|
||||
|
||||
local a=SPB16CH"$board_id"_GPIO
|
||||
local gpio_n=${!a}
|
||||
|
||||
echo "** drv_spb16ch_board_enable() - Enable board: $board_id - gpio $gpio_n"
|
||||
$GPIO -g write $gpio_n $SPB16CH_GPIO_ON
|
||||
|
||||
}
|
||||
|
||||
#
|
||||
# Disabilita tutte le schede
|
||||
#
|
||||
function drv_spb16ch_board_disable_all {
|
||||
|
||||
echo "** drv_spb16ch_board_disable_all() - Boads id: ${SPB16CH_USED_ID[@]}"
|
||||
|
||||
local board_id
|
||||
for board_id in ${SPB16CH_USED_ID[@]}
|
||||
do
|
||||
local a=SPB16CH"$board_id"_GPIO
|
||||
local gpio_n=${!a}
|
||||
|
||||
echo "** drv_spb16ch_board_disable_all() - Disable board: $board_id - gpio $gpio_n"
|
||||
$GPIO -g write $gpio_n $SPB16CH_GPIO_OFF
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
@@ -4,154 +4,155 @@
|
||||
# 3-3: separatore
|
||||
# 4-4: il quarto carattere indica il mux channel
|
||||
# 5-5: separatore
|
||||
# 6-8: gli ultimi tre caratteri indicano il numero del rele sul canale
|
||||
#
|
||||
# 6-8: dal 6 all'ottavo carattere indicano il numero del rele sul canale
|
||||
# 10-10: l'ultimo carattere indica il numero identificativo della scheda spb16ch
|
||||
|
||||
# Scheda 1 - address 70h - GS1:chiuso, GS2:chiuso, GS3:chiuso
|
||||
SPB16CH_RELE_MAP[1]="70|0| 1"
|
||||
SPB16CH_RELE_MAP[2]="70|0| 2"
|
||||
SPB16CH_RELE_MAP[3]="70|0| 4"
|
||||
SPB16CH_RELE_MAP[4]="70|0| 8"
|
||||
SPB16CH_RELE_MAP[5]="70|0| 16"
|
||||
SPB16CH_RELE_MAP[6]="70|0| 32"
|
||||
SPB16CH_RELE_MAP[7]="70|0| 64"
|
||||
SPB16CH_RELE_MAP[8]="70|0|128"
|
||||
SPB16CH_RELE_MAP[9]="70|1| 1"
|
||||
SPB16CH_RELE_MAP[10]="70|1| 2"
|
||||
SPB16CH_RELE_MAP[11]="70|1| 4"
|
||||
SPB16CH_RELE_MAP[12]="70|1| 8"
|
||||
SPB16CH_RELE_MAP[13]="70|1| 16"
|
||||
SPB16CH_RELE_MAP[14]="70|1| 32"
|
||||
SPB16CH_RELE_MAP[15]="70|1| 64"
|
||||
SPB16CH_RELE_MAP[16]="70|1|128"
|
||||
SPB16CH_RELE_MAP[1]="70|0| 1|1"
|
||||
SPB16CH_RELE_MAP[2]="70|0| 2|1"
|
||||
SPB16CH_RELE_MAP[3]="70|0| 4|1"
|
||||
SPB16CH_RELE_MAP[4]="70|0| 8|1"
|
||||
SPB16CH_RELE_MAP[5]="70|0| 16|1"
|
||||
SPB16CH_RELE_MAP[6]="70|0| 32|1"
|
||||
SPB16CH_RELE_MAP[7]="70|0| 64|1"
|
||||
SPB16CH_RELE_MAP[8]="70|0|128|1"
|
||||
SPB16CH_RELE_MAP[9]="70|1| 1|1"
|
||||
SPB16CH_RELE_MAP[10]="70|1| 2|1"
|
||||
SPB16CH_RELE_MAP[11]="70|1| 4|1"
|
||||
SPB16CH_RELE_MAP[12]="70|1| 8|1"
|
||||
SPB16CH_RELE_MAP[13]="70|1| 16|1"
|
||||
SPB16CH_RELE_MAP[14]="70|1| 32|1"
|
||||
SPB16CH_RELE_MAP[15]="70|1| 64|1"
|
||||
SPB16CH_RELE_MAP[16]="70|1|128|1"
|
||||
|
||||
# Scheda 2 - address 71h - GS1:aperto, GS2:chiuso, GS3:chiuso
|
||||
SPB16CH_RELE_MAP[17]="71|0| 1"
|
||||
SPB16CH_RELE_MAP[18]="71|0| 2"
|
||||
SPB16CH_RELE_MAP[19]="71|0| 4"
|
||||
SPB16CH_RELE_MAP[20]="71|0| 8"
|
||||
SPB16CH_RELE_MAP[21]="71|0| 16"
|
||||
SPB16CH_RELE_MAP[22]="71|0| 32"
|
||||
SPB16CH_RELE_MAP[23]="71|0| 64"
|
||||
SPB16CH_RELE_MAP[24]="71|0|128"
|
||||
SPB16CH_RELE_MAP[25]="71|1| 1"
|
||||
SPB16CH_RELE_MAP[26]="71|1| 2"
|
||||
SPB16CH_RELE_MAP[27]="71|1| 4"
|
||||
SPB16CH_RELE_MAP[28]="71|1| 8"
|
||||
SPB16CH_RELE_MAP[29]="71|1| 16"
|
||||
SPB16CH_RELE_MAP[30]="71|1| 32"
|
||||
SPB16CH_RELE_MAP[31]="71|1| 64"
|
||||
SPB16CH_RELE_MAP[32]="71|1|128"
|
||||
SPB16CH_RELE_MAP[17]="71|0| 1|2"
|
||||
SPB16CH_RELE_MAP[18]="71|0| 2|2"
|
||||
SPB16CH_RELE_MAP[19]="71|0| 4|2"
|
||||
SPB16CH_RELE_MAP[20]="71|0| 8|2"
|
||||
SPB16CH_RELE_MAP[21]="71|0| 16|2"
|
||||
SPB16CH_RELE_MAP[22]="71|0| 32|2"
|
||||
SPB16CH_RELE_MAP[23]="71|0| 64|2"
|
||||
SPB16CH_RELE_MAP[24]="71|0|128|2"
|
||||
SPB16CH_RELE_MAP[25]="71|1| 1|2"
|
||||
SPB16CH_RELE_MAP[26]="71|1| 2|2"
|
||||
SPB16CH_RELE_MAP[27]="71|1| 4|2"
|
||||
SPB16CH_RELE_MAP[28]="71|1| 8|2"
|
||||
SPB16CH_RELE_MAP[29]="71|1| 16|2"
|
||||
SPB16CH_RELE_MAP[30]="71|1| 32|2"
|
||||
SPB16CH_RELE_MAP[31]="71|1| 64|2"
|
||||
SPB16CH_RELE_MAP[32]="71|1|128|2"
|
||||
|
||||
# Scheda 3 - address 72h - GS1:chiuso, GS2:aperto, GS3:chiuso
|
||||
SPB16CH_RELE_MAP[33]="72|0| 1"
|
||||
SPB16CH_RELE_MAP[34]="72|0| 2"
|
||||
SPB16CH_RELE_MAP[35]="72|0| 4"
|
||||
SPB16CH_RELE_MAP[36]="72|0| 8"
|
||||
SPB16CH_RELE_MAP[37]="72|0| 16"
|
||||
SPB16CH_RELE_MAP[38]="72|0| 32"
|
||||
SPB16CH_RELE_MAP[39]="72|0| 64"
|
||||
SPB16CH_RELE_MAP[40]="72|0|128"
|
||||
SPB16CH_RELE_MAP[41]="72|1| 1"
|
||||
SPB16CH_RELE_MAP[42]="72|1| 2"
|
||||
SPB16CH_RELE_MAP[43]="72|1| 4"
|
||||
SPB16CH_RELE_MAP[44]="72|1| 8"
|
||||
SPB16CH_RELE_MAP[45]="72|1| 16"
|
||||
SPB16CH_RELE_MAP[46]="72|1| 32"
|
||||
SPB16CH_RELE_MAP[47]="72|1| 64"
|
||||
SPB16CH_RELE_MAP[48]="72|1|128"
|
||||
SPB16CH_RELE_MAP[33]="72|0| 1|3"
|
||||
SPB16CH_RELE_MAP[34]="72|0| 2|3"
|
||||
SPB16CH_RELE_MAP[35]="72|0| 4|3"
|
||||
SPB16CH_RELE_MAP[36]="72|0| 8|3"
|
||||
SPB16CH_RELE_MAP[37]="72|0| 16|3"
|
||||
SPB16CH_RELE_MAP[38]="72|0| 32|3"
|
||||
SPB16CH_RELE_MAP[39]="72|0| 64|3"
|
||||
SPB16CH_RELE_MAP[40]="72|0|128|3"
|
||||
SPB16CH_RELE_MAP[41]="72|1| 1|3"
|
||||
SPB16CH_RELE_MAP[42]="72|1| 2|3"
|
||||
SPB16CH_RELE_MAP[43]="72|1| 4|3"
|
||||
SPB16CH_RELE_MAP[44]="72|1| 8|3"
|
||||
SPB16CH_RELE_MAP[45]="72|1| 16|3"
|
||||
SPB16CH_RELE_MAP[46]="72|1| 32|3"
|
||||
SPB16CH_RELE_MAP[47]="72|1| 64|3"
|
||||
SPB16CH_RELE_MAP[48]="72|1|128|3"
|
||||
|
||||
# Scheda 4 - address 73h - GS1:aperto, GS2:aperto, GS3:chiuso
|
||||
SPB16CH_RELE_MAP[49]="73|0| 1"
|
||||
SPB16CH_RELE_MAP[50]="73|0| 2"
|
||||
SPB16CH_RELE_MAP[51]="73|0| 4"
|
||||
SPB16CH_RELE_MAP[52]="73|0| 8"
|
||||
SPB16CH_RELE_MAP[53]="73|0| 16"
|
||||
SPB16CH_RELE_MAP[54]="73|0| 32"
|
||||
SPB16CH_RELE_MAP[55]="73|0| 64"
|
||||
SPB16CH_RELE_MAP[56]="73|0|128"
|
||||
SPB16CH_RELE_MAP[57]="73|1| 1"
|
||||
SPB16CH_RELE_MAP[58]="73|1| 2"
|
||||
SPB16CH_RELE_MAP[59]="73|1| 4"
|
||||
SPB16CH_RELE_MAP[60]="73|1| 8"
|
||||
SPB16CH_RELE_MAP[61]="73|1| 16"
|
||||
SPB16CH_RELE_MAP[62]="73|1| 32"
|
||||
SPB16CH_RELE_MAP[63]="73|1| 64"
|
||||
SPB16CH_RELE_MAP[64]="73|1|128"
|
||||
SPB16CH_RELE_MAP[49]="73|0| 1|4"
|
||||
SPB16CH_RELE_MAP[50]="73|0| 2|4"
|
||||
SPB16CH_RELE_MAP[51]="73|0| 4|4"
|
||||
SPB16CH_RELE_MAP[52]="73|0| 8|4"
|
||||
SPB16CH_RELE_MAP[53]="73|0| 16|4"
|
||||
SPB16CH_RELE_MAP[54]="73|0| 32|4"
|
||||
SPB16CH_RELE_MAP[55]="73|0| 64|4"
|
||||
SPB16CH_RELE_MAP[56]="73|0|128|4"
|
||||
SPB16CH_RELE_MAP[57]="73|1| 1|4"
|
||||
SPB16CH_RELE_MAP[58]="73|1| 2|4"
|
||||
SPB16CH_RELE_MAP[59]="73|1| 4|4"
|
||||
SPB16CH_RELE_MAP[60]="73|1| 8|4"
|
||||
SPB16CH_RELE_MAP[61]="73|1| 16|4"
|
||||
SPB16CH_RELE_MAP[62]="73|1| 32|4"
|
||||
SPB16CH_RELE_MAP[63]="73|1| 64|4"
|
||||
SPB16CH_RELE_MAP[64]="73|1|128|4"
|
||||
|
||||
# Scheda 5 - address 74h - GS1:chiuso, GS2:chiuso, GS3:aperto
|
||||
SPB16CH_RELE_MAP[65]="74|0| 1"
|
||||
SPB16CH_RELE_MAP[66]="74|0| 2"
|
||||
SPB16CH_RELE_MAP[67]="74|0| 4"
|
||||
SPB16CH_RELE_MAP[68]="74|0| 8"
|
||||
SPB16CH_RELE_MAP[69]="74|0| 16"
|
||||
SPB16CH_RELE_MAP[70]="74|0| 32"
|
||||
SPB16CH_RELE_MAP[71]="74|0| 64"
|
||||
SPB16CH_RELE_MAP[72]="74|0|128"
|
||||
SPB16CH_RELE_MAP[73]="74|1| 1"
|
||||
SPB16CH_RELE_MAP[74]="74|1| 2"
|
||||
SPB16CH_RELE_MAP[75]="74|1| 4"
|
||||
SPB16CH_RELE_MAP[76]="74|1| 8"
|
||||
SPB16CH_RELE_MAP[77]="74|1| 16"
|
||||
SPB16CH_RELE_MAP[78]="74|1| 32"
|
||||
SPB16CH_RELE_MAP[79]="74|1| 64"
|
||||
SPB16CH_RELE_MAP[80]="74|1|128"
|
||||
SPB16CH_RELE_MAP[65]="74|0| 1|5"
|
||||
SPB16CH_RELE_MAP[66]="74|0| 2|5"
|
||||
SPB16CH_RELE_MAP[67]="74|0| 4|5"
|
||||
SPB16CH_RELE_MAP[68]="74|0| 8|5"
|
||||
SPB16CH_RELE_MAP[69]="74|0| 16|5"
|
||||
SPB16CH_RELE_MAP[70]="74|0| 32|5"
|
||||
SPB16CH_RELE_MAP[71]="74|0| 64|5"
|
||||
SPB16CH_RELE_MAP[72]="74|0|128|5"
|
||||
SPB16CH_RELE_MAP[73]="74|1| 1|5"
|
||||
SPB16CH_RELE_MAP[74]="74|1| 2|5"
|
||||
SPB16CH_RELE_MAP[75]="74|1| 4|5"
|
||||
SPB16CH_RELE_MAP[76]="74|1| 8|5"
|
||||
SPB16CH_RELE_MAP[77]="74|1| 16|5"
|
||||
SPB16CH_RELE_MAP[78]="74|1| 32|5"
|
||||
SPB16CH_RELE_MAP[79]="74|1| 64|5"
|
||||
SPB16CH_RELE_MAP[80]="74|1|128|5"
|
||||
|
||||
# Scheda 6 - address 75h - GS1:aperto, GS2:chiuso, GS3:aperto
|
||||
SPB16CH_RELE_MAP[81]="75|0| 1"
|
||||
SPB16CH_RELE_MAP[82]="75|0| 2"
|
||||
SPB16CH_RELE_MAP[83]="75|0| 4"
|
||||
SPB16CH_RELE_MAP[84]="75|0| 8"
|
||||
SPB16CH_RELE_MAP[85]="75|0| 16"
|
||||
SPB16CH_RELE_MAP[86]="75|0| 32"
|
||||
SPB16CH_RELE_MAP[87]="75|0| 64"
|
||||
SPB16CH_RELE_MAP[88]="75|0|128"
|
||||
SPB16CH_RELE_MAP[89]="75|1| 1"
|
||||
SPB16CH_RELE_MAP[90]="75|1| 2"
|
||||
SPB16CH_RELE_MAP[91]="75|1| 4"
|
||||
SPB16CH_RELE_MAP[92]="75|1| 8"
|
||||
SPB16CH_RELE_MAP[93]="75|1| 16"
|
||||
SPB16CH_RELE_MAP[94]="75|1| 32"
|
||||
SPB16CH_RELE_MAP[95]="75|1| 64"
|
||||
SPB16CH_RELE_MAP[96]="75|1|128"
|
||||
SPB16CH_RELE_MAP[81]="75|0| 1|6"
|
||||
SPB16CH_RELE_MAP[82]="75|0| 2|6"
|
||||
SPB16CH_RELE_MAP[83]="75|0| 4|6"
|
||||
SPB16CH_RELE_MAP[84]="75|0| 8|6"
|
||||
SPB16CH_RELE_MAP[85]="75|0| 16|6"
|
||||
SPB16CH_RELE_MAP[86]="75|0| 32|6"
|
||||
SPB16CH_RELE_MAP[87]="75|0| 64|6"
|
||||
SPB16CH_RELE_MAP[88]="75|0|128|6"
|
||||
SPB16CH_RELE_MAP[89]="75|1| 1|6"
|
||||
SPB16CH_RELE_MAP[90]="75|1| 2|6"
|
||||
SPB16CH_RELE_MAP[91]="75|1| 4|6"
|
||||
SPB16CH_RELE_MAP[92]="75|1| 8|6"
|
||||
SPB16CH_RELE_MAP[93]="75|1| 16|6"
|
||||
SPB16CH_RELE_MAP[94]="75|1| 32|6"
|
||||
SPB16CH_RELE_MAP[95]="75|1| 64|6"
|
||||
SPB16CH_RELE_MAP[96]="75|1|128|6"
|
||||
|
||||
# Scheda 7 - address 76h - GS1:chiuso, GS2:aperto, GS3:aperto
|
||||
SPB16CH_RELE_MAP[97]="76|0| 1"
|
||||
SPB16CH_RELE_MAP[98]="76|0| 2"
|
||||
SPB16CH_RELE_MAP[99]="76|0| 4"
|
||||
SPB16CH_RELE_MAP[100]="76|0| 8"
|
||||
SPB16CH_RELE_MAP[101]="76|0| 16"
|
||||
SPB16CH_RELE_MAP[102]="76|0| 32"
|
||||
SPB16CH_RELE_MAP[103]="76|0| 64"
|
||||
SPB16CH_RELE_MAP[104]="76|0|128"
|
||||
SPB16CH_RELE_MAP[105]="76|1| 1"
|
||||
SPB16CH_RELE_MAP[106]="76|1| 2"
|
||||
SPB16CH_RELE_MAP[107]="76|1| 4"
|
||||
SPB16CH_RELE_MAP[108]="76|1| 8"
|
||||
SPB16CH_RELE_MAP[109]="76|1| 16"
|
||||
SPB16CH_RELE_MAP[110]="76|1| 32"
|
||||
SPB16CH_RELE_MAP[111]="76|1| 64"
|
||||
SPB16CH_RELE_MAP[112]="76|1|128"
|
||||
SPB16CH_RELE_MAP[97]="76|0| 1|7"
|
||||
SPB16CH_RELE_MAP[98]="76|0| 2|7"
|
||||
SPB16CH_RELE_MAP[99]="76|0| 4|7"
|
||||
SPB16CH_RELE_MAP[100]="76|0| 8|7"
|
||||
SPB16CH_RELE_MAP[101]="76|0| 16|7"
|
||||
SPB16CH_RELE_MAP[102]="76|0| 32|7"
|
||||
SPB16CH_RELE_MAP[103]="76|0| 64|7"
|
||||
SPB16CH_RELE_MAP[104]="76|0|128|7"
|
||||
SPB16CH_RELE_MAP[105]="76|1| 1|7"
|
||||
SPB16CH_RELE_MAP[106]="76|1| 2|7"
|
||||
SPB16CH_RELE_MAP[107]="76|1| 4|7"
|
||||
SPB16CH_RELE_MAP[108]="76|1| 8|7"
|
||||
SPB16CH_RELE_MAP[109]="76|1| 16|7"
|
||||
SPB16CH_RELE_MAP[110]="76|1| 32|7"
|
||||
SPB16CH_RELE_MAP[111]="76|1| 64|7"
|
||||
SPB16CH_RELE_MAP[112]="76|1|128|7"
|
||||
|
||||
# Scheda 8 - address 77h - GS1:aperto, GS2:aperto, GS3:aperto
|
||||
SPB16CH_RELE_MAP[113]="77|0| 1"
|
||||
SPB16CH_RELE_MAP[114]="77|0| 2"
|
||||
SPB16CH_RELE_MAP[115]="77|0| 4"
|
||||
SPB16CH_RELE_MAP[116]="77|0| 8"
|
||||
SPB16CH_RELE_MAP[117]="77|0| 16"
|
||||
SPB16CH_RELE_MAP[118]="77|0| 32"
|
||||
SPB16CH_RELE_MAP[119]="77|0| 64"
|
||||
SPB16CH_RELE_MAP[120]="77|0|128"
|
||||
SPB16CH_RELE_MAP[121]="77|1| 1"
|
||||
SPB16CH_RELE_MAP[122]="77|1| 2"
|
||||
SPB16CH_RELE_MAP[123]="77|1| 4"
|
||||
SPB16CH_RELE_MAP[124]="77|1| 8"
|
||||
SPB16CH_RELE_MAP[125]="77|1| 16"
|
||||
SPB16CH_RELE_MAP[126]="77|1| 32"
|
||||
SPB16CH_RELE_MAP[127]="77|1| 64"
|
||||
SPB16CH_RELE_MAP[128]="77|1|128"
|
||||
|
||||
|
||||
|
||||
SPB16CH_RELE_MAP[113]="77|0| 1|8"
|
||||
SPB16CH_RELE_MAP[114]="77|0| 2|8"
|
||||
SPB16CH_RELE_MAP[115]="77|0| 4|8"
|
||||
SPB16CH_RELE_MAP[116]="77|0| 8|8"
|
||||
SPB16CH_RELE_MAP[117]="77|0| 16|8"
|
||||
SPB16CH_RELE_MAP[118]="77|0| 32|8"
|
||||
SPB16CH_RELE_MAP[119]="77|0| 64|8"
|
||||
SPB16CH_RELE_MAP[120]="77|0|128|8"
|
||||
SPB16CH_RELE_MAP[121]="77|1| 1|8"
|
||||
SPB16CH_RELE_MAP[122]="77|1| 2|8"
|
||||
SPB16CH_RELE_MAP[123]="77|1| 4|8"
|
||||
SPB16CH_RELE_MAP[124]="77|1| 8|8"
|
||||
SPB16CH_RELE_MAP[125]="77|1| 16|8"
|
||||
SPB16CH_RELE_MAP[126]="77|1| 32|8"
|
||||
SPB16CH_RELE_MAP[127]="77|1| 64|8"
|
||||
SPB16CH_RELE_MAP[128]="77|1|128|8"
|
||||
|
||||
# Array contenente i gli identificativi delle schede usate
|
||||
declare -g -a SPB16CH_USED_ID
|
||||
SPB16CH_USED_ID=()
|
||||
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ function drv_spb16ch_init {
|
||||
fi
|
||||
done
|
||||
|
||||
# Cerca gli indirizzi delle schede spb16ch utilizzate per i rele che gestiscono alimentazione delle elettrovalvole bistabili
|
||||
# Cerca gli indirizzi delle schede spb16ch utilizzate per i rele che gestiscono l'alimentazione delle elettrovalvole bistabili
|
||||
for gpio in "$SUPPLY_GPIO_1" "$SUPPLY_GPIO_2"
|
||||
do
|
||||
if [[ "$gpio" == drv:spb16ch:* ]]; then
|
||||
@@ -41,6 +41,7 @@ function drv_spb16ch_init {
|
||||
done
|
||||
|
||||
# Esegue l'inizializzazione delle schede spb16ch trovate
|
||||
local address_num
|
||||
for address_num in ${address_used[@]}
|
||||
do
|
||||
echo "****** Inizializzazione address_num = $address_num *******"
|
||||
@@ -51,5 +52,16 @@ function drv_spb16ch_init {
|
||||
$DIR_SCRIPT/drv/spb16ch/scripts/mux_channel.py $address_num 0
|
||||
done
|
||||
|
||||
# Esegue l'inizializzazione dei gpio che gestiscono l'abilitazine/disabilitazione delle schede
|
||||
local board_id
|
||||
for board_id in ${SPB16CH_USED_ID[@]}
|
||||
do
|
||||
local a=SPB16CH"$board_id"_GPIO
|
||||
local gpio_n=${!a}
|
||||
|
||||
echo "******** Number used board: $board_id - inizializzazione gpio $gpio_n"
|
||||
$GPIO -g mode $gpio_n out
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,9 @@ function drv_spb16ch_rele_open {
|
||||
local address_num=${rele_data:0:2}
|
||||
local channel_num=${rele_data:3:1}
|
||||
local rele_num=${rele_data:5:3}
|
||||
local board_id=${rele_data:9:1}
|
||||
|
||||
drv_spb16ch_board_enable $board_id
|
||||
|
||||
echo address_num=$address_num
|
||||
echo channel_num=$channel_num
|
||||
@@ -51,6 +54,9 @@ function drv_spb16ch_rele_close {
|
||||
local address_num=${rele_data:0:2}
|
||||
local channel_num=${rele_data:3:1}
|
||||
local rele_num=${rele_data:5:3}
|
||||
local board_id=${rele_data:9:1}
|
||||
|
||||
drv_spb16ch_board_enable $board_id
|
||||
|
||||
echo address_num=$address_num
|
||||
echo channel_num=$channel_num
|
||||
|
||||
42
drv/spb16ch/setup.include.sh
Normal file
42
drv/spb16ch/setup.include.sh
Normal file
@@ -0,0 +1,42 @@
|
||||
#
|
||||
# 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[@]}"
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user