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

Wed, 15 Mar 2023 16:13:35 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 15 Mar 2023 16:13:35 +0100
branch
eric7
changeset 9902
a3136eb28587
parent 9885
05cbf70e8f10
child 10153
ffe7432f716b
permissions
-rw-r--r--

MicroPython
- added a menu entry to set a CircuitPython device into 'UF2 Boot' mode

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

eric ide

mercurial