| Age | Commit message (Collapse) | Author |
|
|
|
* 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.
|
|
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.
|
|
This class focuses on the timing sensitive parts of the protocol.
Everything else will be done by Python code.
This also establishes that its OK to back a nativeio class with a
bitbang implementation when no hardware acceleration exists. When
it does, then bitbangio should be used to explicitly bitbang a
protocol.
|
|
This is useful for infrared input and DHT sensors.
|
|
|
|
|
|
make sense and are documented correctly. Fixes #109
|
|
LTO and never re-enabled.
|
|
|
|
|
|
share space with the file system.
"Express" builds with SPI flash crash the compiler for some reason so its
currently disabled for them.
|
|
|
|
each time to share the call.
|
|
|
|
|
|
|
|
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
|
|
room for this functionality by adding a shared __enter__ function object. #76
|
|
|
|
|
|
|
|
* Always init SPI to 250k to start for SD cards.
* Add ability to configure byte written during read.
* Add ability to read and write to portions of buffers like existing I2C API.
|
|
to duty_cycle so that its consistent with the attribute.
Fixes #84
|
|
You can either set it once up front, or set variable_frequency on custruction to
indicate that the frequency must be able to change. This informs whether a timer
can be shared amongst pins.
This also adds persistent clock calibration on atmel-samd. Once the device has
synced its clock frequency over USB it will remember that config value until USB
is used again. This helps ensure the clock frequency is similar on and off USB.
Lastly, this also corrects time.sleep() when on USB by correcting the tick counter.
|
|
* Correct atmel-samd pin pull state.
* Correct conversion from python pull objects to C enum.
|
|
Thanks to jerryn from the Adafruit Forum for finding the bug!
|
|
VM keyboard exception and switch to FATFS reader.
|
|
Fixes #69.
|
|
|
|
|
|
|
|
|
|
make room.
|
|
|
|
to make for easy conversion. Fixes #14.
|
|
Currently only works on a single channel and is only enabled for boards with
SPI flash. Only really designed for hardware testing at this point.
|
|
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.
|
|
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
|
|
* PWMOut enter and exit weren't hooked up.
* end couldn't be negative in I2C.
|
|
|
|
Fixes #12
|
|
|
|
mixed is confusing.
|
|
|
|
be used to save memory.
|
|
|
|
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.
|
|
SERCOMs during initialization.
Fixes #16. It was broken because the MISO pin used the second SERCOM.
|
|
|