Skip to content

Commit

Permalink
mimxrt/WLAN: Adapt Makefile and mpconfigport.h.
Browse files Browse the repository at this point in the history
The switch for enabling NinaW10 is MICROPY_PY_NETWORK_NINAW10.

Signed-off-by: robert-hh <robert@hammelrath.com>
  • Loading branch information
robert-hh committed Jul 2, 2023
1 parent 3aefcbd commit 79df245
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 5 deletions.
11 changes: 11 additions & 0 deletions ports/mimxrt/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,17 @@ SRC_ETH_C += \
hal/phy/mdio/enet/fsl_enet_mdio.c
endif

ifeq ($(MICROPY_PY_NETWORK_NINAW10),1)
CFLAGS += -DMICROPY_PY_NETWORK_NINAW10=1
INC += -I$(TOP)/drivers/ninaw10

SRC_C += \
drivers/ninaw10/nina_bt_hci.c \
drivers/ninaw10/nina_wifi_drv.c \
drivers/ninaw10/nina_wifi_bsp.c \
drivers/ninaw10/machine_pin_nina.c
endif

# NXP SDK sources
SRC_HAL_IMX_C += \
$(MCU_DIR)/drivers/fsl_clock.c \
Expand Down
36 changes: 31 additions & 5 deletions ports/mimxrt/mpconfigport.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ uint32_t trng_random_u32(void);
#define MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF (1)
#define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_MPZ)
#define MICROPY_SCHEDULER_DEPTH (8)
#define MICROPY_ENABLE_SCHEDULER (1)
#define MICROPY_SCHEDULER_STATIC_NODES (1)
#define MICROPY_VFS (1)

// Control over Python builtins
Expand Down Expand Up @@ -108,19 +110,24 @@ uint32_t trng_random_u32(void);
#ifndef MICROPY_PY_SOCKET
#define MICROPY_PY_SOCKET (1)
#endif
#define MICROPY_PY_WEBSOCKET (MICROPY_PY_LWIP)
#define MICROPY_PY_WEBREPL (MICROPY_PY_LWIP)

#ifndef MICROPY_PY_SSL
#define MICROPY_PY_SSL (1)
#endif
#define MICROPY_PY_WEBSOCKET (MICROPY_PY_LWIP || MICROPY_PY_NETWORK_NINAW10)
#define MICROPY_PY_WEBREPL (MICROPY_PY_LWIP || MICROPY_PY_NETWORK_NINAW10)
#define MICROPY_PY_LWIP_SOCK_RAW (MICROPY_PY_LWIP)
#define MICROPY_PY_SSL_FINALISER (MICROPY_PY_SSL)
// #define MICROPY_PY_HASHLIB_MD5 (MICROPY_PY_SSL)
#define MICROPY_PY_HASHLIB_MD5 (MICROPY_PY_SSL)
#define MICROPY_PY_HASHLIB_SHA1 (MICROPY_PY_SSL)
// #define MICROPY_PY_CRYPTOLIB (MICROPY_PY_SSL)
#define MICROPY_PY_CRYPTOLIB (MICROPY_PY_SSL)

// Prevent the "LWIP task" from running.
#define MICROPY_PY_LWIP_ENTER MICROPY_PY_PENDSV_ENTER
#define MICROPY_PY_LWIP_REENTER MICROPY_PY_PENDSV_REENTER
#define MICROPY_PY_LWIP_EXIT MICROPY_PY_PENDSV_EXIT


#ifndef MICROPY_PY_NETWORK_HOSTNAME_DEFAULT
#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "mpy-mimxrt"
#endif
Expand Down Expand Up @@ -173,13 +180,32 @@ extern const struct _mp_obj_type_t network_lan_type;
#define MICROPY_HW_NIC_ETH
#endif

#if MICROPY_PY_NETWORK_NINAW10
// This Network interface requires the extended socket state.
#ifndef MICROPY_PY_SOCKET_EXTENDED_STATE
#define MICROPY_PY_SOCKET_EXTENDED_STATE (1)
#endif
extern const struct _mp_obj_type_t mod_network_nic_type_nina;
extern const struct _mp_obj_type_t mod_network_nic_type_wlan;
#define MICROPY_HW_NIC_NINAW10 { MP_ROM_QSTR(MP_QSTR_NinaW10), MP_ROM_PTR(&mod_network_nic_type_nina) },
#define MICROPY_HW_NIC_WLAN { MP_ROM_QSTR(MP_QSTR_WLAN), MP_ROM_PTR(&mod_network_nic_type_wlan) },

#else

#define MICROPY_HW_NIC_NINAW10
#define MICROPY_HW_NIC_WLAN

#endif // MICROPY_PY_NETWORK_NINAW10

#ifndef MICROPY_BOARD_NETWORK_INTERFACES
#define MICROPY_BOARD_NETWORK_INTERFACES
#endif

#define MICROPY_PORT_NETWORK_INTERFACES \
MICROPY_HW_NIC_ETH \
MICROPY_BOARD_NETWORK_INTERFACES \
MICROPY_HW_NIC_WLAN \
MICROPY_HW_NIC_NINAW10 \
MICROPY_BOARD_NETWORK_INTERFACES

#ifndef MICROPY_BOARD_ROOT_POINTERS
#define MICROPY_BOARD_ROOT_POINTERS
Expand Down

0 comments on commit 79df245

Please sign in to comment.