summaryrefslogtreecommitdiff
path: root/shared-bindings/microcontroller
AgeCommit message (Collapse)Author
2018-02-07Clarify style of attribute comments in the Design Guide.Scott Shawcroft
And update the core attributes to match the style.
2018-01-18Added Unique ID Functions/Updated Support Matrix (#527)sommersoft
shared_bindings/index.rst: updated Support Matrix format as discussed in PR #503 & Issue #448. shared-bindings/microcontroller/Processor.c & .h: added UID lookup functionality for use with all ports. Fixes #462.
2018-01-02merge from 2.2.0 + fix up board defsDan Halbert
2017-12-14Documentation Updates (mcu.delay() and Design Guide) (#481)sommersoft
/docs/design_guide: added links to firmware build learning guides for SAMD21 & ESP8266. Changes were placed in the "Adding native modules" section, since that seemed to me the best place based on target audience. Updated documentation for `delay()` which fixes #243.
2017-12-05Fix a couple spelling errors.Scott Shawcroft
2017-12-05Introduce reset mechanics to microcontroller.Scott Shawcroft
This allows one to configure how a subsequent reset will behave and also trigger a reset. Fixes #350 and fixes #173
2017-09-06Add Processor to microcontroller documentation TOC (#237)Dan Halbert
2017-08-31Add microcontroller.cpu.temperature, for use as a simple sensor on minimal ↵Dan Halbert
boards. (#211) * Add microcontroller.cpu, the sole instance of microcontroller.Processor. microcontroller.cpu.frequency is the clock frequency, in Hz. microcontroller.cpu.temperature is the reading from the internal temperature sensor, in Celsius. None if not available. * Squeeze firmware size by using -finline-limit. Otherwise non-Express builds were slightly too big. * Update submodules. * Fix documentation glitches
2017-08-25Initial merge of micropython v1.9.2 into circuitpython 2.0.0 (in ↵Dan Halbert
development) master. cpx build compiles and loads and works in repl; test suite not run yet esp8266 not tested yet
2017-08-25atmel-samd: Introduce a nvm module for non-volatile byte-level memory ↵Scott Shawcroft
access. (#203) * atmel-samd: Introduce a nvm module for non-volatile byte-level memory access. This allows for persisting small configuration values even when the file system is read-only from CircuitPython. Fixes #160 * Review feedback: * Add tests. * Fix non-zero index. * Fix len()
2017-04-12atmel-samd: Rework status LED implementationScott Shawcroft
* Track status pin use by user code separately so it can take over the pins and then give them back. * Switch to hardware SPI for APA102 on Gemma and Trinket. * Merge microcontroller/types.h into microcontroller/Pin.h to better match approach going forwards.
2017-02-22Check that neopixel write is actually given a DigitalInOut.Scott Shawcroft
2017-02-19Add print support to Pin. #83 #76Scott Shawcroft
2017-02-19Fix pin free check to ignore None objects. Fixes #89Scott Shawcroft
2017-01-05Improve docs and update to CircuitPython.Scott Shawcroft
2016-12-07atmel-samd & esp8266: Make sure pins are not already in use.Scott Shawcroft
This prevents corrupting previous functional objects by stealing their pins out from under them. It prevents this by ensuring that pins are in default state before claiming them. It also verifies pins are released correctly and reset on soft reset. Fixes #4, instantiating a second class will fail. Fixes #29, pins are now reset too.
2016-12-02Add try_lock and unlock to I2C and SPI classes to make sure thingsScott Shawcroft
are shared well between threads and underlying MicroPython (SPI Flash for example.) It is recommended to use the bus device classes to manage the locks and other transaction state. https://github.com/adafruit/Adafruit_MicroPython_BusDevice Fixed #58 Fixed #59 Fixed #60
2016-11-29shared-bindings: Ensure pin objects are actually pins.Scott Shawcroft
Fixes #12
2016-11-21This introduces an alternative hardware API called nativeio structured ↵Scott Shawcroft
around different functions that are typically accelerated by native hardware. Its not meant to reflect the structure of the hardware. Docs are here: http://tannewt-micropython.readthedocs.io/en/microcontroller/ It differs from upstream's machine in the following ways: * Python API is identical across ports due to code structure. (Lives in shared-bindings) * Focuses on abstracting common functionality (AnalogIn) and not representing structure (ADC). * Documentation lives with code making it easy to ensure they match. * Pin is split into references (board.D13 and microcontroller.pin.PA17) and functionality (DigitalInOut). * All nativeio classes claim underlying hardware resources when inited on construction, support Context Managers (aka with statements) and have deinit methods which release the claimed hardware. * All constructors take pin references rather than peripheral ids. Its up to the implementation to find hardware or throw and exception.