8000 extmod: Define network interfaces in port config files. · micropython/micropython@b7db26b · GitHub
[go: up one dir, main page]

Skip to content

Commit b7db26b

Browse files
committed
extmod: Define network interfaces in port config files.
1 parent 3f24df7 commit b7db26b

File tree

3 files changed

+38
-35
lines changed

3 files changed

+38
-35
lines changed

extmod/modnetwork.c

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,6 @@
4444
#include "lwip/dns.h"
4545
#include "lwip/dhcp.h"
4646
#include "lwip/apps/mdns.h"
47-
#include "extmod/network_cyw43.h"
48-
#include "drivers/cyw43/cyw43.h"
4947
#endif
5048

5149
/// \module network - network configuration
@@ -89,32 +87,14 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_0(network_route_obj, network_route);
8987

9088
STATIC const mp_rom_map_elem_t mp_module_network_globals_table[] = {
9189
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_network) },
92-
93-
#if defined(MICROPY_HW_ETH_MDC)
94-
{ MP_ROM_QSTR(MP_QSTR_LAN), MP_ROM_PTR(&network_lan_type) },
95-
#endif
96-
#if MICROPY_PY_NETWORK_CYW43
97-
{ MP_ROM_QSTR(MP_QSTR_WLAN), MP_ROM_PTR(&mp_network_cyw43_type) },
98-
#endif
99-
100-
#if MICROPY_PY_WIZNET5K
101-
{ MP_ROM_QSTR(MP_QSTR_WIZNET5K), MP_ROM_PTR(&mod_network_nic_type_wiznet5k) },
102-
#endif
103-
#if MICROPY_PY_CC3K
104-
{ MP_ROM_QSTR(MP_QSTR_CC3K), MP_ROM_PTR(&mod_network_nic_type_cc3k) },
105-
#endif
106-
10790
{ MP_ROM_QSTR(MP_QSTR_route), MP_ROM_PTR(&network_route_obj) },
10891

92+
// Defined per port in mpconfigport.h
93+
MICROPY_PORT_NETWORK_INTERFACES
94+
10995
// Constants
110-
#if MICROPY_PY_NETWORK_CYW43
111-
{ MP_ROM_QSTR(MP_QSTR_STA_IF), MP_ROM_INT(CYW43_ITF_STA)},
112-
{ MP_ROM_QSTR(MP_QSTR_AP_IF), MP_ROM_INT(CYW43_ITF_AP)},
113-
#else
114-
// Station/AP mode.
11596
{ MP_ROM_QSTR(MP_QSTR_STA_IF), MP_ROM_INT(MOD_NETWORK_STA_IF) },
11697
{ MP_ROM_QSTR(MP_QSTR_AP_IF), MP_ROM_INT(MOD_NETWORK_AP_IF) },
117-
#endif
11898
};
11999

120100
STATIC MP_DEFINE_CONST_DICT(mp_module_network_globals, mp_module_network_globals_table);

extmod/modnetwork.h

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,17 +39,9 @@
3939
#define MOD_NETWORK_AP_IF (1)
4040

4141
#if MICROPY_PY_LWIP
42-
4342
struct netif;
44-
45-
extern const mp_obj_type_t network_lan_type;
46-
extern const mp_obj_type_t mod_network_nic_type_wiznet5k;
47-
4843
void mod_network_lwip_poll_wrapper(uint32_t ticks_ms);
4944
mp_obj_t mod_network_nic_ifconfig(struct netif *netif, size_t n_args, const mp_obj_t *args);
50-
51-
void wiznet5k_poll(void);
52-
5345
#else
5446

5547
struct _mod_network_socket_obj_t;
@@ -96,10 +88,7 @@ typedef struct _mod_network_socket_obj_t {
9688
#endif
9789
} mod_network_socket_obj_t;
9890

99-
extern const mod_network_nic_type_t mod_network_nic_type_wiznet5k;
100-
extern const mod_network_nic_type_t mod_network_nic_type_cc3k;
101-
102-
#endif
91+
#endif // MICROPY_PY_LWIP
10392

10493
void mod_network_init(void);
10594
void mod_network_deinit(void);

ports/stm32/mpconfigport.h

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,34 @@ extern const struct _mp_obj_module_t mp_module_onewire;
321321
#define ONEWIRE_BUILTIN_MODULE
322322
#endif
323323

324+
#if defined(MICROPY_HW_ETH_MDC)
325+
extern const struct _mp_obj_type_t network_lan_type;
326+
#define MICROPY_HW_NIC_ETH { MP_ROM_QSTR(MP_QSTR_LAN), MP_ROM_PTR(&network_lan_type) },
327+
#else
328+
#define MICROPY_HW_NIC_ETH
329+
#endif
330+
331+
#if MICROPY_PY_NETWORK_CYW43
332+
extern const struct _mp_obj_type_t mp_network_cyw43_type;
333+
#define MICROPY_HW_NIC_CYW43 { MP_ROM_QSTR(MP_QSTR_WLAN), MP_ROM_PTR(&mp_network_cyw43_type) },
334+
#else
335+
#define MICROPY_HW_NIC_CYW43
336+
#endif
337+
338+
#if MICROPY_PY_WIZNET5K
339+
extern const struct _mod_network_nic_type_t mod_network_nic_type_wiznet5k;
340+
#define MICROPY_HW_NIC_WIZNET5K { MP_ROM_QSTR(MP_QSTR_WIZNET5K), MP_ROM_PTR(&mod_network_nic_type_wiznet5k) },
341+
#else
342+
#define MICROPY_HW_NIC_WIZNET5K
343+
#endif
344+
345+
#if MICROPY_PY_CC3K
346+
extern const struct _mod_network_nic_type_t mod_network_nic_type_cc3k;
347+
#define MICROPY_HW_NIC_CC3K { MP_ROM_QSTR(MP_QSTR_CC3K), MP_ROM_PTR(&mod_network_nic_type_cc3k) },
348+
#else
349+
#define MICROPY_HW_NIC_CC3K
350+
#endif
351+
324352
#define MICROPY_PORT_BUILTIN_MODULES \
325353
MACHINE_BUILTIN_MODULE \
326354
PYB_BUILTIN_MODULE \
@@ -338,6 +366,12 @@ extern const struct _mp_obj_module_t mp_module_onewire;
338366
PYB_BUILTIN_MODULE \
339367
STM_BUILTIN_MODULE \
340368

369+
#define MICROPY_PORT_NETWORK_INTERFACES \
370+
MICROPY_HW_NIC_ETH \
371+
MICROPY_HW_NIC_CYW43 \
372+
MICROPY_HW_NIC_WIZNET5K \
373+
MICROPY_HW_NIC_CC3K \
374+
341375
#define MP_STATE_PORT MP_STATE_VM
342376

343377
#if MICROPY_SSL_MBEDTLS

0 commit comments

Comments
 (0)
0