diff options
Diffstat (limited to 'config/blinkled8')
-rw-r--r-- | config/blinkled8/blinkled.inc | 37 | ||||
-rw-r--r-- | config/blinkled8/blinkled.xml | 2 |
2 files changed, 35 insertions, 4 deletions
diff --git a/config/blinkled8/blinkled.inc b/config/blinkled8/blinkled.inc index d50cc022..f466da94 100644 --- a/config/blinkled8/blinkled.inc +++ b/config/blinkled8/blinkled.inc @@ -1,10 +1,36 @@ <?php require_once("functions.inc"); +function blinkled_rcfile() { + global $config; + $blinkled_config = $config['installedpackages']['blinkled']['config'][0]; + $stop = <<<EOD +if [ `/bin/pgrep blinkled | /usr/bin/wc -l` != 0 ]; then + /usr/bin/killall -9 blinkled + while [ `/bin/pgrep blinkled | /usr/bin/wc -l` != 0 ]; do + sleep 1 + done + fi +EOD; + + $start = "{$stop}\n"; + if (($blinkled_config['enable_led2']) && ($blinkled_config['iface_led2'])) + $start .= "\t" . blinkled_launch(convert_friendly_interface_to_real_interface_name($blinkled_config['iface_led2']), 2, true) . "\n"; + if (($blinkled_config['enable_led3']) && ($blinkled_config['iface_led3'])) + $start .= "\t" . blinkled_launch(convert_friendly_interface_to_real_interface_name($blinkled_config['iface_led3']), 3, true) . "\n"; + + conf_mount_rw(); + write_rcfile(array( + 'file' => 'blinkled.sh', + 'start' => $start, + 'stop' => $stop) + ); + conf_mount_ro(); +} + function blinkled_running () { return ((int)exec('pgrep blinkled | wc -l') > 0); } - function sync_package_blinkled() { global $config; $blinkled_config = $config['installedpackages']['blinkled']['config'][0]; @@ -16,10 +42,15 @@ function sync_package_blinkled() { if(!blinkled_running()) { blinkled_start(); } + blinkled_rcfile(); } -function blinkled_launch($int, $led) { - mwexec("/usr/local/bin/blinkled -i " . escapeshellarg($int) . " -l /dev/led/led" . escapeshellarg($led)); +function blinkled_launch($int, $led, $return = false) { + $cmd = "/usr/local/bin/blinkled -i " . escapeshellarg($int) . " -l " . escapeshellarg("/dev/led/led{$led}"); + if ($return) + return $cmd; + else + mwexec($cmd); } function blinkled_start() { diff --git a/config/blinkled8/blinkled.xml b/config/blinkled8/blinkled.xml index 298ba42e..5fb5ff7c 100644 --- a/config/blinkled8/blinkled.xml +++ b/config/blinkled8/blinkled.xml @@ -2,7 +2,7 @@ <packagegui> <title>Interfaces: Assign LEDs</title> <name>blinkled</name> - <version>20090710</version> + <version>0.4</version> <savetext>Save</savetext> <include_file>/usr/local/pkg/blinkled.inc</include_file> <menu> |