Scott Shawcroft
83593a1558
Start of USB host API
...
This allows you to list and explore connected USB devices. It
only stubs out the methods to communicate to endpoints. That will
come in a follow up once TinyUSB has it. (It's in progress.)
Related to #5986
2022-03-07 18:07:25 -08:00
Dan Halbert
1164f2b081
implement: from __future__ import annotations
2022-03-04 14:16:40 -05:00
gamblor21
664e02535b
Renaming and documentation
2022-02-20 15:32:44 -06:00
gamblor21
ba229f1007
Initial commit of uzlib module
2022-02-19 10:41:42 -06:00
Jeff Epler
684faab110
Enable the "lookup cache" for FULL_BUILDs
...
.. and remove a stanza for the "cache map lookup in bytecode" option,
which has been removed by upstream in 1.18; it's superceded by these
other improvements.
2022-02-18 08:32:39 -06:00
Jeff Epler
4f47a5e61c
Adapt from our FROZEN_MPY_DIRS to manifests, incuding preprocessing
2022-02-16 15:34:00 -06:00
Jeff Epler
d816a4f19d
Add floppyio
...
Initially enabled for samd51, this enables reading raw flux data as well
as DOS/MFM formatted media.
This is only the low-level code for reading & decoding flux pulses from a floppy drive.
high level details will live in a Python library.
adafruit-circuitpython-floppy will take care of details like stepping
from track to track, etc.
2022-01-13 15:37:36 -06:00
EmergReanimator
6dbb662787
Allow to tailor tinyusb configuration for port specific needs
2022-01-05 19:28:07 +01:00
Jeff Epler
1d13c4ccd1
Centralize LONGINT_IMPL handling
...
This closes #5782
2021-12-27 10:21:47 -06:00
Scott Shawcroft
ee5536386d
Merge remote-tracking branch 'adafruit/main' into rpi
2021-11-24 14:23:23 -08:00
Timon
a1052d5f73
Initial broadcom port for Raspberry Pi
...
This targets the 64-bit CPU Raspberry Pis. The BCM2711 on the Pi 4
and the BCM2837 on the Pi 3 and Zero 2W. There are 64-bit fixes
outside of the ports directory for it.
There are a couple other cleanups that were incidental:
* Use const mcu_pin_obj_t instead of omitting the const. The structs
themselves are const because they are in ROM.
* Use PTR <-> OBJ conversions in more places. They were found when
mp_obj_t was set to an integer type rather than pointer.
* Optimize submodule checkout because the Pi submodules are heavy
and unnecessary for the vast majority of builds.
Fixes #4314
2021-11-22 14:54:44 -08:00
gamblor21
d063bf2675
Initial commit for IS31
2021-11-20 13:46:11 -06:00
Dan Halbert
b01e2d6674
enable running asyncio
2021-11-10 16:00:38 -05:00
Jeff Epler
3e020a73a8
Disable gifio if no displayio & for small boards
...
Technically all gifio needs from displayio is the definition of
colorspaces, but let's just disable it for now.
2021-10-26 08:54:18 -05:00
Jeff Epler
c34b6f757f
Implement gifio.GifWriter
...
This involves:
* Adding a new "L8" colorspace for colorconverters
* factoring out displayio_colorconverter_convert_pixel
* Making a minimal "colorspace only" version of displayio for the
unix port (testing purposes)
* fixing an error message
I only tested writing B&W animated images, with the following script:
```python
import displayio
import gifio
with gifio.GifWriter("foo.gif", 64, 64, displayio.Colorspace.L8) as g:
for i in range(0, 256, 14):
data = bytes([i, 255-i] * 32 + [255-i, i] * 32) * 32
print("add_frame")
g.add_frame(data)
# expected to raise an error, buffer is not big enough
with gifio.GifWriter("/dev/null", 64, 64, displayio.Colorspace.L8) as g:
g.add_frame(bytes([3,3,3]))
```
2021-10-26 08:54:18 -05:00
Jeff Epler
53c5bde924
core: Enable new performance optimizations
...
These two optional optimzations take a little codespace but improve
bytecode performance:
* https://github.com/micropython/micropython/pull/7680
* https://github.com/micropython/micropython/pull/7688
2021-10-15 10:39:47 -05:00
Scott Shawcroft
973a90f2aa
Rename esp32s2 port to espressif
...
This is in preparation for ESP32-S3 support and potentially others.
Related to #4363
2021-09-13 16:44:55 -07:00
microDev
d526925d49
make aesio module full build dependent
2021-09-02 19:02:01 +05:30
Jeff Epler
7520feed1c
Move ParallelBus to its own module
2021-08-29 07:33:54 -05:00
microDev
25437dcb33
Merge branch 'main' into atexit
2021-08-20 09:45:54 +05:30
microDev
1c4a6c3667
atexit module refinements
...
- add test for atexit module
- add callback to gc collection
- fix callback memory allocation
- execute callback on both code and repl exit
2021-08-16 21:37:32 +05:30
Scott Shawcroft
de796e2304
Move OneWire to onewireio
from busio
...
This will allow finer grained inclusion in 8.0.0
Fixes #5135
2021-08-12 10:47:14 -07:00
Scott Shawcroft
fb6b438580
Make getpass
and traceback
full build only
...
This leaves much more space on SAMD21 builds that aren't "full builds".
These are new APIs that we don't need to add to old boards.
Also, tweak two Arduino boards to save space on them.
2021-08-11 14:47:35 -07:00
Scott Shawcroft
0c1d6cef75
Merge remote-tracking branch 'adafruit/main' into fix_cp_irremote
2021-08-11 13:43:59 -07:00
Scott Shawcroft
083960ce90
Fix SAMD51 builds and Prox Trinkey
...
Adds CIRCUITPY_BUSIO_UART to disable UART by raising ValueError
that no pins work.
2021-08-11 11:53:26 -07:00
microDev
51f8603783
add getpass module
2021-08-09 17:50:28 +05:30
microDev
063e3946d6
Merge pull request #5094 from jepler/quirc
...
Add qrio: Decode QR codes with quirc lib
2021-08-07 09:30:20 +05:30
Jeff Epler
bd903f2f03
Add qrio: Decode QR codes with quirc lib
2021-08-04 09:16:00 -05:00
microDev
a3998d0626
add atexit module
2021-07-30 09:32:28 +05:30
microDev
f371c0a609
add traceback module
2021-07-28 18:06:23 +05:30
Dan Halbert
901a6c27c0
remove gamepad; deprecate gamepadshift
2021-07-26 22:15:09 -04:00
Scott Shawcroft
f84cb94819
Remove OSError(0) and old network modules
...
The newer modules are `socketpool` and `ssl`.
Fixes #3924 , related to #2021 , closes #1880 , closes #2273 , closes #2274
2021-07-21 17:33:40 -07:00
Scott Shawcroft
0fadf028ef
Create first BLE-only board, Micro:Bit v2
...
This fixes build issues with USB off, tweaks the README to allow
for BLE-only boards and adds the Micro:Bit v2 definition.
Fixes #4546
2021-07-14 09:55:51 -07:00
Kattni Rembor
4579bf9b12
Rename rainbow to rainbowio
2021-07-12 14:40:01 -04:00
Kattni Rembor
289575a811
Adding rainbow module.
2021-07-08 15:55:13 -04:00
Scott Shawcroft
3177973843
Add BLE serial service
2021-06-25 15:00:10 -07:00
Dan Halbert
04b69cde9b
turn off gamepad on most builds;turn off keypad where appropriate
2021-06-17 13:46:45 -04:00
Dan Halbert
7d23206018
Inital keypad work: Keys working: one pin per key
...
keypad.Buttons and keypad.State
Buttons -> Keys; further work
wip
wip
wip: compiles
about to try
keypad.Keys working
2021-06-08 20:27:31 -04:00
Limor "Ladyada" Fried
9752162508
Merge pull request #4765 from dhalbert/rotary-trinkey-rev-c-pins
...
Update various Trinkey pins and add _pixelbuf
2021-05-15 11:52:33 -04:00
Dan Halbert
1e2a945782
Make busio.SPI be NotImplementedError on proxlight to save space
2021-05-14 21:52:54 -04:00
Dan Halbert
fa6c06fb38
count in/out endpoints; allow more usb modules on low-endpoint boards
2021-05-13 21:59:02 -04:00
Dan Halbert
0651ef17dd
Fix endpoint checking; Clean up safe mode printing.
2021-05-12 15:53:52 -04:00
Scott Shawcroft
42f4065c8a
Merge remote-tracking branch 'adafruit/main' into merge_1.13
2021-05-06 11:17:53 -07:00
Dan Halbert
fc8e1c4c2e
address review comments
2021-05-05 12:35:12 -04:00
Scott Shawcroft
f0bb26d70f
Merge MicroPython 1.13 into CircuitPython
2021-05-04 18:06:33 -07:00
Dan Halbert
8bb3c6fd79
handle := defs in shared_bindings_matrix.py; update adafruit_hid
2021-05-04 18:07:01 -04:00
Dan Halbert
adc3d7d55e
update Python API according to review comments
2021-05-03 22:29:02 -04:00
Dan Halbert
d2b558993e
merge from main, including MicroPython 1.12 merge
2021-05-03 20:56:04 -04:00
Dan Halbert
96101016ec
Include pulseio only on CIRCUITPY_FULL_BUILD
2021-04-30 23:13:32 -04:00
Dan Halbert
8500e846c6
partially working
2021-04-27 23:53:23 -04:00
Dan Halbert
f98a54628b
wip: compiles
2021-04-27 14:37:36 -04:00
Dan Halbert
7a40b4daec
very much WIP
2021-04-26 23:54:01 -04:00
Dan Halbert
c26e49c2e6
wip: starting to try to compile
2021-04-25 23:17:41 -04:00
Dan Halbert
9d1fcc3b14
merge from main
2021-04-25 10:27:52 -04:00
Dan Halbert
2ba2574ebf
Merge pull request #4619 from tyomitch/microbit
...
[build] Allow USB to be set to 0
2021-04-24 10:31:29 -04:00
Artyom Skrobov
4e3c1d4a4c
[build] Allow USB to be set to 0
...
Unify USB-related makefile var and C def as CIRCUITPY_USB.
Always define it as 0 or 1, same as all other settings.
USB_AVAILABLE was conditionally defined in supervisor.mk,
but never actually used to #ifdef USB-related code.
Loosely related to #4546
2021-04-23 11:13:34 -04:00
Dan Halbert
51ccf8dc30
wip: revert usb_descriptor changes; use raw descriptors instead
2021-04-19 23:24:18 -04:00
Jeff Epler
fc4538f845
WIP: Implement 'ParallelImageCapture' for samd51
2021-04-16 17:18:59 -05:00
Dan Halbert
4a7e129287
wip: latent usb device enabling/disabling
2021-04-13 23:33:44 -04:00
Artyom Skrobov
c6ee471b52
Merge branch 'main' of https://github.com/adafruit/circuitpython into patch-3
2021-04-13 00:32:19 -04:00
Jeff Epler
3ce0b512f8
rasberrypi: IncrementalEncoder: factor out state machine
2021-04-08 16:25:47 -05:00
Artyom Skrobov
8056af8648
[synthio] add a simple MidiTrack implementation
2021-03-26 16:38:10 -04:00
Artyom Skrobov
d7dc3801ab
[ure] to save space, disable debug dumps by default
...
Has to stay enabled in unix port for the sake of tests/extmod/ure_debug.py
2021-03-26 13:24:20 -04:00
Dan Halbert
5ace7af933
disable default usb_cdc
2021-03-11 11:20:29 -05:00
Jeff Epler
4f040af481
vm: Make the speed-size trade-off compile time settable
...
.. and enable for all samd21 boards
2021-03-05 18:29:27 -06:00
Kevin Matocha
a7a4f93ff8
Updated build configs to turn off BITMAPTOOLS for smaller builds
2021-02-25 15:44:32 -06:00
Kevin Matocha
b720028642
Add bitmaptools module
2021-02-23 23:23:14 -06:00
Dan Halbert
7a4198885e
Fix typos for CIRCUITPY_USB_HID_SYS_CONTROL
2021-02-23 09:22:20 -05:00
Dan Halbert
076a7b7161
CIRCUITPY_BITOPS merge error
2021-02-19 15:30:27 -05:00
Dan Halbert
67406488d1
merge from upstream; re-alphabetize
2021-02-19 14:22:50 -05:00
Jeff Epler
7fd4567893
bitops: rename from _bit_transpose, describe the algorithm
2021-02-18 15:41:23 -06:00
Jeff Epler
9cf7d73c6c
core: add bit_transpose function
...
.. this version can only handle exactly 8 bits "across". The restriction
may be relaxed in a future revision.
2021-02-18 11:32:47 -06:00
Dan Halbert
d54b5861a3
wip
2021-02-12 19:01:14 -05:00
Dan Halbert
f0564b4986
merge from upstream; complicated webusb merge
2021-02-11 18:50:02 -05:00
Dan Halbert
0802b22ed6
usb descriptors all set; rework of enabling for USB devices
2021-02-04 19:23:40 -05:00
Kevin Banks
215a56c920
Merge branch 'main' into webusb (trying to get CI back online)
2021-02-03 16:48:28 -06:00
Kevin Banks
b152c658e2
Making WebUSB default to off (build unbreakage, caught by CI)
2021-01-26 18:18:39 -06:00
Dan Halbert
13812a788f
Merge pull request #4060 from dhalbert/regularize-extmod-modules
...
CIRCUITPY_* switches for JSON, RE, etc. Doc cleanup
2021-01-26 12:54:21 -05:00
Kevin Banks
fbfb7b68cc
Most of the code we need has been pulled in from the tinyusb webusb_serial demo. Still LOTS to do regarding descriptors.
2021-01-25 20:37:58 -06:00
Scott Shawcroft
a2ac2da7cc
Merge pull request #3936 from gamblor21/busdevice_fixes
...
Changing adafruit_bus_device to duck typing
2021-01-25 14:41:53 -08:00
Dan Halbert
69869e1439
CIRCUITPY_* switches for JSON, RE, etc. Doc cleanup
2021-01-24 23:10:20 -05:00
Scott Shawcroft
733094aead
Add initial RP2040 support
...
The RP2040 is new microcontroller from Raspberry Pi that features
two Cortex M0s and eight PIO state machines that are good for
crunching lots of data. It has 264k RAM and a built in UF2
bootloader too.
Datasheet: https://pico.raspberrypi.org/files/rp2040_datasheet.pdf
2021-01-20 19:16:56 -08:00
gamblor21
f50c9f4145
Reenabling busdevice in core
2021-01-16 14:21:57 -06:00
Jeff Epler
1ca29ec47c
Merge remote-tracking branch 'origin/main' into audioout-esp32
2021-01-12 09:23:07 -06:00
iot49
1a82555803
Merge branch 'main' into msgpack
2021-01-05 11:19:11 -08:00
Jeff Epler
2cd377f1a7
audiobusio: Make PDMIn optional
2020-12-29 14:06:32 -06:00
Jeff Epler
42a229c08b
circuitpy_mpconfig.mk: Unconditionally disable CIRCUITPY_BUSDEVICE
...
Several issues have been found in the implementation. While they're
unresolved, it may be better to disable the built-in module. (This
means that to work on fixing the module, it'll be necessary to
revert this commit)
2020-12-23 10:45:07 -06:00
microDev
4863413bc9
rename ota to dualbank
2020-12-18 00:34:56 +05:30
Scott Shawcroft
344d3c59cb
Merge branch 'main' into msgpack
2020-12-11 11:10:30 -08:00
microDev
fc23a0cc8a
implement ota module
2020-12-08 11:30:00 +05:30
Scott Shawcroft
1130b80e2a
Merge pull request #3612 from gamblor21/bus_device
...
Moving Adafruit_CircuitPython_BusDevice to core
2020-12-02 13:23:02 -08:00
Scott Shawcroft
608c98501b
Merge remote-tracking branch 'adafruit/main' into msgpack
2020-12-02 13:10:39 -08:00
Bernhard Boser
513253bc3f
moved logic to shared-module and added documentation
2020-12-01 18:38:14 -08:00
Bernhard Boser
748472de7a
removed empty line at end of py/circuitpy_mpconfig.mk
2020-12-01 18:38:14 -08:00
Bernhard Boser
90c203a3dd
add module msgpack
2020-12-01 18:38:14 -08:00
Mark
237385798c
Merge branch 'main' into bus_device
2020-12-01 15:47:16 -06:00
Dan Halbert
ef0830bfe2
merge from upstream + wip
2020-11-25 17:52:06 -05:00
Jeff Epler
c451b22255
Disable 3-arg pow() function on m0 boards
...
`pow(a, b, c)` can compute `(a ** b) % c` efficiently (in time and memory).
This can be useful for extremely specific applications, like implementing
the RSA cryptosystem. For typical uses of CircuitPython, this is not an
important feature. A survey of the bundle and learn system didn't find
any uses.
Disable it on M0 builds so that we can fit in needed upgrades to the USB
stack.
2020-11-24 16:54:33 -06:00
Dan Halbert
649c930536
wip
2020-11-19 15:43:39 -05:00
Dan Halbert
682054a216
WIP: redo API; not compiled yet
2020-11-19 00:23:27 -05:00