maneuconfigのExample Configurationで「Store command history in
flash」を有効にすると、
SPIFFS上のファイル(/data/history.txt)にコマンドを覚えるので、
プログラムを再起動しても、昔のコマンドヒストリーが上矢印キーで表示されます。
少し前のバージョンでは「Store command history in flash」はデフォルトで無効となっていましたが、
最新バージョンではデフォルトで有効に変わっています。
ESP-IDFに付属する対話型のサンプルコードではコンソールコンポーネントが多用されています。
ESP32Cシリーズの中には、UART-USB変換チップを省略して、GPIO18とGPIO19をUSBとして使う
USB Serial/JTAG Controller Console機能が使われている製品が有ります。
USB Serial/JTAG Controller Console機能のUSBポートを使う場合、以下を変更する必要が有ります。
これを変更しないと、コンソールコンポーネントが使えません。
menuconfigでconsole outputの定義をUSB Serial/JTAG
Controllerに変更すると、stdin/stdoutがUART0→USB Serialポートに切り替わります。
さらに、fgetc()、getchar()、getc()など標準入力からの入力関数や、printf()など標準出力への出力関数も、
USB Serial/JTAG Controller Console機能を使ったUSBポートでは、デフォルトでは使えません。
USB Serial/JTAG Controller
Console機能を使ったUSBポートでは、これらの入出力関数は以下の様なエラーとなります。
これも、menuconfigでconsole outputの定義を変更することで使えるようになります。
Writing to serial is timing out.
Please make sure that your application supports an
interactive console and that you have picked the correct
console for serial communication.