summaryrefslogtreecommitdiff
path: root/extra/usb_power/convert_servo_ina.py
diff options
context:
space:
mode:
Diffstat (limited to 'extra/usb_power/convert_servo_ina.py')
-rwxr-xr-xextra/usb_power/convert_servo_ina.py74
1 files changed, 74 insertions, 0 deletions
diff --git a/extra/usb_power/convert_servo_ina.py b/extra/usb_power/convert_servo_ina.py
new file mode 100755
index 0000000000..188bae8799
--- /dev/null
+++ b/extra/usb_power/convert_servo_ina.py
@@ -0,0 +1,74 @@
+#!/usr/bin/python
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Program to convert power logging config from a servo_ina device
+ to a sweetberry config.
+"""
+
+
+import os
+import sys
+
+
+def fetch_records(basename):
+ """Import records from servo_ina file.
+
+ servo_ina files are python imports, and have a list of tuples with
+ the INA data.
+ (inatype, i2caddr, rail name, bus voltage, shunt ohms, mux, True)
+
+ Args:
+ basename: python import name (filename -.py)
+
+ Returns:
+ list of tuples as described above.
+ """
+ ina_desc = __import__(basename)
+ return ina_desc.inas
+
+
+def main(argv):
+ if len(argv) != 2:
+ print "usage:"
+ print " %s input.py" % argv[0]
+ return
+
+ inputf = argv[1]
+ basename = os.path.splitext(inputf)[0]
+ outputf = basename + '.board'
+ outputs = basename + '.scenario'
+
+ print "Converting %s to %s, %s" % (inputf, outputf, outputs)
+
+ inas = fetch_records(basename)
+
+
+ boardfile = open(outputf, 'w')
+ scenario = open(outputs, 'w')
+
+ boardfile.write('[\n')
+ scenario.write('[\n')
+ start = True
+
+ for rec in inas:
+ if start:
+ start = False
+ else:
+ boardfile.write(',\n')
+ scenario.write(',\n')
+
+ record = ' {"name": "%s", "rs": %f, "sweetberry": "A", "channel": %d}' % (
+ rec[2], rec[4], rec[1] - 64)
+ boardfile.write(record)
+ scenario.write('"%s"' % rec[2])
+
+ boardfile.write('\n')
+ boardfile.write(']')
+
+ scenario.write('\n')
+ scenario.write(']')
+
+if __name__ == "__main__":
+ main(sys.argv)