arygon.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:bitpay-brick 作者: javgh 项目源码 文件源码
def __init__(self, transport):
        self.transport = transport
        for speed in (230400, 9600, 19200, 38400, 57600, 115200):
            log.debug("try serial baud rate {0} kbps".format(speed))
            self.transport.tty = self.transport.serial.Serial(
                self.transport.tty.port, baudrate=speed, timeout=0.1)
            log.debug("read arygon firmware version")
            self.transport.tty.write("0av")
            version = self.transport.tty.readline()
            if version.startswith("FF0000"):
                log.debug("Arygon Reader {0}".format(version.strip()[-4:]))                
                self.transport.tty.timeout = 1.0
                self.transport.tty.writeTimeout = 1.0
                log.debug("set mcu-tama speed to 230.4 kbps")
                self.transport.tty.write("0at05")
                if self.transport.tty.readline().strip() != "FF000000":
                    log.debug("failed to set mcu-tama speed")
                    break
                if self.transport.tty.baudrate != 230400:
                    log.debug("set mcu-host speed to 230.4 kbps")
                    self.transport.tty.write("0ah05")
                    if self.transport.tty.readline().strip() != "FF000000":
                        log.debug("failed to set mcu-host speed")
                        break
                    time.sleep(0.5)
                    self.transport.tty.close()
                    self.transport.tty = self.transport.serial.Serial(
                        self.transport.tty.port, baudrate=230400,
                        timeout=1.0, writeTimeout=1.0)
                return super(Chipset, self).__init__(transport)
        raise IOError(errno.ENODEV, os.strerror(errno.ENODEV))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号