1
0
Fork 0

wasp: cst816s: Initial PoC driver

This commit is contained in:
Daniel Thompson 2020-03-06 21:09:43 +00:00
parent 1bfe748505
commit 948454a33b

30
wasp/drivers/cst816s.py Normal file
View file

@ -0,0 +1,30 @@
"""Hynitron CST816S touch contoller driver for MicroPython."""
import watch
class CST816S:
"""Hynitron CST816S I2C touch controller driver."""
def __init__(self):
self.dbuf = bytearray(6)
pass
def get_event(self, queue):
"""Receive a touch event.
Check for a pending touch event and, if an event is pending,
prepare it ready to go in the event queue.
:return: True if an event is received, False otherwise.
"""
dbuf = self.dbuf
try:
watch.i2c.readfrom_mem_into(21, 1, dbuf)
except OSError:
return False
queue[0] = dbuf[0]
queue[1] = ((dbuf[2] & 0xf) << 8) + dbuf[3]
queue[2] = ((dbuf[4] & 0xf) << 8) + dbuf[5]
return True