]> granicus.if.org Git - esp-idf/commitdiff
build system: Add 'make monitor' target from arduino-esp32
authorAngus Gratton <angus@espressif.com>
Fri, 30 Dec 2016 01:19:02 +0000 (12:19 +1100)
committerAngus Gratton <angus@espressif.com>
Mon, 2 Jan 2017 23:59:10 +0000 (10:59 +1100)
Originally added to arduino-esp32 by @me-no-dev. It's so useful, we
want it in esp-idf as well! :)

README.md
components/esptool_py/Kconfig.projbuild
components/esptool_py/Makefile.projbuild
make/project.mk

index f3007fdb88cbb30112ef1f2df3cd020104161db2..32c65bb8201cb98abec4c0de780275757a49ec58 100644 (file)
--- a/README.md
+++ b/README.md
@@ -36,6 +36,16 @@ This will flash the entire project (app, bootloader and partition table) to a ne
 
 You don't need to run `make all` before running `make flash`, `make flash` will automatically rebuild anything which needs it.
 
+# Viewing Serial Output
+
+The `make monitor` target will use the already-installed [miniterm](http://pyserial.readthedocs.io/en/latest/tools.html#module-serial.tools.miniterm) (a part of pyserial) to display serial output from the ESP32 on the terminal console.
+
+Exit miniterm by typing Ctrl-].
+
+To flash and monitor output in one pass, you can run:
+
+`make flash monitor`
+
 # Compiling & Flashing Just the App
 
 After the initial flash, you may just want to build and flash just your app, not the bootloader and partition table:
index dd2077cbb3f37b0b8c6f5bf993c6d8184ec69d8a..edff88c55d8014ddb5415ae9ad53ecb05936e8fd 100644 (file)
@@ -178,4 +178,44 @@ config ESPTOOLPY_AFTER
     default "hard_reset" if ESPTOOLPY_AFTER_RESET
     default "no_reset" if ESPTOOLPY_AFTER_NORESET
 
+choice MONITOR_BAUD
+    prompt "'make monitor' baud rate"
+    default MONITOR_BAUD_115200B
+    help
+        Baud rate to use when running 'make monitor' to view serial output
+        from a running chip.
+
+        Can override by setting the MONITORBAUD environment variable.
+
+config MONITOR_BAUD_9600B
+    bool "9600 bps"
+config MONITOR_BAUD_57600B
+    bool "57600 bps"
+config MONITOR_BAUD_115200B
+    bool "115200 bps"
+config MONITOR_BAUD_230400B
+    bool "230400 bps"
+config MONITOR_BAUD_921600B
+    bool "921600 bps"
+config MONITOR_BAUD_2MB
+    bool "2 Mbps"
+config MONITOR_BAUD_OTHER
+    bool "Custom baud rate"
+
+endchoice
+
+config MONITOR_BAUD_OTHER_VAL
+    int "Custom baud rate value" if MONITOR_BAUD_OTHER
+    default 115200
+
+config MONITOR_BAUD
+    int
+    default 9600 if MONITOR_BAUD_9600B
+    default 57600 if MONITOR_BAUD_57600B
+    default 115200 if MONITOR_BAUD_115200B
+    default 230400 if MONITOR_BAUD_230400B
+    default 921600 if MONITOR_BAUD_921600B
+    default 2000000 if MONITOR_BAUD_2MB
+    default MONITOR_BAUD_OTHER_VAL if MONITOR_BAUD_OTHER
+
 endmenu
index 88b5894731a65e3f39278e439572debd0674bf44..e249d14432f437387159329e8b3db9672475ceb9 100644 (file)
@@ -67,4 +67,12 @@ erase_flash:
        @echo "Erasing entire flash..."
        $(ESPTOOLPY_SERIAL) erase_flash
 
+MONITORBAUD ?= $(CONFIG_MONITOR_BAUD)
+
+# note: if you want to run miniterm from command line, can simply run
+# miniterm.py on the console. The '$(PYTHON) -m serial.tools.miniterm'
+# is to allow for the $(PYTHON) variable overriding the python path.
+monitor: $(call prereq_if_explicit,%flash)
+       $(PYTHON) -m serial.tools.miniterm --rts 0 --dtr 0 --raw $(ESPPORT) $(MONITORBAUD)
+
 .PHONY: erase_flash
index a5e487b85c2b82b3f5d12207e1e2d5f07099ae9a..e2a93ce1190ad3057947e2d9213386d4e818152a 100644 (file)
@@ -30,6 +30,7 @@ help:
        @echo "make clean - Remove all build output"
        @echo "make size - Display the memory footprint of the app"
        @echo "make erase_flash - Erase entire flash contents"
+       @echo "make monitor - Display serial output on terminal console"
        @echo ""
        @echo "make app - Build just the app"
        @echo "make app-flash - Flash just the app"