Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.apo.nmsu.edu/Telescopes/TCC/html/format_axis_cmd_state_and_err_8py_source.html
Дата изменения: Tue Sep 15 02:25:37 2015
Дата индексирования: Sun Apr 10 05:12:58 2016
Кодировка:

Поисковые слова: ion drive
lsst.tcc: python/tcc/msg/formatAxisCmdStateAndErr.py Source File
lsst.tcc  1.2.2-3-g89ecb63
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
formatAxisCmdStateAndErr.py
Go to the documentation of this file.
1 from __future__ import division, absolute_import
2 
3 import itertools
4 
5 from tcc.base import AxisStateValDict, AxisErrValDict, Obj
6 
7 __all__ = ["formatAxisCmdStateAndErr"]
8 
10  """!Format AxisCmdState, AxisErrCode and AxisNoTrack based on what has changed
11  """
12  def __init__(self):
13  self.obj = Obj()
14 
15  def __call__(self, obj, showAll=False):
16  """!Return a message code and formatted string
17 
18  @param[in] obj current object block
19  @param[in] showAll if True show data even if not changed
20  """
21  msgCode = "i"
22  msgList = []
23  if showAll or self.obj.axisCmdState != obj.axisCmdState:
24  msgList.append("AxisCmdState=%s" % (", ".join(AxisStateValDict.get(cmdState, "?") for cmdState in obj.axisCmdState),))
25 
26  if showAll or self.obj.axisErrCode != obj.axisErrCode:
27  msgList.append("AxisErrCode=%s" % (", ".join(AxisErrValDict.get(errCode, "?") for errCode in obj.axisErrCode),))
28 
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)):
34  msgCode = "w"
35 
36  self.obj = Obj(obj) # deep copy
37 
38  return msgCode, "; ".join(msgList)
39 
40 formatAxisCmdStateAndErr = _FormatAxisCmdStateAndErr()
def __call__
Return a message code and formatted string.
Format AxisCmdState, AxisErrCode and AxisNoTrack based on what has changed.