Fix dodgy tabbed indentation

sammachin-gprs
Peter Roberts 2018-09-02 02:08:26 +01:00
parent 7bfb7bef22
commit ce36fadd3e
2 changed files with 76 additions and 52 deletions

View File

@ -16,71 +16,71 @@ NTP_HOSTS = ["ntp-gps.emf.camp", "0.emfbadge.pool.ntp.org", "1.emfbadge.pool.ntp
NTP_PORT = 123
def get_NTP_time():
for NTP_HOST in NTP_HOSTS:
res = query_NTP_host(NTP_HOST)
if res is not None:
return res
return None
for NTP_HOST in NTP_HOSTS:
res = query_NTP_host(NTP_HOST)
if res is not None:
return res
return None
def query_NTP_host(_NTP_HOST):
NTP_QUERY = bytearray(48)
NTP_QUERY[0] = 0x1b
# Catch exception when run on a network without working DNS
try:
addr = usocket.getaddrinfo(_NTP_HOST, NTP_PORT)[0][-1]
except OSError:
return None
s = usocket.socket(usocket.AF_INET, usocket.SOCK_DGRAM)
s.sendto(NTP_QUERY, addr)
NTP_QUERY = bytearray(48)
NTP_QUERY[0] = 0x1b
# Catch exception when run on a network without working DNS
try:
addr = usocket.getaddrinfo(_NTP_HOST, NTP_PORT)[0][-1]
except OSError:
return None
s = usocket.socket(usocket.AF_INET, usocket.SOCK_DGRAM)
s.sendto(NTP_QUERY, addr)
# Setting timeout for receiving data. Because we're using UDP,
# there's no need for a timeout on send.
msg = None
try:
msg = s.recv(48)
except OSError:
pass
finally:
s.close()
# Setting timeout for receiving data. Because we're using UDP,
# there's no need for a timeout on send.
msg = None
try:
msg = s.recv(48)
except OSError:
pass
finally:
s.close()
if msg is None:
return None
if msg is None:
return None
import struct
import struct
stratum = int(msg[1])
if stratum == 0:
# KoD, reason doesn't matter, failover to next host
return None
stratum = int(msg[1])
if stratum == 0:
# KoD, reason doesn't matter, failover to next host
return None
val = struct.unpack("!I", msg[40:44])[0]
val = struct.unpack("!I", msg[40:44])[0]
print("Using NTP Host: %s, Stratum: %d" % (_NTP_HOST, stratum))
return val - NTP_DELTA
print("Using NTP Host: %s, Stratum: %d" % (_NTP_HOST, stratum))
return val - NTP_DELTA
def set_NTP_time():
import time
print("Setting time from NTP")
import time
print("Setting time from NTP")
t = get_NTP_time()
if t is None:
print("Could not set time from NTP")
return False
t = get_NTP_time()
if t is None:
print("Could not set time from NTP")
return False
tz = 0
with database.Database() as db:
tz = db.get("timezone", 0)
tz = 0
with database.Database() as db:
tz = db.get("timezone", 0)
tz_minutes = int(abs(tz) % 100) * (1 if tz >= 0 else -1)
tz_hours = int(tz / 100)
t += (tz_hours * 3600) + (tz_minutes * 60)
tz_minutes = int(abs(tz) % 100) * (1 if tz >= 0 else -1)
tz_hours = int(tz / 100)
t += (tz_hours * 3600) + (tz_minutes * 60)
print(dir(time))
#tm = time.localtime(t)
#tm = tm[0:3] + tm[3:6]
#
rtc = machine.RTC()
#rtc.init(tm)
tm = time.localtime(t)
tm = tm[0:3] + tm[3:6]
rtc = machine.RTC()
rtc.init(tm)
return True
return True

24
time/main.py Normal file
View File

@ -0,0 +1,24 @@
"""An NTP time app"""
___name___ = "NTP time"
___license___ = "MIT"
___dependencies___ = ["ntp", "wifi"]
___categories___ = ["EMF"]
# borrowed from https://github.com/micropython/micropython/blob/master/esp8266/scripts/ntptime.py
import ugfx, ntp, wifi
# initialize screen
ugfx.init()
ugfx.clear()
# (date(2000, 1, 1) - date(1900, 1, 1)).days * 24*60*60
NTP_DELTA = 3155673600
host = "pool.ntp.org"
# set the RTC using time from ntp
# print out RTC datetime
wifi.nic()
while
ugfx.text(5, 5, repr(ntp.get_NTP_time()), ugfx.BLACK)