summaryrefslogtreecommitdiff
path: root/wasp/boards/simulator/machine.py
diff options
context:
space:
mode:
authorDaniel Thompson <daniel@redfelineninja.org.uk>2020-02-01 20:20:53 (GMT)
committerDaniel Thompson <daniel@redfelineninja.org.uk>2020-02-01 20:20:53 (GMT)
commite21f2a79cae0a79687061d30606599b930aa7480 (patch)
treefe8e78885d7d17af5fb8668269fa45ddf830b290 /wasp/boards/simulator/machine.py
parentc7e11d60205a50e3f63344cc327be1930ff2f7d3 (diff)
wasp: simulator: Add ST7789 simulation
Diffstat (limited to 'wasp/boards/simulator/machine.py')
-rw-r--r--wasp/boards/simulator/machine.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/wasp/boards/simulator/machine.py b/wasp/boards/simulator/machine.py
index 2c93770..3f8989f 100644
--- a/wasp/boards/simulator/machine.py
+++ b/wasp/boards/simulator/machine.py
@@ -1,3 +1,5 @@
+import display
+
class Tracer(object):
def __init__(self, *args, **kwargs):
print(f'{self.__class__.__name__}.__init__{args} {kwargs}')
@@ -14,9 +16,10 @@ class Pin(object):
IN = 'IN'
OUT = 'OUT'
- def __init__(self, id, direction, value=1):
+ def __init__(self, id, direction, value=1, quiet=False):
self._id = id
self._value = 0
+ self._quiet = quiet
def init(self, d, value):
self.value(value)
@@ -29,12 +32,16 @@ class Pin(object):
def value(self, v=None):
if v is None:
+ if not self._quiet:
+ print(f'{self._id}: read {self._value}')
return self._value
if v:
- print(self._id + ": on")
+ if not self._quiet:
+ print(self._id + ": set on")
self._value = False
else:
- print(self._id + ": off")
+ if not self._quiet:
+ print(self._id + ": set off")
self._value = True
def __call__(self, v=None):
@@ -46,9 +53,16 @@ class PWM(Tracer):
class SPI(object):
def __init__(self, id):
self._id = id
+ if id == 0:
+ self.sim = display.ST7789Sim()
+ else:
+ self.sim = None
def init(self, baudrate=1000000, polarity=0, phase=0, bits=8, sck=None, mosi=None, miso=None):
pass
def write(self, buf):
- print("Sending data: " + str(buf))
+ if self.sim:
+ self.sim.write(buf)
+ else:
+ print("Sending data: " + str(buf))