#!/bin/bash

# shellcheck source=meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/files/nvme_powerctrl_library.sh
source /usr/libexec/nvme_powerctrl_library.sh
U2_PRESENT_STATUS=( 1 1 1 1 1 1 1 1 )

function recovery_power()
{
    set_gpio_direction "${POWER_U2[$1]}" "low"
    sleep 0.2
    set_gpio_direction "${POWER_U2[$1]}" "high"
    sleep 0.2
    check_powergood "$1"
}


##Initial U2 present status
for i in {0..7};
do
    U2_PRESENT_STATUS[i]=$(read_gpio_input "${U2_PRESENT[$i]}")
done

## Loop while
while :
do
  for i in {0..7};
  do
    ## 1 second scan all loop
    sleep 0.125
    read_present=$(read_gpio_input "${U2_PRESENT[$i]}")
    if [ "$read_present" != "${U2_PRESENT_STATUS[$i]}" ];then
        U2_PRESENT_STATUS[i]="$read_present"
        if [ "$read_present" == $PLUGGED ];then
            echo "NVME $i Enable Power"
            enable_nvme_power "$i"
        else
            echo "NVME $i Disable Power"
            disable_nvme_power "$i"
        fi
    else
        if [ "${U2_PRESENT_STATUS[$i]}" == $PLUGGED ] &&
           [ "$(read_gpio_input "${PWRGD_U2[$i]}")" == 0 ];then
            echo "NVME $i Recovery Power"
            recovery_power "$i"
        fi
    fi
  done
done
