summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriabdalkader <i.abdalkader@gmail.com>2021-12-29 23:38:16 +0200
committerDamien George <damien@micropython.org>2021-12-30 11:54:19 +1100
commit8af9dbbde1fca07371aa13a8276c8e764edac28c (patch)
tree32b5b1b53df751e462c6b181f3b88d8b0ca0cd46
parent959e6f7da91a8b751084c33a6ed0db807f72b0b9 (diff)
stm32/network_wiznet5k: Fix build error with wiznet5k and lwip enabled.
Commit 4dba04a50fea01f6f8fec83d64f958f8d14e285a refactored the network code but the combination of MICROPY_PY_WIZNET5K=5500 and MICROPY_PY_LWIP=1 broke.
-rw-r--r--ports/stm32/mpconfigport.h4
-rw-r--r--ports/stm32/mpnetworkport.c4
-rw-r--r--ports/stm32/network_wiznet5k.c4
3 files changed, 10 insertions, 2 deletions
diff --git a/ports/stm32/mpconfigport.h b/ports/stm32/mpconfigport.h
index 6639b9241..b1a38713d 100644
--- a/ports/stm32/mpconfigport.h
+++ b/ports/stm32/mpconfigport.h
@@ -253,7 +253,11 @@ extern const struct _mp_obj_type_t mp_network_cyw43_type;
#endif
#if MICROPY_PY_WIZNET5K
+#if MICROPY_PY_LWIP
+extern const struct _mp_obj_type_t mod_network_nic_type_wiznet5k;
+#else
extern const struct _mod_network_nic_type_t mod_network_nic_type_wiznet5k;
+#endif
#define MICROPY_HW_NIC_WIZNET5K { MP_ROM_QSTR(MP_QSTR_WIZNET5K), MP_ROM_PTR(&mod_network_nic_type_wiznet5k) },
#else
#define MICROPY_HW_NIC_WIZNET5K
diff --git a/ports/stm32/mpnetworkport.c b/ports/stm32/mpnetworkport.c
index a5ee15bc6..c879c5005 100644
--- a/ports/stm32/mpnetworkport.c
+++ b/ports/stm32/mpnetworkport.c
@@ -48,6 +48,10 @@
// Poll lwIP every 128ms
#define LWIP_TICK(tick) (((tick) & ~(SYSTICK_DISPATCH_NUM_SLOTS - 1) & 0x7f) == 0)
+#if MICROPY_PY_WIZNET5K
+void wiznet5k_poll(void);
+#endif
+
u32_t sys_now(void) {
return mp_hal_ticks_ms();
}
diff --git a/ports/stm32/network_wiznet5k.c b/ports/stm32/network_wiznet5k.c
index b6f1498ef..a52919155 100644
--- a/ports/stm32/network_wiznet5k.c
+++ b/ports/stm32/network_wiznet5k.c
@@ -269,7 +269,7 @@ STATIC mp_obj_t wiznet5k_make_new(const mp_obj_type_t *type, size_t n_args, size
mp_hal_pin_obj_t rst = pin_find(args[2]);
// Access the existing object, if it has been constructed with the same hardware interface
- if (wiznet5k_obj.base.type == &mod_network_nic_type_wiznet5k) {
+ if (wiznet5k_obj.base.type == (mp_obj_type_t *)&mod_network_nic_type_wiznet5k) {
if (!(wiznet5k_obj.spi == spi && wiznet5k_obj.cs == cs && wiznet5k_obj.rst == rst
&& wiznet5k_obj.netif.flags != 0)) {
wiznet5k_deinit();
@@ -277,7 +277,7 @@ STATIC mp_obj_t wiznet5k_make_new(const mp_obj_type_t *type, size_t n_args, size
}
// Init the wiznet5k object
- wiznet5k_obj.base.type = &mod_network_nic_type_wiznet5k;
+ wiznet5k_obj.base.type = (mp_obj_type_t *)&mod_network_nic_type_wiznet5k;
wiznet5k_obj.cris_state = 0;
wiznet5k_obj.spi = spi;
wiznet5k_obj.cs = cs;