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

eric ide

mercurial