summaryrefslogtreecommitdiff
path: root/py/circuitpy_mpconfig.h
AgeCommit message (Collapse)Author
2020-07-22Merge branch 'main' into memmonitorScott Shawcroft
2020-07-17Add memorymonitor moduleScott Shawcroft
2020-07-17Enable PYSTACK to keep function state out of the heapScott Shawcroft
2020-06-26sdioio: Add shared-bindingsJeff Epler
There is no implementation yet.
2020-06-26sdcardio: implement new library for SD card I/OJeff Epler
Testing performed: That a card is successfully mounted on Pygamer with the built in SD card slot This module is enabled for most FULL_BUILD boards, but is disabled for samd21 ("M0"), litex, and pca10100 for various reasons.
2020-06-25I2CPeripheral: Rename class and its moduleJeff Epler
This is an incompatible change.
2020-06-24gnss: Implement new library for GNSSKamil Tomaszewski
2020-05-29Merge remote-tracking branch 'adafruit/master' into wdt-nrfScott Shawcroft
2020-05-28A number of small ESP32S2 fixes:Scott Shawcroft
* Fix flash writes that don't end on a sector boundary. Fixes #2944 * Fix enum incompatibility with IDF. * Fix printf output so it goes out debug UART. * Increase stack size to 8k. * Fix sleep of less than a tick so it doesn't crash.
2020-05-27watchdogtimer: refactor to new apiSean Cross
This refactors the WatchDogTimer API to use the format proposed in https://github.com/adafruit/circuitpython/pull/2933#issuecomment-632268227 Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27watchdog: rename module from `wdt` and move to `microcontroller`Sean Cross
This also places it under the `microcontroller` object. Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-27wdt: add watchdog supportSean Cross
This adds shared bindings for a watchdog timer, based on the API provided by micropython. Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-19Remove reverse methods from per-board defsScott Shawcroft
2020-05-15Initial ESP32S2 port.Scott Shawcroft
Basic blinky works but doesn't check pins.
2020-05-12Merge branch 'master' into Optical-Encoder-ModuleScott Shawcroft
2020-05-12merged masterDaniel Pollard
2020-05-09vectorio: fix mpconfig definition for disabled boardswarriorofwire
2020-05-09Add vectorio: for drawing shapeswarriorofwire
vectorio builds on m4 express feather Concrete shapes are composed into a VectorShape which is put into a displayio Group for display. VectorShape provides transpose and x/y positioning for shape implementations. Included Shapes: * Circle - A radius; Circle is positioned at its axis in the VectorShape. - You can freely modify the radius to grow and shrink the circle in-place. * Polygon - An ordered list of points. - Beteween each successive point an edge is inferred. A final edge closing the shape is inferred between the last point and the first point. - You can modify the points in a Polygon. The points' coordinate system is relative to (0, 0) so if you'd like a top-center justified 10x20 rectangle you can do points [(-5, 0), (5, 0), (5, 20), (0, 20)] and your VectorShape x and y properties will position the rectangle relative to its top center point * Rectangle A width and a height.
2020-05-06aesio: add basic AES encryption and decryptionSean Cross
This adds initial support for an AES module named aesio. This implementation supports only a subset of AES modes, namely ECB, CBC, and CTR modes. Example usage: ``` >>> import aesio >>> >>> key = b'Sixteen byte key' >>> cipher = aesio.AES(key, aesio.MODE_ECB) >>> output = bytearray(16) >>> cipher.encrypt_into(b'Circuit Python!!', output) >>> output bytearray(b'E\x14\x85\x18\x9a\x9c\r\x95>\xa7kV\xa2`\x8b\n') >>> ``` This key is 16-bytes, so it uses AES128. If your key is 24- or 32- bytes long, it will switch to AES192 or AES256 respectively. This has been tested with many of the official NIST test vectors, such as those used in `pycryptodome` at https://github.com/Legrandin/pycryptodome/tree/39626a5b01ce5c1cf51d022be166ad0aea722177/lib/Crypto/SelfTest/Cipher/test_vectors/AES CTR has not been tested as NIST does not provide test vectors for it. Signed-off-by: Sean Cross <sean@xobs.io>
2020-05-05refactor countio based on feedbackDaniel Pollard
2020-04-23Merge remote-tracking branch 'upstream/master' into stm32-docfixLucian Copeland
2020-04-23implement requested changesLucian Copeland
2020-04-22Remove old build flags, add fixes for shared_matrixLucian Copeland
2020-04-17RGBMatrix: finish renaming from ProtomatterJeff Epler
This gets all the purely internal references. Some uses of protomatter/Protomatter/PROTOMATTER remain, as they are references to symbols in the Protomatter C library itself.
2020-04-17Rename Protomatter -> RGBMatrixJeff Epler
This is a quick rename, it changes the user-facing names but not the internal names of things.
2020-04-17Rename _protomatter -> protomatterJeff Epler
I originally believed that there would be a wrapper library around it, like with _pixelbuf; but this proves not to be the case, as there's too little for the library to do.
2020-04-14Add Protomatter and FramebufferDisplayJeff Epler
2020-03-17ulab: rename enable macro so it appears in the support matrixJeff Epler
2020-03-09f-strings: Make optional, defaulting to !CIRCUITPY_MINIMAL_BUILDJeff Epler
This should reclaim *most* code space added to handle f-strings. However, there may be some small code growth as parse_string_literal takes a new parameter (which will always be 0, so hopefully the optimizer eliminates it)
2020-02-27ulab: Incorporate itJeff Epler
2020-02-20Enable _bleio adapter when _bleio is importedDan Halbert
2020-02-05Rename eveL to _eve, EVEL to _EVEJames Bowman
2020-02-03First draft of eveL, the low-level module of the Gameduino (and BridgeTek ↵James Bowman
EVE) bindings. [adafruit/circuitpython#2578]
2020-01-08use CFLAG to properly set defineHierophect
2020-01-04changes only for monster m4skMarius-450
2020-01-04CIRCUITPY_DISPLAY_LIMIT = 2Marius-450
2019-12-20Remove `re` from CPX Displayio build to make space.Scott Shawcroft
2019-12-10merge from upstreamDan Halbert
2019-12-10audiocore: Add MP3File using Adafruit_MP3 libraryJeff Epler
2019-12-06atmel-samd workingDan Halbert
2019-12-05wipDan Halbert
2019-12-04Add connection interval and debuggingScott Shawcroft
This also sets TinyUSB to master and to not include its submodules. It also fixes an old displayio example comment and retries gattc reads.
2019-11-18run_background_tasks: Do nothing unless there has been a tickJeff Epler
This improves performance of running python code by 34%, based on the "pystone" benchmark on metro m4 express at 5000 passes (1127.65 -> 1521.6 passes/second). In addition, by instrumenting the tick function and monitoring on an oscilloscope, the time actually spent in run_background_tasks() on the metro m4 decreases from average 43% to 0.5%. (however, there's some additional overhead that is moved around and not accounted for in that "0.5%" figure, each time supervisor_run_background_tasks_if_tick is called but no tick has occurred) On the CPB, it increases pystone from 633 to 769, a smaller percentage increase of 21%. I did not measure the time actually spent in run_background_tasks() on CPB. Testing performed: on metro m4 and cpb, run pystone adapted from python3.4 (change time.time to time.monotonic for sub-second resolution) Besides running a 5000 pass test, I also ran a 50-pass test while scoping how long an output pin was set. Average: 34.59ms or 1445/s on m4, 67.61ms or 739/s on cbp, both matching the other pystone result reasonably well. import pystone import board import digitalio import time d = digitalio.DigitalInOut(board.D13) d.direction = digitalio.Direction.OUTPUT while True: d.value = 0 time.sleep(.01) d.value = 1 pystone.main(50)
2019-11-18Supervisor: move most of systick to the supervisorJeff Epler
This code is shared by most parts, except where not all the #ifdefs inside the tick function were present in all ports. This mostly would have broken gamepad tick support on non-samd ports. The "ms32" and "ms64" variants of the tick functions are introduced because there is no 64-bit atomic read. Disabling interrupts avoids a low probability bug where milliseconds could be off by ~49.5 days once every ~49.5 days (2^32 ms). Avoiding disabling interrupts when only the low 32 bits are needed is a minor optimization. Testing performed: on metro m4 express, USB still works and time.monotonic_ns() still counts up
2019-11-18circuitpy_mpconfig.h: Express HOOKS in terms of RUN_BACKGROUND_TASKSJeff Epler
.. this means that when we want to modify RUN_BACKGROUND_TASKS, only one change is needed instead of 3
2019-11-18circuitpy_mpconfig.h: Move includes after include-guardJeff Epler
To benefit from gcc's "once-only headers" implementation, the "wrapper-#ifndef" must be the first non-comment part of the file, according to the manual for various gcc/cpp versions.
2019-11-05Allow boards to enable the `micropython.native` decoratorThea Flowers
Adds the `CIRCUITPY_ENABLE_MPY_NATIVE` for `mpconfigboard.mk` that enables the `micropython.native` decorator.
2019-10-28wipDan Halbert
2019-10-20Parameterize linker scriptDan Halbert
2019-09-01Merge branch 'master' of https://github.com/adafruit/circuitpython into ↵sommersoft
mixer_voice