2014-05-31 13:33:16 -04:00
|
|
|
# check that we can do certain things without allocating heap memory
|
|
|
|
|
2016-10-13 09:32:34 -04:00
|
|
|
import micropython
|
2014-05-31 13:33:16 -04:00
|
|
|
|
2015-06-08 17:07:27 -04:00
|
|
|
def f1(a):
|
2014-05-31 13:33:16 -04:00
|
|
|
print(a)
|
|
|
|
|
2015-06-08 17:07:27 -04:00
|
|
|
def f2(a, b=2):
|
2014-05-31 13:33:16 -04:00
|
|
|
print(a, b)
|
|
|
|
|
2015-06-08 17:07:27 -04:00
|
|
|
def f3(a, b, c, d):
|
|
|
|
x1 = x2 = a
|
|
|
|
x3 = x4 = b
|
|
|
|
x5 = x6 = c
|
|
|
|
x7 = x8 = d
|
|
|
|
print(x1, x3, x5, x7, x2 + x4 + x6 + x8)
|
|
|
|
|
2014-05-31 13:33:16 -04:00
|
|
|
global_var = 1
|
|
|
|
|
2015-06-08 17:07:27 -04:00
|
|
|
def test():
|
2016-11-21 01:10:17 -05:00
|
|
|
global global_var, global_exc
|
2014-05-31 13:33:16 -04:00
|
|
|
global_var = 2 # set an existing global variable
|
|
|
|
for i in range(2): # for loop
|
2015-06-08 17:07:27 -04:00
|
|
|
f1(i) # function call
|
|
|
|
f1(i * 2 + 1) # binary operation with small ints
|
|
|
|
f1(a=i) # keyword arguments
|
|
|
|
f2(i) # default arg (second one)
|
|
|
|
f2(i, i) # 2 args
|
|
|
|
f3(1, 2, 3, 4) # function with lots of local state
|
2014-05-31 13:33:16 -04:00
|
|
|
|
2016-10-13 09:32:34 -04:00
|
|
|
# call test() with heap allocation disabled
|
|
|
|
micropython.heap_lock()
|
2015-06-08 17:07:27 -04:00
|
|
|
test()
|
2016-10-13 09:32:34 -04:00
|
|
|
micropython.heap_unlock()
|