wasp: Automatically generate watch.py for PineTime
This should ensure that main.py is always up to date.
This commit is contained in:
parent
7ef145cdc5
commit
50ecff29ef
4 changed files with 34 additions and 4 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -4,3 +4,4 @@
|
|||
__pycache__
|
||||
docs/build
|
||||
attic/
|
||||
wasp/boards/pinetime/watch.py
|
||||
|
|
6
Makefile
6
Makefile
|
@ -27,7 +27,7 @@ bootloader:
|
|||
softdevice:
|
||||
micropython/ports/nrf/drivers/bluetooth/download_ble_stack.sh
|
||||
|
||||
micropython:
|
||||
micropython: wasp/boards/pinetime/watch.py
|
||||
$(MAKE) -C micropython/mpy-cross
|
||||
$(RM) micropython/ports/nrf/build-$(BOARD)-s132/frozen_content.c
|
||||
$(MAKE) -C micropython/ports/nrf \
|
||||
|
@ -39,6 +39,10 @@ micropython:
|
|||
--application micropython/ports/nrf/build-$(BOARD)-s132/firmware.hex \
|
||||
micropython.zip
|
||||
|
||||
wasp/boards/pinetime/watch.py : wasp/boards/pinetime/watch.py.in
|
||||
(cd wasp; ../tools/preprocess.py boards/pinetime/watch.py.in > \
|
||||
boards/pinetime/watch.py)
|
||||
|
||||
dfu:
|
||||
python3 -m nordicsemi dfu serial --package micropython.zip --port /dev/ttyACM0
|
||||
|
||||
|
|
27
tools/preprocess.py
Executable file
27
tools/preprocess.py
Executable file
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
# SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
# Copyright (C) 2020 Daniel Thompson
|
||||
"""Quick and dirty macro processor.
|
||||
|
||||
Currently the only support macro is #include!
|
||||
"""
|
||||
|
||||
import sys
|
||||
|
||||
def preprocess(fname):
|
||||
with open(fname) as f:
|
||||
for ln in f.readlines():
|
||||
ln = ln.rstrip()
|
||||
|
||||
macro = ln.lstrip()
|
||||
if macro.startswith('#include'):
|
||||
exec(macro[1:])
|
||||
else:
|
||||
print(ln)
|
||||
|
||||
def include(fname):
|
||||
preprocess(fname)
|
||||
|
||||
for arg in sys.argv[1:]:
|
||||
preprocess(arg)
|
|
@ -84,9 +84,7 @@ except AttributeError:
|
|||
os.mount(flash,'/flash')
|
||||
with open('/flash/main.py', 'w') as f:
|
||||
f.write('''\
|
||||
import manager
|
||||
wasp = manager.Manager(watch)
|
||||
wasp.run()
|
||||
#include('main.py')
|
||||
''')
|
||||
|
||||
# Only change directory if the button is not pressed (this will
|
Loading…
Reference in a new issue