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

Sun, 12 Mar 2023 14:56:04 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 12 Mar 2023 14:56:04 +0100
branch
mpy_network
changeset 9878
a82014a9e57b
child 9890
66a6d3f131cc
permissions
-rw-r--r--

MicroPython
- Added support for Ethernet enabled boards.

9878
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 try:
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2 import wiznet_config
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 def connectLan():
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5 import network
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 import time
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 from machine import Pin, SPI
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 spi = SPI(0, 2_000_000, mosi=Pin(19), miso=Pin(16), sck=Pin(18))
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 nic = network.WIZNET5K(spi, Pin(17), Pin(20))
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 nic.active(False)
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 nic.active(True)
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 nic.ifconfig(wiznet_config.ifconfig)
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 max_wait = 140
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 while max_wait:
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 if nic.isconnected():
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 break
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 max_wait -= 1
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 time.sleep(0.1)
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 if nic.isconnected():
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 print("Connected to LAN:", nic.ifconfig())
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 else:
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 print("Connection to LAN failed.")
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 return nic
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 except ImportError:
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 print(
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 "The network configuration is kept in 'wiznet_config.py'. Please add it there."
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 )
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 def connectLan():
a82014a9e57b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 return None

eric ide

mercurial