|
1 try: |
|
2 import wiznet_config |
|
3 |
|
4 def connect_lan(): |
|
5 from adafruit_wiznet5k import adafruit_wiznet5k |
|
6 |
|
7 global nic |
|
8 |
|
9 try: |
|
10 ifconfig = wiznet_config.ifconfig |
|
11 except AttributeError: |
|
12 print("The network configuration in 'wiznet_config.py' is invalid.") |
|
13 return None |
|
14 |
|
15 try: |
|
16 nic |
|
17 except NameError: |
|
18 nic = None |
|
19 |
|
20 if nic is None: |
|
21 import board |
|
22 import busio |
|
23 import digitalio |
|
24 from adafruit_wiznet5k.adafruit_wiznet5k import WIZNET5K |
|
25 |
|
26 SPI0_RX = board.GP16 |
|
27 SPI0_CSn = board.GP17 |
|
28 SPI0_SCK = board.GP18 |
|
29 SPI0_TX = board.GP19 |
|
30 W5x00_RSTn = board.GP20 |
|
31 |
|
32 ethernetRst = digitalio.DigitalInOut(W5x00_RSTn) |
|
33 ethernetRst.direction = digitalio.Direction.OUTPUT |
|
34 |
|
35 cs = digitalio.DigitalInOut(SPI0_CSn) |
|
36 spi = busio.SPI(SPI0_SCK, MOSI=SPI0_TX, MISO=SPI0_RX) |
|
37 |
|
38 nic = WIZNET5K(spi, cs, reset=ethernetRst, is_dhcp=False) |
|
39 |
|
40 nic.mac_address = adafruit_wiznet5k._DEFAULT_MAC |
|
41 if ifconfig == 'dhcp': |
|
42 nic.set_dhcp(response_timeout=14) |
|
43 else: |
|
44 nic.ifconfig = ( |
|
45 nic.unpretty_ip(ifconfig[0]), |
|
46 nic.unpretty_ip(ifconfig[1]), |
|
47 nic.unpretty_ip(ifconfig[2]), |
|
48 tuple(int(a) for a in ifconfig[3].split('.')), |
|
49 ) |
|
50 |
|
51 return nic |
|
52 |
|
53 except ImportError: |
|
54 print( |
|
55 "The network configuration is kept in 'wiznet_config.py'. Please add it there." |
|
56 ) |
|
57 def connect_lan(): |
|
58 return None |