Merge "Update drivetrain_lib_test to use y2016 stuff."
diff --git a/NO_BUILD_AMD64 b/NO_BUILD_AMD64
index 391b1cb..2536534 100644
--- a/NO_BUILD_AMD64
+++ b/NO_BUILD_AMD64
@@ -1,5 +1,4 @@
-//aos/externals:wpilib
--//aos/externals:wpilib_2015
-//third_party/allwpilib_2016/...
-//third_party/ntcore_2016/...
-//frc971/wpilib/...
diff --git a/frc971/analysis/analysis.py b/frc971/analysis/analysis.py
index e477bdd..48cc8bc 100755
--- a/frc971/analysis/analysis.py
+++ b/frc971/analysis/analysis.py
@@ -44,6 +44,8 @@
None
"""
pline = ParseLine(line)
+ pline_data = None
+
for key in self.signal:
value = self.signal[key]
binary = key[0]
@@ -61,10 +63,12 @@
# Make sure that we're looking at the right binary structure instance.
if binary == pline.name:
if pline.msg.startswith(struct_instance_name + ': '):
- # Parse the structure and traverse it as specified in
- # `data_search_path`. This lets the user access very deeply nested
- # structures.
- _, _, data = pline.ParseStruct()
+ # Parse the structure once.
+ if pline_data is None:
+ _, _, pline_data = pline.ParseStruct()
+ # Traverse the structure as specified in `data_search_path`.
+ # This lets the user access very deeply nested structures.
+ data = pline_data
for path in data_search_path:
data = data[path]