<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/ports/stm32/modnetwork.h, branch main</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=main</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2019-10-13T15:08:52+00:00</updated>
<entry>
<title>remove ports/stm32</title>
<updated>2019-10-13T15:08:52+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2019-10-13T15:08:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=fc033bd954a46156d6902392f8ae21ac2872bb1c'/>
<id>urn:sha1:fc033bd954a46156d6902392f8ae21ac2872bb1c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stm32: Add network driver for Wiznet5k using MACRAW mode and lwIP.</title>
<updated>2018-06-01T04:21:38+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-06-01T04:21:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7d86ac6c0197abddd4ccff92154af326da083558'/>
<id>urn:sha1:7d86ac6c0197abddd4ccff92154af326da083558</id>
<content type='text'>
The Wiznet5k series of chips support a MACRAW mode which allows the host to
send and receive Ethernet frames directly.  This can be hooked into the
lwIP stack to provide a full "socket" implementation using this Wiznet
Ethernet device.  This patch adds support for this feature.

To enable the feature one must add the following to mpconfigboard.mk, or
mpconfigport.mk:

    MICROPY_PY_WIZNET5K = 5500

and the following to mpconfigboard.h, or mpconfigport.h:

    #define MICROPY_PY_LWIP (1)

After wiring up the module (X5=CS, X4=RST), usage on a pyboard is:

    import time, network
    nic = network.WIZNET5K(pyb.SPI(1), pyb.Pin.board.X5, pyb.Pin.board.X4)
    nic.active(1)
    while not nic.isconnected():
        time.sleep_ms(50) # needed to poll the NIC
    print(nic.ifconfig())

Then use the socket module as usual.

Compared to using the built-in TCP/IP stack on the Wiznet module, some
performance is lost in MACRAW mode: with a lot of memory allocated to lwIP
buffers, lwIP gives Around 750,000 bytes/sec max TCP download, compared
with 1M/sec when using the TCP/IP stack on the Wiznet module.
</content>
</entry>
<entry>
<title>stm32/modnetwork: Provide generic implementation of ifconfig method.</title>
<updated>2018-06-01T03:33:14+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-06-01T03:33:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d9f1ecece2f86d3c007ec51853ec499f1aebb21b'/>
<id>urn:sha1:d9f1ecece2f86d3c007ec51853ec499f1aebb21b</id>
<content type='text'>
All it needs is a lwIP netif to function.
</content>
</entry>
<entry>
<title>stm32/modnetwork: Change base entry of NIC object from type to base.</title>
<updated>2018-06-01T03:31:28+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-06-01T03:31:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7437215ad71dd62897190f20a79344c007b5f875'/>
<id>urn:sha1:7437215ad71dd62897190f20a79344c007b5f875</id>
<content type='text'>
mod_network_nic_type_t doesn't need to be an actual uPy type, it just needs
to be an object.
</content>
</entry>
<entry>
<title>stm32: Integrate lwIP as implementation of usocket module.</title>
<updated>2018-05-21T07:36:06+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-05-21T06:48:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cda964198a36e8d1ce4497d90484fae4b9d661a5'/>
<id>urn:sha1:cda964198a36e8d1ce4497d90484fae4b9d661a5</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>stm32: Change header include guards from STMHAL to STM32 to match dir.</title>
<updated>2018-02-15T04:47:04+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-02-15T04:47:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d966a334869760215c19378d009800aeaaa1baec'/>
<id>urn:sha1:d966a334869760215c19378d009800aeaaa1baec</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ports: Make new ports/ sub-directory and move all ports there.</title>
<updated>2017-09-06T03:40:51+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-09-06T03:40:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=01dd7804b87d60b2deab16712eccb3b97351a9b7'/>
<id>urn:sha1:01dd7804b87d60b2deab16712eccb3b97351a9b7</id>
<content type='text'>
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.
</content>
</entry>
</feed>
