Skip to content

Commit 3b75d87

Browse files
committed
Merge branch 'pico2_w_changes' into sfe_rp2350_beta
2 parents 611d8f9 + 0aac3bc commit 3b75d87

36 files changed

+782
-105
lines changed

extmod/network_cyw43.c

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,29 @@ static void network_cyw43_print(const mp_print_t *print, mp_obj_t self_in, mp_pr
8989
);
9090
}
9191

92+
93+
mp_obj_t network_cyw43_get_interface(mp_int_t type) {
94+
if (type == MOD_NETWORK_STA_IF) {
95+
return MP_OBJ_FROM_PTR(&network_cyw43_wl_sta);
96+
} else {
97+
return MP_OBJ_FROM_PTR(&network_cyw43_wl_ap);
98+
}
99+
}
100+
101+
// Allow network_cyw43_make_new to be overridden
102+
#ifndef MICROPY_PY_NETWORK_CYW43_MAKE_NEW
103+
#define MICROPY_PY_NETWORK_CYW43_MAKE_NEW network_cyw43_make_new
92104
static mp_obj_t network_cyw43_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) {
93105
mp_arg_check_num(n_args, n_kw, 0, 1, false);
94106
if (n_args == 0 || mp_obj_get_int(args[0]) == MOD_NETWORK_STA_IF) {
95-
return MP_OBJ_FROM_PTR(&network_cyw43_wl_sta);
107+
return network_cyw43_get_interface(MOD_NETWORK_STA_IF);
96108
} else {
97-
return MP_OBJ_FROM_PTR(&network_cyw43_wl_ap);
109+
return network_cyw43_get_interface(MOD_NETWORK_AP_IF);
98110
}
99111
}
112+
#else
113+
mp_obj_t MICROPY_PY_NETWORK_CYW43_MAKE_NEW(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args);
114+
#endif
100115

101116
static mp_obj_t network_cyw43_send_ethernet(mp_obj_t self_in, mp_obj_t buf_in) {
102117
network_cyw43_obj_t *self = MP_OBJ_TO_PTR(self_in);
@@ -558,7 +573,7 @@ MP_DEFINE_CONST_OBJ_TYPE(
558573
mp_network_cyw43_type,
559574
MP_QSTR_CYW43,
560575
MP_TYPE_FLAG_NONE,
561-
make_new, network_cyw43_make_new,
576+
make_new, MICROPY_PY_NETWORK_CYW43_MAKE_NEW,
562577
print, network_cyw43_print,
563578
locals_dict, &network_cyw43_locals_dict
564579
);

extmod/network_cyw43.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,7 @@
2828

2929
extern const mp_obj_type_t mp_network_cyw43_type;
3030

31+
// Get the interface, where type is either MOD_NETWORK_STA_IF or MOD_NETWORK_AP_IF
32+
mp_obj_t network_cyw43_get_interface(mp_int_t type);
33+
3134
#endif // MICROPY_INCLUDED_EXTMOD_NETWORK_CYW43_H

lib/pico-sdk

Submodule pico-sdk updated 181 files

ports/rp2/CMakeLists.txt

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,12 @@ set(MICROPY_SOURCE_PORT
173173
${CMAKE_BINARY_DIR}/pins_${MICROPY_BOARD}.c
174174
)
175175

176+
if(PICO_RP2350)
177+
list(APPEND MICROPY_SOURCE_PORT
178+
rp2_psram.c
179+
)
180+
endif()
181+
176182
set(MICROPY_SOURCE_QSTR
177183
${MICROPY_SOURCE_PY}
178184
${MICROPY_DIR}/shared/readline/readline.c
@@ -195,7 +201,14 @@ set(MICROPY_SOURCE_QSTR
195201
${CMAKE_BINARY_DIR}/pins_${MICROPY_BOARD}.c
196202
)
197203

204+
if (MICROPY_PY_NETWORK_CYW43)
205+
list(APPEND MICROPY_SOURCE_QSTR
206+
${MICROPY_PORT_DIR}/rp2_network_cyw43.c
207+
)
208+
endif()
209+
198210
set(PICO_SDK_COMPONENTS
211+
boot_bootrom_headers
199212
hardware_adc
200213
hardware_base
201214
hardware_boot_lock
@@ -222,6 +235,7 @@ set(PICO_SDK_COMPONENTS
222235
pico_base_headers
223236
pico_binary_info
224237
pico_bootrom
238+
pico_flash
225239
pico_multicore
226240
pico_platform
227241
pico_platform_compiler
@@ -401,6 +415,7 @@ if (MICROPY_PY_NETWORK_CYW43)
401415

402416
list(APPEND MICROPY_SOURCE_PORT
403417
machine_pin_cyw43.c
418+
rp2_network_cyw43.c
404419
)
405420

406421
target_link_libraries(${MICROPY_TARGET}
@@ -631,8 +646,12 @@ if(NOT PICO_NUM_EXT_GPIOS)
631646
set(PICO_NUM_EXT_GPIOS 10)
632647
endif()
633648

634-
if(EXISTS "${MICROPY_BOARD_DIR}/pins.csv")
635-
set(GEN_PINS_BOARD_CSV "${MICROPY_BOARD_DIR}/pins.csv")
649+
if (NOT PICO_PINS_CSV_NAME)
650+
set(PICO_PINS_CSV_NAME pins.csv)
651+
endif()
652+
653+
if(EXISTS "${MICROPY_BOARD_DIR}/${PICO_PINS_CSV_NAME}")
654+
set(GEN_PINS_BOARD_CSV "${MICROPY_BOARD_DIR}/${PICO_PINS_CSV_NAME}")
636655
set(GEN_PINS_CSV_ARG --board-csv "${GEN_PINS_BOARD_CSV}")
637656
endif()
638657

ports/rp2/Makefile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,26 +30,26 @@ endif
3030

3131
$(VERBOSE)MAKESILENT = -s
3232

33-
CMAKE_ARGS += -DMICROPY_BOARD=$(BOARD) -DMICROPY_BOARD_DIR="$(abspath $(BOARD_DIR))"
33+
override CMAKE_ARGS += -DMICROPY_BOARD=$(BOARD) -DMICROPY_BOARD_DIR="$(abspath $(BOARD_DIR))"
3434

3535
ifdef USER_C_MODULES
36-
CMAKE_ARGS += -DUSER_C_MODULES=${USER_C_MODULES}
36+
override CMAKE_ARGS += -DUSER_C_MODULES=${USER_C_MODULES}
3737
endif
3838

3939
ifneq ($(FROZEN_MANIFEST),)
40-
CMAKE_ARGS += -DMICROPY_FROZEN_MANIFEST=${FROZEN_MANIFEST}
40+
override CMAKE_ARGS += -DMICROPY_FROZEN_MANIFEST=${FROZEN_MANIFEST}
4141
endif
4242

4343
ifeq ($(DEBUG),1)
44-
CMAKE_ARGS += -DCMAKE_BUILD_TYPE=Debug
44+
override CMAKE_ARGS += -DCMAKE_BUILD_TYPE=Debug
4545
endif
4646

4747
ifdef BOARD_VARIANT
48-
CMAKE_ARGS += -DMICROPY_BOARD_VARIANT=$(BOARD_VARIANT)
48+
override CMAKE_ARGS += -DMICROPY_BOARD_VARIANT=$(BOARD_VARIANT)
4949
endif
5050

5151
ifdef MICROPY_PREVIEW_VERSION_2
52-
CMAKE_ARGS += -DMICROPY_PREVIEW_VERSION_2=1
52+
override CMAKE_ARGS += -DMICROPY_PREVIEW_VERSION_2=1
5353
endif
5454

5555
HELP_BUILD_ERROR ?= "See \033[1;31mhttps://github.com/micropython/micropython/wiki/Build-Troubleshooting\033[0m"

ports/rp2/boards/RPI_PICO/manifest.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file is only used if cyw43 is enabled
2+
include("$(PORT_DIR)/boards/manifest.py")
3+
4+
require("bundle-networking")
5+
6+
# Bluetooth
7+
require("aioble")
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
# cmake file for Raspberry Pi Pico
22
set(PICO_BOARD "pico")
33
set(PICO_PLATFORM "rp2040")
4+
5+
if (PICO_CYW43_SUPPORTED)
6+
include(enable_cyw43.cmake)
7+
set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py)
8+
set(PICO_PINS_CSV_NAME pins_cyw43.csv)
9+
endif()
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
11
// Board and hardware specific configuration
22
#define MICROPY_HW_BOARD_NAME "Raspberry Pi Pico"
3+
4+
#if MICROPY_PY_NETWORK_CYW43
5+
// we have to reduce the flash storage if cyw43 is enabled or else the firmware gets overwritten
6+
#define MICROPY_HW_FLASH_STORAGE_BYTES (848 * 1024)
7+
#include "enable_cyw43.h"
8+
#define CYW43_PIN_WL_DYNAMIC 1
9+
#define CYW43_PIO_CLOCK_DIV_DYNAMIC 1
10+
#else
311
#define MICROPY_HW_FLASH_STORAGE_BYTES (1408 * 1024)
12+
#endif
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
GP0,GPIO0
2+
GP1,GPIO1
3+
GP2,GPIO2
4+
GP3,GPIO3
5+
GP4,GPIO4
6+
GP5,GPIO5
7+
GP6,GPIO6
8+
GP7,GPIO7
9+
GP8,GPIO8
10+
GP9,GPIO9
11+
GP10,GPIO10
12+
GP11,GPIO11
13+
GP12,GPIO12
14+
GP13,GPIO13
15+
GP14,GPIO14
16+
GP15,GPIO15
17+
GP16,GPIO16
18+
GP17,GPIO17
19+
GP18,GPIO18
20+
GP19,GPIO19
21+
GP20,GPIO20
22+
GP21,GPIO21
23+
GP22,GPIO22
24+
GP25,GPIO25
25+
GP26,GPIO26
26+
GP27,GPIO27
27+
GP28,GPIO28
28+
LED,GPIO25
29+
WL_GPIO0,EXT_GPIO0
30+
WL_GPIO1,EXT_GPIO1
31+
WL_GPIO2,EXT_GPIO2
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file is only used if cyw43 is enabled
2+
include("$(PORT_DIR)/boards/manifest.py")
3+
4+
require("bundle-networking")
5+
6+
# Bluetooth
7+
require("aioble")

0 commit comments

Comments
 (0)