diff options
author | Daniël van de Giessen <daniel@dvdgiessen.nl> | 2023-08-09 10:31:29 +0200 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2024-11-13 13:10:58 +1100 |
commit | 161e2bd37df70556ef2a276c53af2c0cdc79af5f (patch) | |
tree | 83a1b0f6a7f7b5b527ccab66b94d897041f74f66 /extmod | |
parent | 4fd5b72a8b71c6b3a074bcc3b9f6385b049c3dcb (diff) | |
download | micropython-161e2bd37df70556ef2a276c53af2c0cdc79af5f.tar.gz micropython-161e2bd37df70556ef2a276c53af2c0cdc79af5f.zip |
extmod/network_ppp: Add stream config parameter.
This makes the stream that the PPP object wraps, which is normally only set
once via the constructor, accessible and configurable via the
`ppp.config()` method.
Signed-off-by: Daniël van de Giessen <daniel@dvdgiessen.nl>
Diffstat (limited to 'extmod')
-rw-r--r-- | extmod/network_ppp_lwip.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/extmod/network_ppp_lwip.c b/extmod/network_ppp_lwip.c index 2b77662a24..72d02602c0 100644 --- a/extmod/network_ppp_lwip.c +++ b/extmod/network_ppp_lwip.c @@ -153,12 +153,17 @@ static mp_obj_t network_ppp_config(size_t n_args, const mp_obj_t *args, mp_map_t if (n_args != 1 && kwargs->used != 0) { mp_raise_TypeError(MP_ERROR_TEXT("either pos or kw args are allowed")); } - // network_ppp_obj_t *self = MP_OBJ_TO_PTR(args[0]); + network_ppp_obj_t *self = MP_OBJ_TO_PTR(args[0]); if (kwargs->used != 0) { for (size_t i = 0; i < kwargs->alloc; i++) { if (mp_map_slot_is_filled(kwargs, i)) { switch (mp_obj_str_get_qstr(kwargs->table[i].key)) { + case MP_QSTR_stream: { + mp_get_stream_raise(kwargs->table[i].value, MP_STREAM_OP_READ | MP_STREAM_OP_WRITE); + self->stream = kwargs->table[i].value; + break; + } default: break; } @@ -174,6 +179,10 @@ static mp_obj_t network_ppp_config(size_t n_args, const mp_obj_t *args, mp_map_t mp_obj_t val = mp_const_none; switch (mp_obj_str_get_qstr(args[1])) { + case MP_QSTR_stream: { + val = self->stream; + break; + } default: mp_raise_ValueError(MP_ERROR_TEXT("unknown config param")); } |