1 from __future__
import division, absolute_import
5 from tcc.base import AxisStateValDict, AxisErrValDict, Obj
7 __all__ = [
"formatAxisCmdStateAndErr"]
10 """!Format AxisCmdState, AxisErrCode and AxisNoTrack based on what has changed
16 """!Return a message code and formatted string
18 @param[in] obj current object block
19 @param[in] showAll if True show data even if not changed
23 if showAll
or self.obj.axisCmdState != obj.axisCmdState:
24 msgList.append(
"AxisCmdState=%s" % (
", ".join(AxisStateValDict.get(cmdState,
"?")
for cmdState
in obj.axisCmdState),))
26 if showAll
or self.obj.axisErrCode != obj.axisErrCode:
27 msgList.append(
"AxisErrCode=%s" % (
", ".join(AxisErrValDict.get(errCode,
"?")
for errCode
in obj.axisErrCode),))
29 oldHaltedList = [errCode != 0
for errCode
in self.obj.axisErrCode]
30 newHaltedList = [errCode != 0
for errCode
in obj.axisErrCode]
31 if showAll
or oldHaltedList != newHaltedList:
32 msgList.append(
"AxisNoTrack=%s" % (
"".join(
"T" if val
else "F" for val
in newHaltedList),))
33 if any(newHalt
and not oldHalt
for oldHalt, newHalt
in itertools.izip(oldHaltedList, newHaltedList)):
38 return msgCode,
"; ".join(msgList)