summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2019-12-27more tinyusb updatehathach
2019-12-26sync with https://github.com/hathach/tinyusb/pull/246hathach
should fix slow enumeration
2019-12-26improve usb dcd samd51hathach
fix race condition with setup packet + scsi status response
2019-12-19mp3: update to upstream release 1.1.1Jeff Epler
2019-12-17bump tinyusb lib submodulehathach
2019-12-10audiocore: Add MP3File using Adafruit_MP3 libraryJeff Epler
2019-12-10nRF: disk_read must be 4-byte alignedJeff Epler
.. a requirement that oofatfs needs to be taught to respect. This problem can be demonstrated with the following snippet, except that the related file ("test.bin") must also be contiguous on the filesystem. You can ensure this by reformatting your device's filesystem before testing, then copying any single file bigger than 4kB to test.bin. f = open("test.bin", "rb") f.seek(2048) b = bytearray(2048) v = memoryview(b) f.readinto(v[909:]) Closes: #2332
2019-12-04protocols: Allow them to be (optionally) type-safeJeff Epler
Protocols are nice, but there is no way for C code to verify whether a type's "protocol" structure actually implements some particular protocol. As a result, you can pass an object that implements the "vfs" protocol to one that expects the "stream" protocol, and the opposite of awesomeness ensues. This patch adds an OPTIONAL (but enabled by default) protocol identifier as the first member of any protocol structure. This identifier is simply a unique QSTR chosen by the protocol designer and used by each protocol implementer. When checking for protocol support, instead of just checking whether the object's type has a non-NULL protocol field, use `mp_proto_get` which implements the protocol check when possible. The existing protocols are now named: protocol_framebuf protocol_i2c protocol_pin protocol_stream protocol_spi protocol_vfs (most of these are unused in CP and are just inherited from MP; vfs and stream are definitely used though) I did not find any crashing examples, but here's one to give a flavor of what is improved, using `micropython_coverage`. Before the change, the vfs "ioctl" protocol is invoked, and the result is not intelligible as json (but it could have resulted in a hard fault, potentially): >>> import uos, ujson >>> u = uos.VfsPosix('/tmp') >>> ujson.load(u) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: syntax error in JSON After the change, the vfs object is correctly detected as not supporting the stream protocol: >>> ujson.load(p) Traceback (most recent call last): File "<stdin>", line 1, in <module> OSError: stream operation not supported
2019-11-19Removing submodule that was accidentally stowed away in PR 2302Melissa LeBlanc-Williams
2019-11-19Added Edgebadge alias for PybadgeMelissa LeBlanc-Williams
2019-11-01Merge remote-tracking branch 'adafruit/master' into bleio_tweaksScott Shawcroft
2019-10-22remove old libraryHierophect
2019-10-21Refine _bleioScott Shawcroft
This PR refines the _bleio API. It was originally motivated by the addition of a new CircuitPython service that enables reading and modifying files on the device. Moving the BLE lifecycle outside of the VM motivated a number of changes to remove heap allocations in some APIs. It also motivated unifying connection initiation to the Adapter class rather than the Central and Peripheral classes which have been removed. Adapter now handles the GAP portion of BLE including advertising, which has moved but is largely unchanged, and scanning, which has been enhanced to return an iterator of filtered results. Once a connection is created (either by us (aka Central) or a remote device (aka Peripheral)) it is represented by a new Connection class. This class knows the current connection state and can discover and instantiate remote Services along with their Characteristics and Descriptors. Relates to #586
2019-10-15add dummy common_hal_mcu_processor_get_voltage() for spresenseDan Halbert
2019-10-09Update tinyUSBKamil Tomaszewski
2019-10-01Update tinyusb to fix gamepad;add HID OUT interface descriptorDan Halbert
2019-09-09Add support for F412 via latest tinyusb updateHierophect
2019-08-27More size_t usageScott Shawcroft
2019-08-19update tinyusb to 00c440cbDan Halbert
2019-08-16update tinyusbJeff Epler
This fixes a problem with USB MIDI messages 0xc and 0xd and Closes: #2057
2019-07-24update tinyusb lib to 0.5.xhathach
2019-05-11lib/utils/printf: Exclude __GI_vsnprintf alias for gcc 9 and above.Damien George
See issue #4457.
2019-05-08Hide the traceback for the ReloadException.Scott Shawcroft
Many users think it's an error when it's us simply stopping the code.
2019-04-04update tinyusb to fix disconnect/suspend issue with #1681hathach
2019-03-29Remove lwip submodule because it is unused.Scott Shawcroft
2019-03-26Update TinyUSB to fix CDC OUT bufferingScott Shawcroft
Fixes #1630
2019-02-21Merge pull request #1584 from tannewt/disable_concurrent_write_protectionDan Halbert
Add option to disable the concurrent write protection
2019-02-21Add option to disable the concurrent write protectionScott Shawcroft
This allows writing to the filesystem from the host computer and CircuitPython by increasing the risk of filesystem corruption.
2019-02-20Set __file__ for the main source file (e.g. code.py, main.py)Craig Forbes
2019-02-15Support print("", flush=True)Scott Shawcroft
Fixes #1127
2019-02-07Fix a couple variable shadowing varnings.Lionel Debroux
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2019-02-03Add fast seek support to file objectsScott Shawcroft
2019-01-29update tinyusb, work better with sdhathach
2019-01-09Add USB MIDI support for SAMD and nRF.Scott Shawcroft
The API should be identical to using a UART for MIDI. Fixes #672
2018-12-06Switch TinyUSB back to hathach's version. The merge commit of the commit we ↵Scott Shawcroft
were on.
2018-11-27Merge pull request #1323 from notro/os_mkdir_a_bDan Halbert
shared-module/os: Fix os.mkdir('a/b')
2018-11-23Update tinyusb to include control fixes.Scott Shawcroft
2018-11-14Update TinyUSB with SAMD fixes.Scott Shawcroft
Fixes #1327
2018-11-09Fix output overflow and make help translatableScott Shawcroft
2018-11-09Incorporate feedback:Scott Shawcroft
* Clean up board defines. * Add flush on eject and stay ejected. * Swith back to NONE protocol for CDC.
2018-11-09shared-module/os: Fix os.mkdir('a/b')Noralf Trønnes
This fixes commit a99f9427420d("'/' and '\' are also acceptable ends of the path now") which broke mkdir. The problem is where the directory name is a single letter like this: >>> os.mkdir('a') >>> os.mkdir('a/b') Traceback (most recent call last): File "<stdin>", line 1, in <module> OSError: [Errno 17] File exists >>> os.mkdir('a/bb') >>> I wasn't smart enough to fix this in the oofatfs library, so I did it in the os shared module by creating a path lookup function for the os methods that only deals with directories. I reverted the library change introduced by the aforementioned commit. This means that os.stat and os.rename can't handle trailing slashes. This is to avoid allowing filenames with trailing slashes to pass through. In order to handle trailing slashes for these it would be necessary to check if it really is a directory before stripping. I didn't do this since the original issue was to make os.chdir tolerate trailing slashes. There's an open MicroPython issue #2929 wrt. trailing slashes and mkdir.
2018-11-09Build refinement to handle warnings and quiet outputScott Shawcroft
2018-11-08Move atmel-samd to tinyusb and support nRF flash.Scott Shawcroft
This started while adding USB MIDI support (and descriptor support is in this change.) When seeing that I'd have to implement the MIDI class logic twice, once for atmel-samd and once for nrf, I decided to refactor the USB stack so its shared across ports. This has led to a number of changes that remove items from the ports folder and move them into supervisor. Furthermore, we had external SPI flash support for nrf pending so I factored out the connection between the usb stack and the flash API as well. This PR also includes the QSPI support for nRF.
2018-10-05fix tinyusb cdc issuehathach
2018-09-25update nrfx to 1.3.0hathach
2018-09-09uzlib: Upgrade to uzlib v2.9 releaseJeff Epler
This fixes a large number of crashes on malformed inputs.
2018-08-28Merge pull request #1146 from hathach/nrf52_usb_serial_bugDan Halbert
update tinyusb to fix #1007 serial issue
2018-08-28update tinyusb to fix #1007 serial issuehathach
2018-08-25Fix os.stat() to use 1970 epochNoralf Trønnes
Commit 95e70cd0ea6d 'time: Use 1970 epoch' changed epoch for the time module, but not for other users. This patch does the same for the only other core timeutils user: extmod/vfs_fat.c:fat_vfs_stat(). Other timeutils users: cc3200, esp8266 and stm32, are not changed. Ports that don't use long ints, will still get wrong time values from os.stat().
2018-08-22Merge branch 'master' into nrf52_dfu_touch1200hathach