summaryrefslogtreecommitdiff
path: root/wasp/boards/simulator/micropython.py
blob: 804f51465823dafc129877cdf37a5e00795ea860 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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('H')

    # This is a bit of a hack since the scope for ptr8 won't be right
    # but it does mean no changes to the client
    fn.__globals__['ptr8'] = ptr8
    fn.__globals__['ptr16'] = ptr16

    return fn