An operating system for CircuitPython devices
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
697 B

def read(console, buffer):
char = console.read(1)
if char == b'\x08':
if buffer:
console.write(b'\x08 \x08')
buffer.pop()
return
elif char == b'\n':
console.write(b'\n')
data = b''.join(buffer)
buffer.clear()
return data
elif char == b'\x04' and not buffer:
raise EOFError()
elif len(char) == 1:
console.write(char)
buffer.append(char)
else:
return None
def write_str(console, string, encoding="utf-8"):
console.write(string.encode(encoding))
def print(console, *values, sep=" ", end="\n"):
write_str(console, sep.join(str(value) for value in values) + end)