Files
op-packages/powersupply/files/powersupply.init
T

58 lines
2.0 KiB
Bash
Executable File

#!/bin/sh /etc/rc.common
START=11
STOP=10
start() {
poe_out_power_enabled="$(uci -q get powersupply.system.poe_out_power)"
poe_out_power_gpio="$(uci -q get powersupply.system.poe_out_power_gpio)"
voltage_threshold="$(cat /sys/class/i2c-dev/i2c-0/device/0-0011/voltage_threshold)"
input_voltage="$(cat /sys/class/i2c-dev/i2c-0/device/0-0011/input_voltage)"
if [[ "$input_voltage" -lt "$voltage_threshold" ]]; then
echo 0 > /sys/class/gpio/gpio$poe_out_power_gpio/value
else
echo $poe_out_power_enabled > /sys/class/gpio/gpio$poe_out_power_gpio/value
fi
poe_out_power_control="$(uci -q get powersupply.system.poe_out_control)"
echo $poe_out_power_control > /sys/class/i2c-dev/i2c-0/device/0-0011/poeout_control
ext_power_enabled="$(uci -q get powersupply.system.ext_power)"
ext_power_gpio="$(uci -q get powersupply.system.ext_power_gpio)"
echo $ext_power_enabled > /sys/class/gpio/gpio$ext_power_gpio/value
usb_power_enabled="$(uci -q get powersupply.system.usb_power)"
usb_power_gpio="$(uci -q get powersupply.system.usb_power_gpio)"
echo $usb_power_enabled > /sys/class/gpio/gpio$usb_power_gpio/value
usb_power_control="$(uci -q get powersupply.system.usb_control)"
echo $usb_power_control > /sys/class/i2c-dev/i2c-0/device/0-0011/usb_control
}
stop() {
poe_out_power_gpio="$(uci -q get powersupply.system.poe_out_power_gpio)"
echo 0 > /sys/class/gpio/gpio$poe_out_power_gpio/value
ext_power_gpio="$(uci -q get powersupply.system.ext_power_gpio)"
echo 0 > /sys/class/gpio/gpio$ext_power_gpio/value
usb_power_gpio="$(uci -q get powersupply.system.usb_power_gpio)"
echo 0 > /sys/class/gpio/gpio$usb_power_gpio/value
}
boot() {
poe_gpio="$(uci -q get powersupply.system.poe_out_power_gpio)"
echo $poe_gpio > /sys/class/gpio/export
usb_gpio="$(uci -q get powersupply.system.usb_power_gpio)"
echo $usb_gpio > /sys/class/gpio/export
ext_gpio="$(uci -q get powersupply.system.ext_power_gpio)"
echo $ext_gpio > /sys/class/gpio/export
start
}
shutdown() {
stop
}
restart() {
start
}