aboutsummaryrefslogtreecommitdiff
path: root/shared-bindings/nativeio/I2C.c
AgeCommit message (Collapse)Author
2017-04-10Split up nativeio.0.9.4Scott Shawcroft
This was done to allow greatly granularity when deciding what functionality is built into each board's build. For example, this way pulseio can be omitted to allow for something else such as touchio.
2017-03-07shared-bindings: Do a pass on the docs and make sure keyword only arguments ↵Scott Shawcroft
make sense and are documented correctly. Fixes #109
2017-02-24Switch exception throwing to mp_raise helpers. It saves a little code space ↵Scott Shawcroft
each time to share the call.
2017-02-19Two I2C fixes:Scott Shawcroft
1) Bus error will be thrown on read/write errors with errno set. (Read didn't used to fail at all.) 2) try_lock correctly returns boolean whether lock was grabbed. Fixes #87
2017-02-19Switch enum-like attributes to all caps and add print support for them. Make ↵Scott Shawcroft
room for this functionality by adding a shared __enter__ function object. #76
2017-01-05Link to the Bus Device docs.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-12-01Fix two bugs found by clang:Scott Shawcroft
* PWMOut enter and exit weren't hooked up. * end couldn't be negative in I2C.
2016-11-29shared-bindings: Ensure pin objects are actually pins.Scott Shawcroft
Fixes #12
2016-11-28shared-bindings: Stop using negative length at all. Having uint and int ↵Scott Shawcroft
mixed is confusing.
2016-11-28shared-bindings: Stop using max and min because C doesn't define them.Scott Shawcroft
2016-11-28Add start and end kwargs to writeto and readfrom_into so a single buffer can ↵Scott Shawcroft
be used to save memory.
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.