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

Skip to content

Commit d389501

Browse files
committed
extmod: Define network interfaces in port config files.
1 parent 496cbba commit d389501

File tree

3 files changed

+34
-25
lines changed

3 files changed

+34
-25
lines changed

extmod/modnetwork.c

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -89,32 +89,14 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_0(network_route_obj, network_route);
8989

9090
STATIC const mp_rom_map_elem_t mp_module_network_globals_table[] = {
9191
{ 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-
10792
{ MP_ROM_QSTR(MP_QSTR_route), MP_ROM_PTR(&network_route_obj) },
10893

94+
// Defined per port in mpconfigport.h
95+
MICROPY_PORT_NETWORK_INTERFACES
96+
10997
// 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.
11598
{ MP_ROM_QSTR(MP_QSTR_STA_IF), MP_ROM_INT(MOD_NETWORK_STA_IF) },
11699
{ MP_ROM_QSTR(MP_QSTR_AP_IF), MP_ROM_INT(MOD_NETWORK_AP_IF) },
117-
#endif
118100
};
119101

120102
STATIC MP_DEFINE_CONST_DICT(mp_module_network_globals, mp_module_network_globals_table);

extmod/modnetwork.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,7 @@ typedef struct _mod_network_socket_obj_t {
9595
#endif
9696
} mod_network_socket_obj_t;
9797

98-
extern const mod_network_nic_type_t mod_network_nic_type_wiznet5k;
99-
extern const mod_network_nic_type_t mod_network_nic_type_cc3k;
100-
101-
#endif
98+
#endif // MICROPY_PY_LWIP
10299

103100
void mod_network_init(void);
104101
void mod_network_deinit(void);

ports/stm32/mpconfigport.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,30 @@ 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+
#define MICROPY_HW_NIC_ETH { MP_ROM_QSTR(MP_QSTR_LAN), MP_ROM_PTR(&network_lan_type) },
326+
#else
327+
#define MICROPY_HW_NIC_ETH
328+
#endif
329+
330+
#if MICROPY_PY_NETWORK_CYW43
331+
#define MICROPY_HW_NIC_CYW43 { MP_ROM_QSTR(MP_QSTR_WLAN), MP_ROM_PTR(&mp_network_cyw43_type) },
332+
#else
333+
#define MICROPY_HW_NIC_CYW43
334+
#endif
335+
336+
#if MICROPY_PY_WIZNET5K
337+
#define MICROPY_HW_NIC_WIZNET5K { MP_ROM_QSTR(MP_QSTR_WIZNET5K), MP_ROM_PTR(&mod_network_nic_type_wiznet5k) },
338+
#else
339+
#define MICROPY_HW_NIC_WIZNET5K
340+
#endif
341+
342+
#if MICROPY_PY_CC3K
343+
#define MICROPY_HW_NIC_CC3K { MP_ROM_QSTR(MP_QSTR_CC3K), MP_ROM_PTR(&mod_network_nic_type_cc3k) },
344+
#else
345+
#define MICROPY_HW_NIC_CC3K
346+
#endif
347+
324348
#define MICROPY_PORT_BUILTIN_MODULES \
325349
MACHINE_BUILTIN_MODULE \
326350
PYB_BUILTIN_MODULE \
@@ -338,6 +362,12 @@ extern const struct _mp_obj_module_t mp_module_onewire;
338362
PYB_BUILTIN_MODULE \
339363
STM_BUILTIN_MODULE \
340364

365+
#define MICROPY_PORT_NETWORK_INTERFACES \
366+
MICROPY_HW_NIC_ETH \
367+
MICROPY_HW_NIC_CYW43 \
368+
MICROPY_HW_NIC_WIZNET5K \
369+
MICROPY_HW_NIC_CC3K \
370+
341371
#define MP_STATE_PORT MP_STATE_VM
342372

343373
#if MICROPY_SSL_MBEDTLS

0 commit comments

Comments
 (0)
0