diff options
Diffstat (limited to 'meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button')
3 files changed, 35 insertions, 0 deletions
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button/id-button-pressed.service b/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button/id-button-pressed.service new file mode 100644 index 000000000..f633fc307 --- /dev/null +++ b/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button/id-button-pressed.service @@ -0,0 +1,10 @@ +[Unit] +Description=ID Button Pressed Service +Wants=mapper-wait@-xyz-openbmc_project-led-groups.service +After=mapper-wait@-xyz-openbmc_project-led-groups.service +StartLimitIntervalSec=0 + +[Service] +Type=oneshot +ExecStart=/usr/bin/env toggle_identify_led.sh +SyslogIdentifier=id-button diff --git a/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button/obmc/gpio/id_button b/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button/obmc/gpio/id_button new file mode 100644 index 000000000..b1963573f --- /dev/null +++ b/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button/obmc/gpio/id_button @@ -0,0 +1,5 @@ +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=135 +POLARITY=1 +TARGET=id-button-pressed.service +EXTRA_ARGS=--continue diff --git a/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button/toggle_identify_led.sh b/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button/toggle_identify_led.sh new file mode 100755 index 000000000..eec96d3f1 --- /dev/null +++ b/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button/toggle_identify_led.sh @@ -0,0 +1,20 @@ +#!/bin/sh +# Toggle the state of identify LED Group + +SERVICE="xyz.openbmc_project.LED.GroupManager" +INTERFACE="xyz.openbmc_project.Led.Group" +PROPERTY="Asserted" + +# Get current state +object=$(busctl tree $SERVICE --list | grep identify) +state=$(busctl get-property $SERVICE $object $INTERFACE $PROPERTY \ + | awk '{print $NF;}') + +if [ "$state" == "false" ]; then + target='true' +else + target='false' +fi + +# Set target state +busctl set-property $SERVICE $object $INTERFACE $PROPERTY b $target |