|
18 | 18 | # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
19 | 19 | # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
20 | 20 |
|
21 |
| -import time |
| 21 | +"""Low-level interface to PCF8574.""" |
22 | 22 |
|
23 | 23 | import busio
|
24 | 24 | import board
|
25 | 25 | from adafruit_bus_device.i2c_device import I2CDevice
|
26 | 26 |
|
27 | 27 | from .lcd import LCD_4BITMODE, LCD_BACKLIGHT, LCD_NOBACKLIGHT, PIN_ENABLE
|
28 | 28 |
|
29 |
| -MICROSECOND = 1e-6 |
30 |
| -MILLISECOND = 1e-3 |
31 | 29 |
|
32 | 30 | class I2CPCF8574Interface:
|
33 | 31 |
|
@@ -81,12 +79,14 @@ def _write4bits(self, value):
|
81 | 79 | """Pulse the `enable` flag to process value."""
|
82 | 80 | with self.i2c_device:
|
83 | 81 | self._i2c_write(value & ~PIN_ENABLE)
|
84 |
| - time.sleep(MICROSECOND) |
| 82 | + # This 1us delay is probably unnecessary, given the time needed |
| 83 | + # to execute the statements. |
| 84 | + microcontroller.delay_us(1) |
85 | 85 | self._i2c_write(value | PIN_ENABLE)
|
86 |
| - time.sleep(MICROSECOND) |
| 86 | + microcontroller.delay_us(1) |
87 | 87 | self._i2c_write(value & ~PIN_ENABLE)
|
88 | 88 | # Wait for command to complete.
|
89 |
| - time.sleep(100*MICROSECOND) |
| 89 | + microcontroller.delay_us(100) |
90 | 90 |
|
91 | 91 | def _i2c_write(self, value):
|
92 | 92 | self.data_buffer[0] = value
|
|
0 commit comments