driver spb16ch: corretto inizializzazione e pilotaggio schede, aumentato prestazioni di esecuzione script staticizzando in fase di init gli identificativi delle board utilizzate in modo che che non vengano ricalcolati ad ogni esecuzione successiva dello script
This commit is contained in:
@@ -10,8 +10,6 @@ function drv_spb16ch_board_enable {
|
||||
|
||||
local board_id=$1
|
||||
|
||||
drv_spb16ch_board_disable_all
|
||||
|
||||
local a=SPB16CH"$board_id"_GPIO
|
||||
local gpio_n=${!a}
|
||||
|
||||
@@ -20,6 +18,22 @@ function drv_spb16ch_board_enable {
|
||||
|
||||
}
|
||||
|
||||
#
|
||||
# Disabilita una scheda spb16ch
|
||||
# $1 identificativo scheda da disabilitare
|
||||
#
|
||||
function drv_spb16ch_board_disable {
|
||||
|
||||
local board_id=$1
|
||||
|
||||
local a=SPB16CH"$board_id"_GPIO
|
||||
local gpio_n=${!a}
|
||||
|
||||
echo "** drv_spb16ch_board_disable() - Disable board: $board_id - gpio $gpio_n"
|
||||
$GPIO -g write $gpio_n $SPB16CH_GPIO_OFF
|
||||
|
||||
}
|
||||
|
||||
#
|
||||
# Disabilita tutte le schede
|
||||
#
|
||||
@@ -39,3 +53,28 @@ function drv_spb16ch_board_disable_all {
|
||||
|
||||
}
|
||||
|
||||
#
|
||||
# Memorizza in un file di appoggio gli id delle schede spb16ch utilizzate
|
||||
#
|
||||
function drv_spb16ch_boards_id_store {
|
||||
|
||||
echo "${SPB16CH_USED_ID[@]}" > "$SPB16CH_BOARD_ID_STORE_FILE"
|
||||
|
||||
}
|
||||
|
||||
#
|
||||
# Recupera gli di delle schede spb16ch utilizzate leggendoli dal file di appoggio
|
||||
# $1 identificativi schede da salvare
|
||||
#
|
||||
function drv_spb16ch_boards_id_load {
|
||||
|
||||
if [ -f "$SPB16CH_BOARD_ID_STORE_FILE" ]; then
|
||||
for board_id in $(cat "$SPB16CH_BOARD_ID_STORE_FILE")
|
||||
do
|
||||
SPB16CH_USED_ID+=("$board_id")
|
||||
done
|
||||
else
|
||||
log_write "spb16ch: file $SPB16CH_BOARD_ID_STORE_FILE not found: remember to run 'piGarden init' to generate the file"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user