diff options
author | Damien George <damien.p.george@gmail.com> | 2019-04-05 22:35:04 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2019-04-05 22:35:04 +1100 |
commit | 4f936afc441da48ab8043ec108a2a2f6a92fdd6e (patch) | |
tree | 55df4830d3193fab213984782674b63c600c9cd5 | |
parent | 4410efc1e349bc5e098f8263b4d652651f26d585 (diff) |
stm32/network_wiznet5k: Add ability to set the MAC address.
-rw-r--r-- | ports/stm32/network_wiznet5k.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ports/stm32/network_wiznet5k.c b/ports/stm32/network_wiznet5k.c index 99b8b6853..e0fc5d5ba 100644 --- a/ports/stm32/network_wiznet5k.c +++ b/ports/stm32/network_wiznet5k.c @@ -25,6 +25,8 @@ */ #include <stdio.h> +#include <string.h> + #include "py/runtime.h" #include "py/mphal.h" #include "spi.h" @@ -398,6 +400,16 @@ STATIC mp_obj_t wiznet5k_config(size_t n_args, const mp_obj_t *args, mp_map_t *k if (MP_MAP_SLOT_IS_FILLED(kwargs, i)) { mp_map_elem_t *e = &kwargs->table[i]; switch (mp_obj_str_get_qstr(e->key)) { + case MP_QSTR_mac: { + mp_buffer_info_t buf; + mp_get_buffer_raise(e->value, &buf, MP_BUFFER_READ); + if (buf.len != 6) { + mp_raise_ValueError(NULL); + } + setSHAR(buf.buf); + memcpy(self->netif.hwaddr, buf.buf, 6); + break; + } case MP_QSTR_trace: { self->trace_flags = mp_obj_get_int(e->value); break; |