From: morris <maoshengrong@espressif.com> Date: Thu, 6 Sep 2018 02:10:47 +0000 (+0800) Subject: doc/console: translate console.rst into zh_CN X-Git-Tag: v3.3-beta1~112^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=71b97203091a2a9ce91b859aac2042bf4451a2c5;p=esp-idf doc/console: translate console.rst into zh_CN --- diff --git a/docs/en/api-guides/console.rst b/docs/en/api-guides/console.rst index 490c9948d4..1b9d56fe3b 100644 --- a/docs/en/api-guides/console.rst +++ b/docs/en/api-guides/console.rst @@ -125,7 +125,7 @@ A few other functions are provided by the command registration module: ``esp_console_run`` This function takes the command line string, splits it into argc/argv argument list using ``esp_console_split_argv``, looks up the command in the list of registered components, and if it is found, executes its handler. -``esp_console_split_argv`` +``esp_console_register_help_command`` Adds ``help`` command to the list of registered commands. This command prints the list of all the registered commands, along with their arguments and help texts. ``esp_console_get_completion`` diff --git a/docs/zh_CN/api-guides/console.rst b/docs/zh_CN/api-guides/console.rst index dd6f985af8..0af8aa948d 100644 --- a/docs/zh_CN/api-guides/console.rst +++ b/docs/zh_CN/api-guides/console.rst @@ -1 +1,148 @@ -.. include:: ../../en/api-guides/console.rst \ No newline at end of file +æ§å¶å°ç»ç«¯ +========== + +ESP-IDF æä¾äº ``console`` ç»ä»¶ï¼å®å å«äºå¼ååºäºä¸²å£ç交äºå¼æ§å¶ç»ç«¯æéè¦çææ模åï¼ä¸»è¦æ¯æ以ä¸åè½ï¼ + +- è¡ç¼è¾ï¼ç± `linenoise <https://github.com/antirez/linenoise>`_ åºå ·ä½å®ç°ï¼å®æ¯æå¤çéæ ¼é®åæ¹åé®ï¼æ¯æåçå½ä»¤çåå²è®°å½ï¼æ¯æå½ä»¤çèªå¨è¡¥å ¨ååæ°æ示ã +- å°å½ä»¤è¡æå为åæ°å表ã +- åæ°è§£æï¼ç± `argtable3 <http://www.argtable.org/>`_ åºå ·ä½å®ç°ï¼å®æ¯æ解æ GNU æ ·å¼çå½ä»¤è¡åæ°ã +- ç¨äºæ³¨ååè°åº¦å½ä»¤çå½æ°ã + +è¿äºåè½æ¨¡åå¯ä»¥ä¸èµ·ä½¿ç¨ä¹å¯ä»¥ç¬ç«ä½¿ç¨ï¼ä¾å¦ä» 使ç¨è¡ç¼è¾åå½ä»¤æ³¨åçåè½ï¼ç¶åä½¿ç¨ ``getopt`` å½æ°æè èªå®ä¹çå½æ°æ¥å®ç°åæ°è§£æï¼èä¸æ¯ç´æ¥ä½¿ç¨ `argtable3 <http://www.argtable.org/>`_ åºãåæ ·å°ï¼è¿å¯ä»¥ä½¿ç¨æ´ç®åçå½ä»¤è¾å ¥æ¹æ³ï¼æ¯å¦ ``fgets`` å½æ°ï¼åå ¶ä»ç¨äºå½ä»¤åå²ååæ°è§£æçæ¹æ³ã + +è¡ç¼è¾ +------ + +è¡ç¼è¾åè½å 许ç¨æ·éè¿æé®è¾å ¥æ¥ç¼è¾å½ä»¤ï¼ä½¿ç¨éæ ¼é®å é¤ç¬¦å·ï¼ä½¿ç¨å·¦/å³é®å¨å½ä»¤ä¸ç§»å¨å æ ï¼ä½¿ç¨ä¸/ä¸é®å¯¼èªå°ä¹åè¾å ¥çå½ä»¤ï¼ä½¿ç¨å¶è¡¨é®ï¼âTabâï¼æ¥èªå¨è¡¥å ¨å½ä»¤ã + +.. note:: æ¤åè½ä¾èµäºç»ç«¯åºç¨ç¨åºå¯¹ ANSI 转移符çæ¯æï¼æ¾ç¤ºåå§ UART æ°æ®ç串å£çè§å¨ä¸è½ä¸è¡ç¼è¾åºä¸å使ç¨ãå¦æè¿è¡ get_started/console 示ä¾ç¨åºçæ¶åè§å¯å°çè¾åºç»ææ¯ ``[6n`` æè 类似ç转ä¹å符èä¸æ¯å½ä»¤è¡æ示符 ``[esp32]>`` æ¶ï¼å°±è¡¨æå½åç串å£çè§å¨ä¸æ¯æ ANSI 转移å符ãå·²ç¥å¯ç¨ç串å£çè§ç¨åºæ GNU screenï¼minicom å idf_monitor.pyï¼å¯ä»¥éè¿å¨é¡¹ç®ç®å½ä¸æ§è¡ ``make monitor`` æ¥è°ç¨ï¼ã + +åå¾è¿éå¯ä»¥æ¥ç `linenoise <https://github.com/antirez/linenoise>`_ åºæä¾çææå½æ°çæè¿°ã + +é ç½® +~~~~ + +Linenoise åºä¸éè¦æ¾å¼å°åå§åï¼ä½æ¯å¨è°ç¨è¡ç¼è¾å½æ°ä¹åï¼å¯è½éè¦å¯¹æäºé ç½®çé»è®¤å¼ç¨ä½ä¿®æ¹ã + +``linenoiseClearScreen`` + + 使ç¨è½¬ç§»åç¬¦æ¸ é¤ç»ç«¯å±å¹ï¼å¹¶å°å æ å®ä½å¨å·¦ä¸è§ã + +``linenoiseSetMultiLine`` + + å¨åè¡åå¤è¡ç¼è¾æ¨¡å¼ä¹é´è¿è¡åæ¢ãåè¡æ¨¡å¼ä¸ï¼å¦æå½ä»¤çé¿åº¦è¶ è¿ç»ç«¯ç宽度ï¼ä¼å¨è¡å æ»å¨å½ä»¤ææ¬ä»¥æ¾ç¤ºææ¬çç»å°¾ï¼å¨è¿ç§æ åµä¸ï¼ææ¬çå¼å¤´é¨åä¼è¢«éèãåè¡æ¨¡å¼å¨æ¯æ¬¡æä¸æé®æ¶åéç»å±å¹å·æ°çæ°æ®æ¯è¾å°ï¼ä¸å¤è¡æ¨¡å¼ç¸æ¯æ´ä¸å®¹æåçæ éãå¦ä¸æ¹é¢ï¼å¨åè¡æ¨¡å¼ä¸ç¼è¾å½ä»¤åå¤å¶å½ä»¤å°åå¾æ´å å°é¾ãé»è®¤æ åµä¸å¼å¯çæ¯åè¡æ¨¡å¼ã + +ä¸»å¾ªç¯ +~~~~~~ + +``linenoise`` + + å¨å¤§å¤æ°æ åµä¸ï¼æ§å¶å°åºç¨ç¨åºé½ä¼å ·æç¸åçå·¥ä½å½¢å¼ââå¨æ个循ç¯ä¸ä¸æ读åè¾å ¥çå 容ï¼ç¶å解æåå¤çã ``linenoise`` æ¯ä¸é¨ç¨æ¥è·åç¨æ·æé®è¾å ¥çå½æ°ï¼å½å车é®è¢«æä¸åä¼ä¾¿è¿åå®æ´çä¸è¡å 容ãå æ¤å¯ä»¥ç¨å®æ¥å®æåé¢å¾ªç¯ä¸çâ读åâä»»å¡ã + +``linenoiseFree`` + + å¿ é¡»è°ç¨æ¤å½æ°æè½éæ¾ä» ``linenoise`` å½æ°è·åçå½ä»¤è¡ç¼å²ã + +æ示åè¡¥å ¨ +~~~~~~~~~~ + +``linenoiseSetCompletionCallback`` + + å½ç¨æ·æä¸å¶è¡¨é®æ¶ï¼ linenoise ä¼è°ç¨ **è¡¥å ¨åè°å½æ°** ï¼è¯¥åè°å½æ°ä¼æ£æ¥å½åå·²ç»è¾å ¥çå 容ï¼ç¶åè°ç¨ ``linenoiseAddCompletion`` å½æ°æ¥æä¾ææå¯è½çè¡¥å ¨åçå½ä»¤å表ãå¯ç¨è¡¥å ¨åè½ï¼éè¦äºå è°ç¨ ``linenoiseSetCompletionCallback`` å½æ°æ¥æ³¨åè¡¥å ¨åè°å½æ°ã + + ``console`` ç»ä»¶æä¾äºä¸ä¸ªç°æçå½æ°æ¥ä¸ºæ³¨åçå½ä»¤æä¾è¡¥å ¨åè½ ``esp_console_get_completion`` ï¼è§åæï¼ã + +``linenoiseAddCompletion`` + + è¡¥å ¨åè°å½æ°ä¼éè¿è°ç¨æ¤å½æ°æ¥éç¥ linenoise åºå½åé®å ¥å½ä»¤ææå¯è½çè¡¥å ¨ç»æã + +``linenoiseSetHintsCallback`` + + æ¯å½ç¨æ·çè¾å ¥æ¹åæ¶ï¼ linenoise å°±ä¼è°ç¨æ¤åè°å½æ°ï¼æ£æ¥å°ç®å为æ¢è¾å ¥çå½ä»¤è¡å 容ï¼ç¶åæä¾å¸¦ææ示信æ¯çå符串ï¼ä¾å¦å½ä»¤åæ°å表ï¼ï¼ç¶åä¼å¨åä¸è¡ä¸ç¨ä¸åçé¢è²æ¾ç¤ºåºè¯¥ææ¬ã + +``linenoiseSetFreeHintsCallback`` + + å¦æ **æ示åè°å½æ°** è¿åçæ示å符串æ¯å¨æåé çæè éè¦ä»¥å ¶å®æ¹å¼åæ¶ï¼å°±éè¦ä½¿ç¨ ``linenoiseSetFreeHintsCallback`` 注åå ·ä½çæ¸ çå½æ°ã + +åå²è®°å½ +~~~~~~~~ + +``linenoiseHistorySetMaxLen`` + + 该å½æ°è®¾ç½®è¦ä¿çå¨å åä¸çæè¿è¾å ¥çå½ä»¤çæ°éãç¨æ·éè¿ä½¿ç¨åä¸/åä¸ç®å¤´æ¥å¯¼èªåå²è®°å½ã + +``linenoiseHistoryAdd`` + + Linenoise ä¸ä¼èªå¨ååå²è®°å½ä¸æ·»å å½ä»¤ï¼åºç¨ç¨åºéè¦è°ç¨æ¤å½æ°æ¥å°å½ä»¤å符串添å å°åå²è®°å½ä¸ã + +``linenoiseHistorySave`` + + 该å½æ°å°å½ä»¤çåå²è®°å½ä» RAM ä¸ä¿å为ææ¬æ件ï¼ä¾å¦ä¿åå° SD å¡æè Flash çæ件系ç»ä¸ã + +``linenoiseHistoryLoad`` + + ä¸ ``linenoiseHistorySave`` ç¸å¯¹åºï¼ä»æ件ä¸å è½½åå²è®°å½ã + +``linenoiseHistoryFree`` + + éæ¾ç¨äºåå¨å½ä»¤åå²è®°å½çå åãå½ä½¿ç¨å® linenoise åºåéè¦è°ç¨æ¤å½æ°ã + +å°å½ä»¤è¡æåæåæ°å表 +---------------------- + +``console`` ç»ä»¶æä¾ ``esp_console_split_argv`` å½æ°æ¥å°å½ä»¤è¡å符串æå为åæ°å表ã该å½æ°ä¼è¿ååæ°çæ°éï¼``argc``ï¼åä¸ä¸ªæéæ°ç»ï¼è¯¥æéæ°ç»å¯ä»¥ä½ä¸º ``argv`` åæ°ä¼ éç»ä»»ä½æ¥å ``argcï¼argv`` æ ¼å¼åæ°çå½æ°ã + +æ ¹æ®ä»¥ä¸è§åæ¥å°å½ä»¤è¡æåæåæ°åè¡¨ï¼ + +- åæ°ç±ç©ºæ ¼åé +- å¦æåæ°æ¬èº«éè¦ä½¿ç¨ç©ºæ ¼ï¼å¯ä»¥ä½¿ç¨ ``\`` ï¼åææ ï¼å¯¹å®ä»¬è¿è¡è½¬ä¹ +- å ¶å®è½è¢«è¯å«ç转ä¹å符æ ``\\`` ï¼æ¾ç¤ºåææ æ¬èº«ï¼å ``\"`` ï¼æ¾ç¤ºåå¼å·ï¼ +- å¯ä»¥ä½¿ç¨åå¼å·æ¥å¼ç¨åæ°ï¼å¼å·åªå¯è½åºç°å¨åæ°çå¼å¤´åç»å°¾ãåæ°ä¸çå¼å·å¿ é¡»å¦ä¸æè¿°è¿è¡è½¬ç§»ãåæ°å¨å´çå¼å·ä¼è¢« ``esp_console_split_argv`` å½æ°å é¤ + +示ä¾ï¼ + +- ``abc def 1 20 .3`` ⶠ[ ``abc``, ``def``, ``1``, ``20``, ``.3`` ] +- ``abc "123 456" def`` ⶠ[ ``abc``, ``123 456``, ``def`` ] +- ```a\ b\\c\"`` ⶠ[ ``a b\c"`` ] + +åæ°è§£æ +-------- + +对äºåæ°è§£æï¼``console`` ç»ä»¶ä½¿ç¨ `argtable3 <http://www.argtable.org/>`_ åºãæå ³ `argtable3 <http://www.argtable.org/>`_ çä»ç»è¯·æ¥ç `æç¨ <http://www.argtable.org/tutorial/>`_ æè Github ä»åºä¸ç `示ä¾ä»£ç <https://github.com/argtable/argtable3/tree/master/examples>`_ ã + +å½ä»¤ç注åä¸è°åº¦ +---------------- + +``console`` ç»ä»¶å å«äºä¸äºå·¥å ·å½æ°ï¼ç¨æ¥æ³¨åå½ä»¤ï¼å°ç¨æ·è¾å ¥çå½ä»¤åå·²ç»æ³¨åçå½ä»¤è¿è¡å¹é ï¼ä½¿ç¨å½ä»¤è¡è¾å ¥çåæ°è°ç¨å½ä»¤ã + +åºç¨ç¨åºé¦å è°ç¨ ``esp_console_init`` æ¥åå§åå½ä»¤æ³¨å模åï¼ç¶åè°ç¨ ``esp_console_cmd_register`` å½æ°æ³¨åå½ä»¤å¤çç¨åºã + +对äºæ¯ä¸ªå½ä»¤ï¼åºç¨ç¨åºéè¦æä¾ä»¥ä¸ä¿¡æ¯ï¼éè¦ä»¥ ``esp_console_cmd_t`` ç»æä½çå½¢å¼ç»åºï¼ï¼ + +- å½ä»¤ååï¼ä¸å«ç©ºæ ¼çåç¬¦ä¸²ï¼ +- 帮å©ææ¡£ï¼è§£é该å½ä»¤çç¨é +- å¯éçæ示ææ¬ï¼ååºå½ä»¤çåæ°ãå¦æåºç¨ç¨åºä½¿ç¨ ``Argtable3`` åºæ¥è§£æåæ°ï¼åå¯ä»¥éè¿æä¾æå argtable åæ°å®ä¹ç»æä½çæéæ¥èªå¨çææ示ææ¬ +- å½ä»¤å¤çå½æ° + +å½ä»¤æ³¨å模åè¿æä¾äºå ¶å®å½æ°ï¼ + +``esp_console_run`` + + 该å½æ°æ¥åå½ä»¤è¡å符串ï¼ä½¿ç¨ ``esp_console_split_argv`` å½æ°å°å ¶æå为 argc/argv å½¢å¼çåæ°å表ï¼å¨å·²ç»æ³¨åçç»ä»¶å表ä¸æ¥æ¾å½ä»¤ï¼å¦ææ¾å°ï¼åæ§è¡å ¶å¯¹åºçå¤çç¨åºã + +``esp_console_register_help_command`` + + å° ``help`` å½ä»¤æ·»å å°å·²æ³¨åå½ä»¤å表ä¸ï¼æ¤å½ä»¤å°ä¼ä»¥å表çæ¹å¼æå°ææ注åçå½ä»¤åå ¶åæ°å帮å©ææ¬ã + +``esp_console_get_completion`` + + ä¸ linenoise åºä¸ç ``linenoiseSetCompletionCallback`` ä¸å使ç¨çåè°å½æ°ï¼æ ¹æ®å·²ç»æ³¨åçå½ä»¤å表为 linenoise æä¾è¡¥å ¨åè½ã + +``esp_console_get_hint`` + + ä¸ linenoise åºä¸ ``linenoiseSetHintsCallback`` ä¸å使ç¨çåè°å½æ°ï¼ä¸º linenoise æä¾å·²ç»æ³¨åçå½ä»¤çåæ°æ示åè½ã + +ç¤ºä¾ +---- + +``examples/system/console`` ç®å½ä¸æä¾äº ``console`` ç»ä»¶ç示ä¾åºç¨ç¨åºï¼å±ç¤ºäºå ·ä½ç使ç¨æ¹æ³ã该示ä¾ä»ç»äºå¦ä½åå§å UART å VFS çåè½ï¼è®¾ç½® linenoise åºï¼ä» UART ä¸è¯»åå½ä»¤å¹¶å 以å¤çï¼ç¶åå°åå²å½ä»¤åå¨å° Flash ä¸ãæ´å¤ä¿¡æ¯ï¼è¯·åé 示ä¾ä»£ç ç®å½ä¸ç README.md æ件ã diff --git a/docs/zh_CN/api-guides/index.rst b/docs/zh_CN/api-guides/index.rst index bd4d6ee5c5..b02128d1e1 100644 --- a/docs/zh_CN/api-guides/index.rst +++ b/docs/zh_CN/api-guides/index.rst @@ -24,7 +24,7 @@ API æå åå æµè¯ <unit-tests> åå æµè¯ (CMake) <unit-tests-cmake> Application Level Tracing <app_trace> - Console Component <console> + æ§å¶å°ç»ç«¯ç»ä»¶ <console> ROM debug console <romconsole> WiFi Driver <wifi> ESP-MESH <mesh>