.PHONY: build buildfs upload uploadfs monitor clean ota flash erase # Serial port — override with: make upload PORT=/dev/ttyACM1 PORT ?= /dev/ttyACM0 BAUD ?= 921600 BUILD_DIR = .pio/build/esp32-s3-devkitc-1 # ESP32-S3 bootloader lives at 0x0 BOOTLOADER_OFFSET = 0x0 # LittleFS partition offset (from partition table) FS_OFFSET = 0x290000 ESPTOOL = ~/.platformio/penv/bin/esptool build: pio run buildfs: pio run -t buildfs upload: build $(ESPTOOL) --chip esp32s3 --port $(PORT) --baud $(BAUD) \ write_flash \ $(BOOTLOADER_OFFSET) $(BUILD_DIR)/bootloader.bin \ 0x8000 $(BUILD_DIR)/partitions.bin \ 0x10000 $(BUILD_DIR)/firmware.bin uploadfs: buildfs $(ESPTOOL) --chip esp32s3 --port $(PORT) --baud $(BAUD) \ write_flash $(FS_OFFSET) $(BUILD_DIR)/littlefs.bin flash: upload uploadfs monitor: pio device monitor --port $(PORT) erase: $(ESPTOOL) --chip esp32s3 --port $(PORT) erase_flash clean: pio run -t clean ota: pio run -t upload --upload-port attenuator.local