summaryrefslogtreecommitdiff
diff options
-rwxr-xr-xbin/edid_cycle.py9
-rw-r--r--units/pig/jobs.pxu8
-rw-r--r--units/pig/resource.pxu5
3 files changed, 19 insertions, 3 deletions
diff --git a/bin/edid_cycle.py b/bin/edid_cycle.py
index 7e3c97e..a6daf1c 100755
--- a/bin/edid_cycle.py
+++ b/bin/edid_cycle.py
@@ -10,6 +10,7 @@ https://docs.google.com/document/d/1kjgaazt2IMskn_HPjN7adXYx1O5zXc39DRayZ0PYh9Y
The command-line argument for the program is the address of the RaspberryPi
Host (optionally with a username), e.g.: pi@192.168.1.100
"""
+import os
import re
import subprocess
import sys
@@ -27,8 +28,8 @@ def check_resolution():
def change_edid(host, edid_file):
with open(edid_file, 'rb') as f:
- cmd = ['ssh', host, 'v4l2-ctl', '--set-edid=file=-,format=raw',
- '--fix-edid-checksums']
+ cmd = ['ssh', host, '/snap/bin/pigbox', 'run',
+ '\'v4l2-ctl --set-edid=file=-,format=raw --fix-edid-checksums\'']
subprocess.check_output(cmd, input=f.read())
@@ -38,7 +39,9 @@ def main():
failed = False
for res in ['2560x1440', '1920x1080', '1280x1024']:
print('changing EDID to {}'.format(res))
- change_edid(sys.argv[1], '{}.edid'.format(res))
+ edid_file = os.path.expandvars(os.path.join(
+ '$PLAINBOX_PROVIDER_DATA', 'edids', '{}.edid'.format(res)))
+ change_edid(sys.argv[1], edid_file)
time.sleep(1)
print('checking resolution... ', end='')
actual_res = check_resolution()
diff --git a/units/pig/jobs.pxu b/units/pig/jobs.pxu
new file mode 100644
index 0000000..2bbcaa6
--- /dev/null
+++ b/units/pig/jobs.pxu
@@ -0,0 +1,8 @@
+id: monitor/pig-edid
+category_id: com.canonical.plainbox::monitor
+plugin: shell
+estimated_duration: 60
+_summary: Check if the system automatically changes the resolution based on EDID
+requires: pig.hdmi_bridge == 'installed'
+environ: PIG_HOST
+command: edid_cycle.py $PIG_HOST
diff --git a/units/pig/resource.pxu b/units/pig/resource.pxu
new file mode 100644
index 0000000..eb62e22
--- /dev/null
+++ b/units/pig/resource.pxu
@@ -0,0 +1,5 @@
+id: pig
+plugin: resource
+_summary: Get Pig's capabilities
+environ: PIG_HOST
+command: ssh -q -o 'StrictHostKeyChecking=no' $PIG_HOST /snap/bin/pigbox capabilities