circuitpython/extmod
Radomir Dopieralski ec078af985 extmod/machine_i2c: Add clock stretching support.
When the clock is too fast for the i2c slave, it can temporarily hold
down the scl line to signal to the master that it needs to wait. The
master should check the scl line when it is releasing it after
transmitting data, and wait for it to be released.

This change has been tested with a logic analyzer and an i2c slace
implemented on an atmega328p using its twi peripheral, clocked at 8Mhz.
Without the change, the i2c communication works up to aboy 150kHz
frequency, and above that results in the slave stuck in an unresponsive
state. With this change, communication has been tested to work up to
400kHz.
2016-09-22 14:10:02 +10:00
..
crypto-algorithms extmod/moduhashlib: Add namespace prefix for crypto-algorithms/sha256.h. 2015-12-20 23:14:47 +02:00
lwip-include extmod/lwip: Change void pointers to unions, include new mphal.h file 2015-11-04 23:24:04 +03:00
re1.5 extmod/re1.5: Workaround issue with mingw32-gcc 4.2.1. 2015-11-01 02:39:01 +03:00
uzlib extmod/uzlib/: Update uzlib to v2.0.2. 2016-08-17 14:47:30 +03:00
fsusermount.c esp8266/modous: Add os.umount method to unmount a filesystem. 2016-08-26 12:45:21 +10:00
fsusermount.h esp8266/modous: Add os.umount method to unmount a filesystem. 2016-08-26 12:45:21 +10:00
machine_i2c.c extmod/machine_i2c: Add clock stretching support. 2016-09-22 14:10:02 +10:00
machine_i2c.h extmod: Add generic machine.I2C class, with bit-bang I2C. 2016-04-12 14:06:54 +01:00
machine_mem.c extmod/modmachine: Truncate integers that are to be stored using mem*. 2016-02-10 17:05:03 +00:00
machine_mem.h unix: machine_mem improvements 2015-12-18 22:01:03 +02:00
machine_pinbase.c extmod/machine_pinbase: Fix nanbox build. 2016-06-19 00:26:57 +03:00
machine_pinbase.h extmod/machine_pinbase: Implementation of PinBase class. 2016-06-18 23:40:28 +03:00
machine_pulse.c extmod/machine: Add MICROPY_PY_MACHINE_PULSE config for time_pulse_us. 2016-05-31 14:25:19 +01:00
machine_pulse.h extmod: Add machine time_pulse_us function (at C and Python level). 2016-05-31 13:58:48 +01:00
machine_spi.c extmod: Add machine_spi with generic SPI C-protocol and helper methods. 2016-09-01 15:07:20 +10:00
machine_spi.h extmod: Add machine_spi with generic SPI C-protocol and helper methods. 2016-09-01 15:07:20 +10:00
misc.h extmod/moduos_dupterm: Dumpterm subsystem is responsible for closing stream. 2016-05-20 22:20:37 +03:00
modbtree.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modframebuf.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modlwip.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modubinascii.c extmod/modubinascii: Fix crc32() function on 32-bit platforms. 2016-09-21 21:40:18 +03:00
modubinascii.h extmod/modubinascii: implement binascii.crc32 2016-08-24 10:42:46 +02:00
moductypes.c extmod/uctypes: Allow full 32-bit address range. 2016-09-21 21:37:08 +03:00
moduhashlib.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
moduheapq.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modujson.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
moduos_dupterm.c extmod/moduos_dupterm: Reuse dupterm_arr_obj for write operations. 2016-07-07 02:16:24 +03:00
modurandom.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modure.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modussl_axtls.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modussl_mbedtls.c extmod/modussl_mbedtls: Use 2-component include paths. 2016-09-22 01:30:48 +03:00
moduzlib.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modwebrepl.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modwebsocket.c all: Remove 'name' member from mp_obj_module_t struct. 2016-09-22 00:23:16 +10:00
modwebsocket.h extmod/modwebsocket.h: Split websocket-related defines for reuse. 2016-04-10 13:42:51 +03:00
vfs_fat.c esp8266/modous: Add os.umount method to unmount a filesystem. 2016-08-26 12:45:21 +10:00
vfs_fat_diskio.c extmod/vfs_fat_diskio: Actually support sectors != 512 with Python blockdevs. 2016-03-27 14:21:06 +03:00
vfs_fat_ffconf.c extmod/vfs_fat_ffconf: Reusable FatFs module, move from stmhal/ffconf. 2016-02-15 00:19:27 +02:00
vfs_fat_file.c all: Rename mp_obj_type_t::stream_p to protocol. 2016-06-18 18:44:57 +03:00
vfs_fat_file.h extmod/vfs_fat: Move listdir() method from stmhal for reuse. 2016-02-28 17:17:24 +02:00
vfs_fat_lexer.c extmod/vfs_fat_lexer: Add func prototype for pedantic warnings. 2016-03-03 14:53:36 +02:00
vfs_fat_misc.c extmod/vfs_fat*: Replace text error messages by POSIX error numbers. 2016-05-27 23:57:01 +03:00
virtpin.c all: Rename mp_obj_type_t::stream_p to protocol. 2016-06-18 18:44:57 +03:00
virtpin.h extmod/virtpin: Initial implementation of open-ended C-level Pin interface. 2016-05-27 01:08:43 +03:00