summaryrefslogtreecommitdiff
path: root/extmod/modnetwork.c
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2024-03-13 17:09:51 +1100
committerDamien George <damien@micropython.org>2024-08-29 23:46:13 +1000
commitbc952d37fe957adf0165b3403a97d5ada7e8e1a4 (patch)
tree5a353457aaff15e7a04a67f8caba09ec5ec0f9b1 /extmod/modnetwork.c
parent664dd7b54a220ba6081a8a2d28103cdd1c74b034 (diff)
extmod/network_ppp_lwip: Add network.PPP via lwIP.
This commit adds a new `network.PPP` interface which works on any port that has bare-metal lwIP, eg rp2, stm32, mimxrt. It has been tested on stm32. A board needs to enable `MICROPY_PY_NETWORK_PPP_LWIP` and then it can use it as follows: import network ppp = network.PPP(uart) ppp.connect() while not ppp.isconnected(): pass # use `socket` module as usual, etc ppp.disconnect() Usually the application must first configure the cellular/etc UART link to get it connected and in to PPP mode first (eg ATD*99#), before handing over control to `network.PPP`. The PPP interface automatically configures the UART IRQ callback to call PPP.poll() on incoming data. Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'extmod/modnetwork.c')
-rw-r--r--extmod/modnetwork.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/extmod/modnetwork.c b/extmod/modnetwork.c
index f3d7d0faa..336836b6b 100644
--- a/extmod/modnetwork.c
+++ b/extmod/modnetwork.c
@@ -156,6 +156,10 @@ static const mp_rom_map_elem_t mp_module_network_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR_ipconfig), MP_ROM_PTR(&mod_network_ipconfig_obj) },
#endif
+ #if MICROPY_PY_NETWORK_PPP_LWIP
+ { MP_ROM_QSTR(MP_QSTR_PPP), MP_ROM_PTR(&mp_network_ppp_lwip_type) },
+ #endif
+
// Defined per port in mpconfigport.h
#ifdef MICROPY_PORT_NETWORK_INTERFACES
{ MP_ROM_QSTR(MP_QSTR_route), MP_ROM_PTR(&network_route_obj) },