1954 # WIZnet 5x00 Ethernet interface |
1954 # WIZnet 5x00 Ethernet interface |
1955 # Note: The Adafruit NTP implementation does not close the socket after |
1955 # Note: The Adafruit NTP implementation does not close the socket after |
1956 # calling get_time(). That causes follow-on calls to fail. We |
1956 # calling get_time(). That causes follow-on calls to fail. We |
1957 # close the socket in our code as a workaround. |
1957 # close the socket in our code as a workaround. |
1958 command = """{0} |
1958 command = """{0} |
1959 def set_ntp_time(server, tz_offset): |
1959 def set_ntp_time(server, tz_offset, timeout): |
1960 import rtc |
1960 import rtc |
1961 |
1961 |
1962 from adafruit_wiznet5k import adafruit_wiznet5k_ntp |
1962 try: |
1963 |
1963 import adafruit_ntp |
1964 w5x00_init() |
1964 from adafruit_wiznet5k import adafruit_wiznet5k_socket as socket |
1965 |
1965 |
1966 server_ip = nic.pretty_ip(nic.get_host_by_name(server)) |
1966 w5x00_init() |
1967 ntp = adafruit_wiznet5k_ntp.NTP(iface=nic, ntp_address=server_ip, utc=tz_offset) |
1967 |
1968 rtc.RTC().datetime = ntp.get_time() |
1968 socket.set_interface(nic) |
1969 ntp._sock.close() |
1969 ntp = adafruit_ntp.NTP( |
1970 return True |
1970 socket, server=server, tz_offset=tz_offset, socket_timeout=timeout |
|
1971 ) |
|
1972 rtc.RTC().datetime = ntp.datetime |
|
1973 return True |
|
1974 except ImportError: |
|
1975 from adafruit_wiznet5k import adafruit_wiznet5k_ntp |
|
1976 |
|
1977 w5x00_init() |
|
1978 |
|
1979 server_ip = nic.pretty_ip(nic.get_host_by_name(server)) |
|
1980 ntp = adafruit_wiznet5k_ntp.NTP(iface=nic, ntp_address=server_ip, utc=tz_offset) |
|
1981 rtc.RTC().datetime = ntp.get_time() |
|
1982 ntp._sock.close() |
|
1983 return True |
1971 |
1984 |
1972 try: |
1985 try: |
1973 print({{ |
1986 print({{ |
1974 'result': set_ntp_time({1}, {2}), |
1987 'result': set_ntp_time({1}, {2}, {3}), |
1975 'error': '', |
1988 'error': '', |
1976 }}) |
1989 }}) |
1977 except Exception as err: |
1990 except Exception as err: |
1978 print({{ |
1991 print({{ |
1979 'result': False, |
1992 'result': False, |
1980 'error': str(err), |
1993 'error': str(err), |
1981 }}) |
1994 }}) |
1982 del set_ntp_time, w5x00_init |
1995 del set_ntp_time, w5x00_init |
1983 """.format( |
1996 """.format( |
1984 WiznetUtilities.cpyWiznetInit(), repr(server), tzOffset |
1997 WiznetUtilities.cpyWiznetInit(), repr(server), tzOffset, timeout |
1985 ) |
1998 ) |
1986 |
1999 |
1987 elif self.getDeviceData("wifi"): |
2000 elif self.getDeviceData("wifi"): |
1988 # WiFi enabled board |
2001 # WiFi enabled board |
1989 command = """ |
2002 command = """ |