def get_time(self):
"""Read out stations internal time.
@return: datetime
"""
bintime = self._send_command(SIReader.C_GET_TIME, b'')[1]
year = byte2int(bintime[0])
month = byte2int(bintime[1])
day = byte2int(bintime[2])
am_pm = byte2int(bintime[3]) & 0b1
second = SIReader._to_int(bintime[4:6])
hour = am_pm * 12 + second // 3600
second %= 3600
minute = second // 60
second %= 60
ms = int(round(byte2int(bintime[6]) / 256.0 * 1000000))
self.beep()
try:
return datetime(year, month, day, hour, minute, second, ms)
except ValueError:
# return None if the time reported by the station is impossible
return None
评论列表
文章目录