Damien George
b0a6dda115
drivers/display/lcd160cr: Fix bugs with lcd.get_pixel().
...
Fixes issues #2880 and #2881 .
2017-02-21 17:40:34 +11:00
Stephan Brauer
8f3e07f17d
drivers/display/lcd160cr: Use correct variable in set_power().
2017-02-17 16:54:05 +11:00
Paul Sokolovsky
d5e9ab6e61
extmod/machine_pulse: Make time_pulse_us() not throw exceptions.
...
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.
2017-02-05 14:20:17 +03:00
Damien George
784e023a26
drivers/memory: Add SPI flash driver, written in C.
2017-01-24 16:56:03 +11:00
Damien George
43d9f9916a
drivers/display: Add driver and test for uPy LCD160CR display.
2017-01-23 14:36:19 +11:00
Mike Causer
c5310ee5b5
drivers: Fix some minor spelling mistakes.
...
respones -> response
succeses -> successes
2017-01-18 15:31:05 +11:00
syndycat
b2611d6be3
drivers/onewire/ds18x20: Fix negative temperature calc for DS18B20.
2017-01-08 19:26:22 +11:00
Dave Hylands
3c84197f17
drivers/onewire: Enable pull up on data pin.
...
The driver seems to be be enabling the pullup resistor in most places, but
not this one. Making this one little change allows onewire devices to be
used with no external pullup resistor.
2017-01-03 17:19:22 +11:00
Radomir Dopieralski
eb09336e99
drivers/display/ssd1306.py: Update to use FrameBuffer not FrameBuffer1
2016-12-01 16:43:25 +11:00
Damien George
7bb0f7b0f6
drivers: Add "from micropython import const" when const is used.
...
Following best-practice use of the const feature, to make it compatible
with Python.
2016-11-03 12:41:11 +11:00
Damien George
571e6f26db
py: Specialise builtin funcs to use separate type for fixed arg count.
...
Builtin functions with a fixed number of arguments (0, 1, 2 or 3) are
quite common. Before this patch the wrapper for such a function cost
3 machine words. After this patch it only takes 2, which can reduce the
code size by quite a bit (and pays off even more, the more functions are
added). It also makes function dispatch slightly more efficient in CPU
usage, and furthermore reduces stack usage for these cases. On x86 and
Thumb archs the dispatch functions are now tail-call optimised by the
compiler.
The bare-arm port has its code size increase by 76 bytes, but stmhal drops
by 904 bytes. Stack usage by these builtin functions is decreased by 48
bytes on Thumb2 archs.
2016-10-21 16:26:01 +11:00
Damien George
4ebdb1f2b2
py: Be more specific with MP_DECLARE_CONST_FUN_OBJ macros.
...
In order to have more fine-grained control over how builtin functions are
constructed, the MP_DECLARE_CONST_FUN_OBJ macros are made more specific,
with suffix of _0, _1, _2, _3, _VAR, _VAR_BETEEN or _KW. These names now
match the MP_DEFINE_CONST_FUN_OBJ macros.
2016-10-21 16:26:01 +11:00
Damien George
e3d29996b3
driver/dht: Use mp_raise_OSError helper function.
2016-10-07 13:53:34 +11:00
Radomir Dopieralski
ce1c786297
drivers/sdcard: Port the SDCard driver to new machine API.
...
With backwards compatibility for pyboard.
2016-09-01 17:44:07 +10:00
Damien George
dfe056df6f
drivers/wiznet5k: Fix indentation so it's not misleading.
...
Otherwise gcc 6.1.1 raises a misleading-indentation error.
2016-07-11 21:11:25 +01:00
Radomir Dopieralski
ab8a5d5199
drivers/display/ssd1306: Add width arg and support 64px wide displays.
...
In particular, the WeMOS D1 Mini board comes with a shield that has a
64x48 OLED display. This patch makes it display properly, with the upper
left pixel being at (0, 0) and not (32, 0).
I tried to do this with the configuration commands, but there doesn't
seem to be a command that would set the column offset (there is one for
the line offset, though).
2016-06-26 13:09:31 +01:00
Radomir Dopieralski
43c8f545d2
drivers/display/ssd1306: update SSD1306_SPI to work with new API
...
Makes it work on the ESP8266.
2016-06-03 11:13:17 +01:00
Damien George
4940bee62a
extmod: Add machine time_pulse_us function (at C and Python level).
...
The C implementation is taken from the DHT driver.
2016-05-31 13:58:48 +01:00
Damien George
48a7ef0576
drivers: Add C-level function to read DHT11 and DHT22 devices.
...
Uses mp_hal_pin API.
2016-05-26 17:10:06 +01:00
Damien George
ce2d34d74f
drivers/cc3000: Rename timeval to cc3000_timeval, to avoid clash.
...
The timeval struct can be defined by system C headers.
2016-05-10 23:46:00 +01:00
Damien George
73bc0c24ab
drivers: Add SSD1306 OLED driver, with I2C and SPI interfaces.
2016-04-12 14:06:54 +01:00
Peter Hinch
2bd758fe96
drivers/sdcard: Add support for multi-block read/write; add SD test.
2016-02-02 11:16:15 +00:00
Damien George
24652228af
drivers/sdcard: Allow up to 5 retries to initialise SD card.
...
Apparently some cards need more than 2 retries. See issue #1482 .
2015-10-10 00:07:40 +01:00
Damien George
b0c08c8c17
drivers/nrf24l01: Fix SPI phase setting to match specs of nRF chip.
...
Addresses issue #1466 .
2015-09-18 13:00:12 +00:00
Damien George
a95b06fc6b
drivers/onewire: Fix ds18x20.read_temp so it works when no rom given.
2015-07-30 23:10:39 +01:00
Damien George
2764a8ee8d
stmhal: Remove std.h. It's not needed anymore.
2015-04-18 14:28:39 +01:00
danicampora
2b8a718d73
drivers: Update CC3100 driver library to SDK release version 1.1.0.
2015-03-16 00:42:08 +01:00
Damien George
9be0d599cd
drivers: Add onewire driver and ds18x20 temperature sensor driver.
2015-03-03 01:29:52 +00:00
danicampora
5687ce7e35
drivers/cc3100: Remove simplelink trace messages completely.
...
Those trace messages have never proven to be useful and they make
the code 9K bigger.
2015-02-22 17:50:51 +01:00
Damien George
3611c1de14
drivers/cc3100: Remove dependence on debug.h.
2015-02-21 22:04:07 +00:00
danicampora
1cf82a9800
drivers/cc3100: Make wlan.c closer to TI original file.
2015-02-21 22:24:41 +01:00
Damien George
5ca1f5f9d9
cc3200: Get compiling with CC3100 driver from drivers/ directory.
2015-02-21 19:55:57 +00:00
Damien George
49c2ad4fb4
cc3200: Move CC3100 driver from cc3200/simplelink to drivers/cc3100.
...
This commit will not build, it exists just to track changes.
2015-02-21 19:52:07 +00:00
Damien George
c223df5113
drivers/cc3000: Fix call to extint_register.
2015-01-07 23:54:19 +00:00
Damien George
2cf6dfa280
stmhal: Prefix includes with py/; remove need for -I../py.
2015-01-01 21:06:20 +00:00
Damien George
1570eaf0e3
drivers: Add SD card driver, controlled via SPI bus.
2014-12-27 20:23:14 +00:00
adminpete
e6e8ad8ab2
drivers, nrf24: Nonblocking send now uses send_start and send_done.
2014-12-09 02:30:22 +00:00
adminpete
706955976c
drivers, nrf24: Nonblocking send now done by generator.
2014-12-09 02:29:56 +00:00
Peter Hinch
5deceb842d
drivers, nrf24: Add nonblocking send option etc.
2014-12-09 02:29:35 +00:00
Damien George
d8f239263d
drivers, wiznet5k: Add socket_reset; fix orderly shutdown in recv.
2014-12-04 18:57:18 +00:00
Damien George
df242facdc
drivers, cc3000: Cleaning up, make local functions static.
2014-11-21 19:46:24 +00:00
Damien George
877dba3e1a
drivers: Add NRF24L01 driver (written in pure Python).
...
Comes with test script. Copy both files to pyboard and run
"import nrf24l01test".
2014-10-02 19:36:56 +01:00
Damien George
8762418d0c
drivers, cc3000: Wrap exported functions in a macro for renaming.
2014-09-30 23:25:42 +01:00
Damien George
9d2bf9c405
drivers, wiznet5k: Wrap exported functions in a macro for renaming.
...
3rd party drivers should not export generic names like "close".
2014-09-30 22:51:47 +01:00
Damien George
bfa7b480a7
stmhal: For spi_init, add argument to select if NSS pin is enabled.
...
Most of the time you don't use the NSS pin of the SPI bus, and so it
shouldn't be enabled by default (this gave some bugs in the past).
2014-09-30 22:36:47 +01:00
Damien George
f996d8854f
drivers, cc3k: Move cc3000 driver from stmhal to drivers directory.
2014-09-26 00:56:45 +01:00
Damien George
bcf041f1a3
stmhal: Add wiznet5k module, to control WIZnet ethernet adaptor.
...
Allows to create socket objects that support TCP and UDP in server and
client mode. Interface is very close to standard Python socket class,
except bind and accept do not work the same (due to hardware not
supporting them in the usual way).
Not compiled by default. To compile this module, use:
make MICROPY_PY_WIZNET5K=1
2014-09-01 22:52:38 +01:00
Damien George
cdd40f149a
drivers, wiznet5k: Make DNS service use HAL sys tick.
2014-09-01 22:52:38 +01:00
Damien George
9091e84454
drivers, wiznet5k: Add HAL_Delay(1) to "infinite" loops.
2014-09-01 22:52:38 +01:00
Damien George
7da9145e47
drivers, wiznet5k: Properly fix ARP bug with W5200 chipset.
2014-09-01 22:52:37 +01:00
Damien George
0c0550bff0
drivers, wiznet5k: Add W5200 support.
2014-09-01 22:52:37 +01:00
Damien George
79d17e3e7d
drivers, wiznet5k: Change SPI interface to read/write multiple bytes.
2014-09-01 22:52:37 +01:00
Damien George
812cf62f43
drivers, wiznet5k: Fix IP addr verification.
2014-09-01 22:52:37 +01:00
Damien George
71224cb8db
drivers: Initial import of WIZnet5x000 driver.
2014-09-01 22:52:37 +01:00
Damien George
e07737d202
Added 'drivers' directory, intended to hold code for specific hardware.
2014-09-01 22:52:37 +01:00