# pyboard testing functions for CPython import time def delay(n): # time.sleep(float(n) / 1000) pass rand_seed = 1 def rng(): global rand_seed # for these choice of numbers, see P L'Ecuyer, "Tables of linear congruential generators of different sizes and good lattice structure" rand_seed = (rand_seed * 653276) % 8388593 return rand_seed # LCD testing object for PC # uses double buffering class LCD: def __init__(self, port): self.width = 128 self.height = 32 self.buf1 = [[0 for x in range(self.width)] for y in range(self.height)] self.buf2 = [[0 for x in range(self.width)] for y in range(self.height)] def light(self, value): pass def fill(self, value): for y in range(self.height): for x in range(self.width): self.buf1[y][x] = self.buf2[y][x] = value def show(self): print("") # blank line to separate frames for y in range(self.height): for x in range(self.width): self.buf1[y][x] = self.buf2[y][x] for y in range(self.height): row = "".join(["*" if self.buf1[y][x] else " " for x in range(self.width)]) print(row) def get(self, x, y): if 0 <= x < self.width and 0 <= y < self.height: return self.buf1[y][x] else: return 0 def pixel(self, x, y, value): if 0 <= x < self.width and 0 <= y < self.height: self.buf2[y][x] = value