summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2019-04-05 22:35:04 +1100
committerDamien George <damien.p.george@gmail.com>2019-04-05 22:35:04 +1100
commit4f936afc441da48ab8043ec108a2a2f6a92fdd6e (patch)
tree55df4830d3193fab213984782674b63c600c9cd5
parent4410efc1e349bc5e098f8263b4d652651f26d585 (diff)
stm32/network_wiznet5k: Add ability to set the MAC address.
-rw-r--r--ports/stm32/network_wiznet5k.c12
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;