MicroPython guarantees '/' to be a path separator, so extra constant taking
precious ROM space are not needed. MicroPython never had such constant, only
one vendor port had it (now unmaintained).
This new function controls what happens on a hard-fault:
- debugging disabled: board will do a reset
- debugging enabled: board will print registers and stack and flash LEDs
The default is disabled, ie to do a reset. This is different to previous
behaviour which flashed the LEDs and waited indefinitely.
machine.time_pulse_us() is intended to provide very fine timing, including
while working with signal bursts, where each transition is tracked in row.
Throwing and handling an exception may take too much time and "signal loss".
So instead, in case of a timeout, just return negative value. Cases of
timeout while waiting for initial signal stabilization, and during actual
timing, are recognized.
The documentation is updated accordingly, and rewritten somewhat to clarify
the function behavior.
Based on the following statistics:
$ git log docs |grep Author | sort | uniq -c | sort -n -r
175 Author: Paul Sokolovsky
135 Author: Damien George
31 Author: Daniel Campora
26 Author: danicampora
14 Author: Peter Hinch
git blame stats script from http://stackoverflow.com/a/13687302/496009:
$ sh git-authors docs
9977 author Damien George
2679 author Paul Sokolovsky
1699 author Daniel Campora
1580 author danicampora
1286 author Peter Hinch
282 author Shuning Bian
249 author Dave Hylands
Total lines per this script: 18417, my contribution is 14.5%.
New keyword option in constructor and init() method is "dma=<bool>".
DMA is now disabled by default for I2C transfers because it currently does
not handle I2C bus errors very well (eg if slave device doesn't ACK or
NACK correctly during a transfer).
It's mandatory function which should be present in every port. Even if
it's not, in the stdlib intro we waarn users that a particular port can
lack anything of described in the docs.