From b6eb54566d8f303800a606ea0aba397e81d7ad78 Mon Sep 17 00:00:00 2001 From: Alvaro Capellan Date: Tue, 9 Aug 2016 11:38:47 +0200 Subject: [PATCH] Parse MasterBoardData correctly for all firmware versions --- urx/ursecmon.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/urx/ursecmon.py b/urx/ursecmon.py index ce8dd1c..197ea74 100644 --- a/urx/ursecmon.py +++ b/urx/ursecmon.py @@ -88,8 +88,12 @@ class ParserUtils(object): elif ptype == 5: allData["LaserPointer(OBSOLETE)"] = self._get_data(pdata, "iBddd", ("size", "type")) elif ptype == 3: - #fmt = "iBhhbbddbbddffffBBb" # firmware 1.6, 1.7, 1.8 - fmt = "iBiibbddbbddffffBBb" # firmware 3.0, 3.1, 3.2 + + if self.version >= (3, 0): + fmt = "iBiibbddbbddffffBBb" # firmware >= 3.0 + else: + fmt = "iBhhbbddbbddffffBBb" # firmware < 3.0 + allData["MasterBoardData"] = self._get_data(pdata, fmt, ("size", "type", "digitalInputBits", "digitalOutputBits", "analogInputRange0", "analogInputRange1", "analogInput0", "analogInput1", "analogInputDomain0", "analogInputDomain1", "analogOutput0", "analogOutput1", "masterBoardTemperature", "robotVoltage48V", "robotCurrent", "masterIOCurrent")) # , "masterSafetyState" ,"masterOnOffState", "euromap67InterfaceInstalled" )) elif ptype == 2: allData["ToolData"] = self._get_data(pdata, "iBbbddfBffB", ("size", "type", "analoginputRange2", "analoginputRange3", "analogInput2", "analogInput3", "toolVoltage48V", "toolOutputVoltage", "toolCurrent", "toolTemperature", "toolMode"))