diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4815d20 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.mpy diff --git a/Makefile b/Makefile index 56af9e6..a4b9601 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,27 @@ VENV = poetry run ESP_TOOL = $(VENV) esptool.py +MPYCROSS = $(VENV) mpy-cross +AMPY = $(VENV) ampy # Downloaded from https://micropython.org/download/ESP8266_GENERIC/ MICRO_PYTHON_FIRMWARE = ESP8266_GENERIC-20240222-v1.22.2.bin ESP_PORT = /dev/ttyUSB0 +src/%.mpy: src/%.py + $(MPYCROSS) $< + +check: src/*.mpy + $(VENV) python3 -m py_compile src/*.py + erase_flash: $(ESP_TOOL) --port $(ESP_PORT) erase_flash flash_esp: erase_flash $(ESP_TOOL) --port $(ESP_PORT) --baud 460800 write_flash --flash_size=detect 0 $(MICRO_PYTHON_FIRMWARE) + +install: check src/*.mpy + @echo $(filter-out check,$?) + @for f in $(filter-out check,$?); do \ + echo Uploading $$f; \ + $(AMPY) --port $(ESP_PORT) put $$f; \ + done diff --git a/pyproject.toml b/pyproject.toml index 1d4e072..dd17ff7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,6 +11,7 @@ python = "^3.12" [tool.poetry.group.dev.dependencies] adafruit-ampy = "^1.1.0" esptool = "^4.7.0" +mpy-cross = "^1.22.2" [build-system] requires = ["poetry-core"]