tee-timer/Makefile
2024-05-03 12:34:49 +02:00

52 lines
1.2 KiB
Makefile

VENV = poetry run
ESP_TOOL = $(VENV) esptool.py --port $(ESP_PORT)
MPYCROSS = $(VENV) mpy-cross
AMPY = $(VENV) ampy --port $(ESP_PORT)
# Downloaded from https://micropython.org/download/ESP8266_GENERIC/
MICRO_PYTHON_FIRMWARE = ESP8266_GENERIC-20240222-v1.22.2.bin
ESP_PORT = /dev/ttyUSB0
src/%.py: src/%.ipynb
$(VENV) jupyter nbconvert --to python $? \
--TagRemovePreprocessor.enabled=True \
--TagRemovePreprocessor.remove_cell_tags remove_cell
src/%.mpy: src/%.py
@for f in $(filter-out src/main.py,$?); do \
echo Compile $$f; \
$(MPYCROSS) $$f; \
done
check: src/*.mpy
$(VENV) python3 -m py_compile src/*.py
erase_flash:
$(ESP_TOOL) erase_flash
flash_esp: erase_flash
$(ESP_TOOL) --baud 460800 write_flash --flash_size=detect 0 $(MICRO_PYTHON_FIRMWARE)
install: check src/*.mpy
$(AMPY) put src/main.py
@for f in $(filter-out check,$?); do \
echo Uploading $$f; \
$(AMPY) put $$f; \
done
uninstall:
@echo $(filter-out /boot.py,$(shell $(AMPY) ls))
@for f in $(filter-out /boot.py,$(shell $(AMPY) ls)); do \
echo Deleting $$f; \
$(AMPY) rm $$f; \
done
clean:
rm -rf src/__pycache__
rm -f src/*.pyc
rm -f src/*.mpy
rm -f src/*.py
env:
poetry install
$(VENV) python -m jupyter_micropython_kernel.install