<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/stmhal/usb.c, branch v1.8.1</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.1</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.1'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-05-10T22:30:39+00:00</updated>
<entry>
<title>stmhal: Convert to use internal errno symbols; enable uerrno module.</title>
<updated>2016-05-10T22:30:39+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-10T22:22:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5ab98d5c41bffa799a551a2731d904cab346898e'/>
<id>urn:sha1:5ab98d5c41bffa799a551a2731d904cab346898e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*.</title>
<updated>2016-01-11T00:49:27+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-03T15:55:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5b3f0b7f39bd67cc9182993c288f09f67a0890df'/>
<id>urn:sha1:5b3f0b7f39bd67cc9182993c288f09f67a0890df</id>
<content type='text'>
The first argument to the type.make_new method is naturally a uPy type,
and all uses of this argument cast it directly to a pointer to a type
structure.  So it makes sense to just have it a pointer to a type from
the very beginning (and a const pointer at that).  This patch makes
such a change, and removes all unnecessary casting to/from mp_obj_t.
</content>
</entry>
<entry>
<title>stmhal: Fix USB on the STM32F429DISC board</title>
<updated>2015-12-31T07:36:41+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2015-12-31T07:36:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8c936edeb279ab9970130f97725ab300e3f3add4'/>
<id>urn:sha1:8c936edeb279ab9970130f97725ab300e3f3add4</id>
<content type='text'>
The USB REPL has been broken since commit 1be0fde45c8d84eaf04851af96f06aad8171b2b2
This patch allows the STM32F429DISC board (which uses the USB_HS PHY)
</content>
</entry>
<entry>
<title>stmhal: Enable two USB phys to be supported together.</title>
<updated>2015-12-09T09:56:36+00:00</updated>
<author>
<name>neilh10</name>
<email>neilh20@wLLw.net</email>
</author>
<published>2015-12-08T22:02:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1be0fde45c8d84eaf04851af96f06aad8171b2b2'/>
<id>urn:sha1:1be0fde45c8d84eaf04851af96f06aad8171b2b2</id>
<content type='text'>
This is refactoring to enable support for the two USB PHYs available on
some STM32F4 processors to be used at the same time. The F405/7 &amp; F429
have two USB PHYs, others such as the F411 only have one PHY.

This has been tested separately on a pyb10 (USB_FS PHY) and F429DISC
(USB_HS PHY) to be able to invoke a REPL/USB.  I have modified a PYBV10
to support two PHYs.

The long term objective is to support a 2nd USB PHY to be brought up as a
USB HOST, and possibly a single USB PHY to be OTG.
</content>
</entry>
<entry>
<title>stmhal: Fix USB_VCP.recv so that it returns actual amount of bytes read.</title>
<updated>2015-10-25T21:43:07+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-10-25T21:43:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=79f404a287808b700e2a07826aea3338e7368498'/>
<id>urn:sha1:79f404a287808b700e2a07826aea3338e7368498</id>
<content type='text'>
Addresses issue #1529.
</content>
</entry>
<entry>
<title>py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming.</title>
<updated>2015-10-11T12:18:15+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-10-11T09:09:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1b586f3a734c27c78080fb2173bbde17168cb9e4'/>
<id>urn:sha1:1b586f3a734c27c78080fb2173bbde17168cb9e4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stmhal: Fix USB CDC-only mode under Windows.</title>
<updated>2015-10-08T23:18:01+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2015-10-03T06:25:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=01d64914c5517f4207c002d931efa1e71fc210d9'/>
<id>urn:sha1:01d64914c5517f4207c002d931efa1e71fc210d9</id>
<content type='text'>
This fix adds PIDs 9801 and 9802 to the pybcdc.inf file.

When in CDC only mode, it presents itself as a Communcations
device rather than as a composite device. Presenting as a
composite device with only the CDC interface seems to confuse
windows.

To test and make sure that the correct pybcdc.inf was being used,
I used USBDeview from http://www.nirsoft.net/utils/usb_devices_view.html
to uninstall any old pyboard drivers (Use Control-F and search
for pyboard). I found running USBDeview as administrator worked best.

Installing the driver in CDC+MSC mode first is recommended (since the
pybcdc.inf file in on the internal flash drive). Then when you switch
modes everything seems to work properly.

I used https://github.com/dhylands/upy-examples/blob/master/boot_switch.py
to easily switch the pyboard between the various USB modes for testing.
</content>
</entry>
<entry>
<title>stmhal: add option to query for the current usb mode</title>
<updated>2015-09-03T22:30:43+00:00</updated>
<author>
<name>Tony Abboud</name>
<email>tdabboud@hotmail.com</email>
</author>
<published>2015-08-30T21:20:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8d8fdcb4bec5024503b636bcdbad244bef4e6576'/>
<id>urn:sha1:8d8fdcb4bec5024503b636bcdbad244bef4e6576</id>
<content type='text'>
Fetch the current usb mode and return a string representation when
pyb.usb_mode() is called with no args. The possible string values are interned
as qstr's. None will be returned if an incorrect mode is set.
</content>
</entry>
<entry>
<title>stmhal: Add readinto and readlines methods to sys.stdin, pyb.USB_VCP().</title>
<updated>2015-05-13T19:22:11+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-05-13T19:22:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1511dd4f84da036a738e217420d2b1685b5eb823'/>
<id>urn:sha1:1511dd4f84da036a738e217420d2b1685b5eb823</id>
<content type='text'>
Addresses issue #1255.
</content>
</entry>
<entry>
<title>py: Overhaul and simplify printf/pfenv mechanism.</title>
<updated>2015-04-16T14:30:16+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-04-09T22:56:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7f9d1d6ab923096582622b700bedb6a571518eac'/>
<id>urn:sha1:7f9d1d6ab923096582622b700bedb6a571518eac</id>
<content type='text'>
Previous to this patch the printing mechanism was a bit of a tangled
mess.  This patch attempts to consolidate printing into one interface.

All (non-debug) printing now uses the mp_print* family of functions,
mainly mp_printf.  All these functions take an mp_print_t structure as
their first argument, and this structure defines the printing backend
through the "print_strn" function of said structure.

Printing from the uPy core can reach the platform-defined print code via
two paths: either through mp_sys_stdout_obj (defined pert port) in
conjunction with mp_stream_write; or through the mp_plat_print structure
which uses the MP_PLAT_PRINT_STRN macro to define how string are printed
on the platform.  The former is only used when MICROPY_PY_IO is defined.

With this new scheme printing is generally more efficient (less layers
to go through, less arguments to pass), and, given an mp_print_t*
structure, one can call mp_print_str for efficiency instead of
mp_printf("%s", ...).  Code size is also reduced by around 200 bytes on
Thumb2 archs.
</content>
</entry>
</feed>
