mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-07-27 18:41:15 +08:00
63 lines
2.1 KiB
Bash
Executable File
63 lines
2.1 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
|
|
START=11
|
|
STOP=10
|
|
USE_PROCD=1
|
|
|
|
start_service() {
|
|
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_service() {
|
|
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_service
|
|
}
|
|
|
|
service_triggers() {
|
|
procd_add_reload_trigger "powersupply"
|
|
}
|
|
|
|
reload_service() {
|
|
restart
|
|
}
|