wasp-os/wasp/boards/simulator/micropython.py
2020-04-17 17:19:11 +01:00

29 lines
641 B
Python

# SPDX-License-Identifier: LGPL-3.0-or-later
# Copyright (C) 2020 Daniel Thompson
def const(fn):
return fn
def native(fn):
return fn
def viper(fn):
def ptr8(buf):
return buf
def ptr16(buf):
return memoryview(buf).cast('b').cast('H')
def ptr32(buf):
return memoryview(buf).cast('b').cast('I')
# This is a bit of a hack since the scopes don't exactly match where
# they would be in micropython but for the simple cases it does mean
# no changes to the client
fn.__globals__['ptr8'] = ptr8
fn.__globals__['ptr16'] = ptr16
fn.__globals__['ptr32'] = ptr32
return fn