Added the Adafruit Feather nRF52840 to the list of known NRF52 boards and changed the list of known CircuitPython boards to be more explicit with respect to Adafruit boards (i.e. VID 0x239A).
9885
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1
|
def connect_lan(): |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2
|
import os |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3
|
from adafruit_wiznet5k import adafruit_wiznet5k |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4
|
|
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5
|
global nic |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6
|
|
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7
|
if os.getenv("WIZNET_IFCONFIG_0") is None: |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8
|
print("The network configuration is kept in 'settings.toml'") |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9
|
print("with the keys 'WIZNET_IFCONFIG_0' to 'WIZNET_IFCONFIG_3'.") |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10
|
print("Please add them there.") |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11
|
return None |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12
|
|
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13
|
try: |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14
|
nic |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15
|
except NameError: |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16
|
nic = None |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17
|
|
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18
|
if nic is None: |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19
|
import board |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20
|
import busio |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21
|
import digitalio |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22
|
from adafruit_wiznet5k.adafruit_wiznet5k import WIZNET5K |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23
|
|
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24
|
SPI0_RX = board.GP16 |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25
|
SPI0_CSn = board.GP17 |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26
|
SPI0_SCK = board.GP18 |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27
|
SPI0_TX = board.GP19 |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28
|
W5x00_RSTn = board.GP20 |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29
|
|
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30
|
ethernetRst = digitalio.DigitalInOut(W5x00_RSTn) |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31
|
ethernetRst.direction = digitalio.Direction.OUTPUT |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32
|
|
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33
|
cs = digitalio.DigitalInOut(SPI0_CSn) |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34
|
spi = busio.SPI(SPI0_SCK, MOSI=SPI0_TX, MISO=SPI0_RX) |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35
|
|
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36
|
nic = WIZNET5K(spi, cs, reset=ethernetRst, is_dhcp=False) |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37
|
|
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38
|
nic.mac_address = adafruit_wiznet5k._DEFAULT_MAC |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39
|
if os.getenv("WIZNET_IFCONFIG_0") == 'dhcp': |
10153
|
40
|
nic.set_dhcp(hostname=os.getenv("WIZNET_HOSTNAME")) |
9885
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41
|
else: |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42
|
nic.ifconfig = ( |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43
|
nic.unpretty_ip(os.getenv("WIZNET_IFCONFIG_0")), |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44
|
nic.unpretty_ip(os.getenv("WIZNET_IFCONFIG_1")), |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45
|
nic.unpretty_ip(os.getenv("WIZNET_IFCONFIG_2")), |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46
|
tuple(int(a) for a in os.getenv("WIZNET_IFCONFIG_3").split('.')), |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47
|
) |
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48
|
|
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49
|
return nic |