Scott Shawcroft 266be30777 atmel-samd: Introduce a nvm module for non-volatile byte-level memory access. (#203)
* atmel-samd: Introduce a nvm module for non-volatile byte-level memory access.

This allows for persisting small configuration values even when the file system
is read-only from CircuitPython.

Fixes #160

* Review feedback:
* Add tests.
* Fix non-zero index.
* Fix len()
2017-08-25 16:00:27 -04:00

23 lines
443 B
Python

import skip_if
skip_if.board_not_in("metro_m0_express", "feather_m0_express", "circuitplayground_express")
import microcontroller
import random
nvm = microcontroller.nvm
len(nvm)
single = random.randint(0, 255)
nvm[1] = single
assert(nvm[1] == single)
nvm[0] = single
assert(nvm[0] == single)
b = bytearray()
for i in range(10):
b.append(random.randint(0, 255))
microcontroller.nvm[10:20] = b
assert(microcontroller.nvm[10:20] == b)