src/eric7/MicroPython/Devices/MCUScripts/picoWiznetConnectCpy8.py

Sun, 16 Mar 2025 12:53:12 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 16 Mar 2025 12:53:12 +0100
branch
eric7
changeset 11170
6d6199d668fb
parent 10153
ffe7432f716b
permissions
-rw-r--r--

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

eric ide

mercurial