aboutsummaryrefslogtreecommitdiff
path: root/ports/stm32/modnetwork.c
AgeCommit message (Collapse)Author
2020-04-23all: Format code to add space after C++-style comment start.stijn
Note: the uncrustify configuration is explicitly set to 'add' instead of 'force' in order not to alter the comments which use extra spaces after // as a means of indenting text for clarity.
2020-04-05all: Use MP_ERROR_TEXT for all error messages.Jim Mussared
2020-03-06stm32/modnetwork: Remove redundant call to nimble_poll in lwip poll.Damien George
The bluetooth stack has its own dedicated polling function, see mod_bluetooth_nimble_poll_wrapper().
2020-02-28all: Reformat C and Python source code with tools/codeformat.py.Damien George
This is run with uncrustify 0.70.1, and black 19.10b0.
2019-11-05all: Convert nlr_raise(mp_obj_new_exception_msg(x)) to mp_raise_msg(x).Damien George
This helper function was added a while ago and these are the remaining cases to convert, to save a bit of code size.
2019-10-01stm32: Provide port-specific implementation for Nimble on STM32.Jim Mussared
2019-09-12stm32/lwip_inc: Enable LWIP_NETIF_EXT_STATUS_CALLBACK for mDNS.Damien George
This feature makes sure that mDNS is automatically restarted when there is any change event on a netif.
2019-06-05stm32: Support optional lwIP mDNS responder.Damien George
2019-06-03stm32/modnetwork: Replace generic netif NIC polling with specific code.Damien George
It doesn't work to tie the polling of an underlying NIC driver (eg to check the NIC for pending Ethernet frames) with its associated lwIP netif. This is because most NICs are implemented with IRQs and don't need polling, because there can be multiple lwIP netif's per NIC driver, and because it restricts the use of the netif->state variable. Instead the NIC should have its own specific way of processing incoming Ethernet frame. This patch removes this generic NIC polling feature, and for the only driver that uses it (Wiznet5k) replaces it with an explicit call to the poll function (which could eventually be improved by using a proper external interrupt).
2019-06-03stm32: Integrate in the cyw43 driver and network.WLAN class.Damien George
Enable it by setting MICROPY_PY_NETWORK_CYW43=1 at the Makefile level.
2019-02-26stm32/modnetwork: Don't call NIC callback if it's NULL.Damien George
2019-02-26stm32/network_lan: Add high-level network.LAN interface to ETH driver.Damien George
2019-02-08stm32/modnetwork: Change lwIP polling to be based on background systick.Damien George
2018-07-08stm32: Support compiling with object representation D.Damien George
With this and previous patches the stm32 port can now be compiled using object representation D (nan boxing). Note that native code and frozen mpy files with float constants are currently not supported with this object representation.
2018-06-23stm32/modnetwork: Fix query of DNS IP address in ifconfig().Damien George
Thanks to @boochow for the fix.
2018-06-03stm32/modnetwork: Fix arg indexing in generic ifconfig method.Damien George
2018-06-01stm32/modnetwork: Provide generic implementation of ifconfig method.Damien George
All it needs is a lwIP netif to function.
2018-06-01stm32/modnetwork: Don't take netif's down when network is deinited.Damien George
It should be up to the NIC itself to decide if the network interface is removed upon soft reset. Some NICs can keep the interface up over a soft reset, which improves usability of the network.
2018-05-21stm32: Integrate lwIP as implementation of usocket module.Damien George
This patch allows to use lwIP as the implementation of the usocket module, instead of the existing socket-multiplexer that delegates the entire TCP/IP layer to the NIC itself. This is disabled by default, and enabled by defining MICROPY_PY_LWIP to 1. When enabled, the lwIP TCP/IP stack will be included in the build with default settings for memory usage and performance (see lwip_inc/lwipopts.h). It is then up to a particular NIC to register itself with lwIP using the standard lwIP netif API.
2017-10-04all: Remove inclusion of internal py header files.Damien George
Header files that are considered internal to the py core and should not normally be included directly are: py/nlr.h - internal nlr configuration and declarations py/bc0.h - contains bytecode macro definitions py/runtime0.h - contains basic runtime enums Instead, the top-level header files to include are one of: py/obj.h - includes runtime0.h and defines everything to use the mp_obj_t type py/runtime.h - includes mpstate.h and hence nlr.h, obj.h, runtime0.h, and defines everything to use the general runtime support functions Additional, specific headers (eg py/objlist.h) can be included if needed.
2017-09-06ports: Make new ports/ sub-directory and move all ports there.Damien George
This is to keep the top-level directory clean, to make it clear what is core and what is a port, and to allow the repository to grow with new ports in a sustainable way.