1
0
Fork 0

wasp: simulator: Use Tab to replicate the physical button

This commit is contained in:
Daniel Thompson 2020-04-11 20:15:20 +01:00
parent f68eb610c5
commit af1379806c
2 changed files with 17 additions and 6 deletions

View file

@ -77,8 +77,8 @@ class CST816SSim():
def __init__(self):
self.regs = bytearray(64)
def readfrom_mem_into(self, addr, reg, dbuf):
tick()
def readfrom_mem_into(self, addr, reg, dbuf, pins):
tick(pins)
if not self.regs[1]:
raise OSError
@ -127,7 +127,7 @@ sdl2.ext.fill(windowsurface, (0, 0, 0))
spi_st7789_sim = ST7789Sim()
i2c_cst816s_sim = CST816SSim()
def tick():
def tick(pins):
events = sdl2.ext.get_events()
for event in events:
if event.type == sdl2.SDL_QUIT:
@ -136,7 +136,13 @@ def tick():
elif event.type == sdl2.SDL_MOUSEBUTTONDOWN:
i2c_cst816s_sim.handle_mousebutton(event.button)
elif event.type == sdl2.SDL_KEYDOWN:
i2c_cst816s_sim.handle_key(event.key)
if event.key.keysym.sym == sdl2.SDLK_TAB:
pins['BUTTON'].value(0)
else:
i2c_cst816s_sim.handle_key(event.key)
elif event.type == sdl2.SDL_KEYUP:
if event.key.keysym.sym == sdl2.SDLK_TAB:
pins['BUTTON'].value(1)
else:
#print(event)
pass

View file

@ -20,11 +20,16 @@ class Pin(object):
IN = 'IN'
OUT = 'OUT'
pins = {}
def __init__(self, id, direction, value=1, quiet=False):
self._id = id
self._value = 0
self._quiet = quiet
# Update the pin registry
self.pins[id] = self
def init(self, d, value):
self.value(value)
@ -81,7 +86,7 @@ class I2C():
def readfrom_mem_into(self, addr, reg, dbuf):
if self.sim:
self.sim.readfrom_mem_into(addr, reg, dbuf)
self.sim.readfrom_mem_into(addr, reg, dbuf, Pin.pins)
else:
raise OSError
@ -107,7 +112,7 @@ class Timer():
self.time()
def lightsleep(ms=10):
display.tick()
display.tick(Pin.pins)
time.sleep(ms / 1000)
def deepsleep(ms=10):