wasp: simulator: Use Tab to replicate the physical button
This commit is contained in:
parent
f68eb610c5
commit
af1379806c
2 changed files with 17 additions and 6 deletions
|
@ -77,8 +77,8 @@ class CST816SSim():
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.regs = bytearray(64)
|
self.regs = bytearray(64)
|
||||||
|
|
||||||
def readfrom_mem_into(self, addr, reg, dbuf):
|
def readfrom_mem_into(self, addr, reg, dbuf, pins):
|
||||||
tick()
|
tick(pins)
|
||||||
|
|
||||||
if not self.regs[1]:
|
if not self.regs[1]:
|
||||||
raise OSError
|
raise OSError
|
||||||
|
@ -127,7 +127,7 @@ sdl2.ext.fill(windowsurface, (0, 0, 0))
|
||||||
spi_st7789_sim = ST7789Sim()
|
spi_st7789_sim = ST7789Sim()
|
||||||
i2c_cst816s_sim = CST816SSim()
|
i2c_cst816s_sim = CST816SSim()
|
||||||
|
|
||||||
def tick():
|
def tick(pins):
|
||||||
events = sdl2.ext.get_events()
|
events = sdl2.ext.get_events()
|
||||||
for event in events:
|
for event in events:
|
||||||
if event.type == sdl2.SDL_QUIT:
|
if event.type == sdl2.SDL_QUIT:
|
||||||
|
@ -136,7 +136,13 @@ def tick():
|
||||||
elif event.type == sdl2.SDL_MOUSEBUTTONDOWN:
|
elif event.type == sdl2.SDL_MOUSEBUTTONDOWN:
|
||||||
i2c_cst816s_sim.handle_mousebutton(event.button)
|
i2c_cst816s_sim.handle_mousebutton(event.button)
|
||||||
elif event.type == sdl2.SDL_KEYDOWN:
|
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:
|
else:
|
||||||
#print(event)
|
#print(event)
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -20,11 +20,16 @@ class Pin(object):
|
||||||
IN = 'IN'
|
IN = 'IN'
|
||||||
OUT = 'OUT'
|
OUT = 'OUT'
|
||||||
|
|
||||||
|
pins = {}
|
||||||
|
|
||||||
def __init__(self, id, direction, value=1, quiet=False):
|
def __init__(self, id, direction, value=1, quiet=False):
|
||||||
self._id = id
|
self._id = id
|
||||||
self._value = 0
|
self._value = 0
|
||||||
self._quiet = quiet
|
self._quiet = quiet
|
||||||
|
|
||||||
|
# Update the pin registry
|
||||||
|
self.pins[id] = self
|
||||||
|
|
||||||
def init(self, d, value):
|
def init(self, d, value):
|
||||||
self.value(value)
|
self.value(value)
|
||||||
|
|
||||||
|
@ -81,7 +86,7 @@ class I2C():
|
||||||
|
|
||||||
def readfrom_mem_into(self, addr, reg, dbuf):
|
def readfrom_mem_into(self, addr, reg, dbuf):
|
||||||
if self.sim:
|
if self.sim:
|
||||||
self.sim.readfrom_mem_into(addr, reg, dbuf)
|
self.sim.readfrom_mem_into(addr, reg, dbuf, Pin.pins)
|
||||||
else:
|
else:
|
||||||
raise OSError
|
raise OSError
|
||||||
|
|
||||||
|
@ -107,7 +112,7 @@ class Timer():
|
||||||
self.time()
|
self.time()
|
||||||
|
|
||||||
def lightsleep(ms=10):
|
def lightsleep(ms=10):
|
||||||
display.tick()
|
display.tick(Pin.pins)
|
||||||
time.sleep(ms / 1000)
|
time.sleep(ms / 1000)
|
||||||
|
|
||||||
def deepsleep(ms=10):
|
def deepsleep(ms=10):
|
||||||
|
|
Loading…
Add table
Reference in a new issue