servod: provide ability to retrieve servo serial number
It is useful to be able to find out the serial number of the servo
servod is connected to. Add a 'pseudo control' to retrieve the serial
number, if known by servod.
BRANCH=none
BUG=none
TEST=ran the following commands:
$ dut-control serialname
serialname:780735-00084
$ dut-control -i serialname
serialname:serial number of the connected servo
Change-Id: Ib5ed09ece69dd104d0692b9794f01456facd6092
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/262204
Reviewed-by: Todd Broch <tbroch@chromium.org>
diff --git a/servo/data/common.xml b/servo/data/common.xml
index c10a0ae..655d2d4 100644
--- a/servo/data/common.xml
+++ b/servo/data/common.xml
@@ -50,4 +50,9 @@
<doc>Forces a delay in seconds, according to the parameter</doc>
<params cmd="set" interface="servo" drv="sleep" input_type="float"/>
</control>
+ <control>
+ <name>serialname</name>
+ <doc>serial number of the connected servo</doc>
+ <params not_applicable="0"></params>
+ </control>
</root>
diff --git a/servo/servo_server.py b/servo/servo_server.py
index 02749b3..adaed40 100755
--- a/servo/servo_server.py
+++ b/servo/servo_server.py
@@ -597,6 +597,10 @@
HwDriverError: Error occurred while using drv
"""
self._logger.debug("name(%s)" % (name))
+ if name == 'serialname':
+ if self._serialname:
+ return self._serialname
+ return 'unknown'
(param, drv) = self._get_param_drv(name)
try:
val = drv.get()