【问题标题】:Why XBEE Sensor.py checks if self.__tracer.info():为什么 XBEE Sensor.py 会检查 self.__tracer.info():
【发布时间】:2012-12-04 12:19:27
【问题描述】:

我一直在使用 XBEE S2B Pro 和 ConnectPort X4,我对可以在文件夹中找到的驱动器 xbee_sensor.py 有一些疑问 C:\Program Files\Digi\python\DevTools-2.1\Dia\Dia_2.1.0\src\devices\xbee\xbee_devices\xbee_sensor.py

我在驱动器中插入了一些 Traces 以了解其工作原理。

在我的一个痕迹中,我可以看到里面 def sample_indication(self, buf, addr): sn-p

if self.__tracer.info():
    msg = []
    TRACER.critical('msg = [] %s', self.__tracer.info())
else:
    msg = None
    TRACER.critical('msg = None %s', self.__tracer.info())

返回msg = None False

由于后续代码依赖于msg的内容

if msg is not None:
    msg.append("%d %s" % (temperature, scale))

温度没有附加到msg缓冲区,导致msg缓冲区没有填充任何数据。

我的问题是:为什么测试self.__tracer.info() 完成了?

【问题讨论】:

    标签: python xbee


    【解决方案1】:

    Antonio,发生了一些未记录的行为...

    查看第 921 行的 src/core/tracing.py,我们有

    def info(self, msg=None, *args):
        '''
        Send a message at the warning level.
        '''
        return self.log(LEVELS['INFO'], msg, *args)
    

    def log(self, level, msg, *args):
        '''
        All other exposed Tracer methods call this method with their
        respective numerical values as the level argument.
    
        '''
        # basic cut-off
        if self.level > level:
            return False
    
        if msg == None:
            True
        ...
    

    在第 866 行。

    所以

    self.__tracer.info()
    

    如果将记录信息级消息,则返回 True。

    【讨论】:

      猜你喜欢
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 2014-08-02
      • 1970-01-01
      相关资源
      最近更新 更多