From 871e54f3a9f41b124b75cfcf737667424830d988 Mon Sep 17 00:00:00 2001 From: raspberry <54708046+sysdl132@users.noreply.github.com> Date: Wed, 1 Jul 2020 21:29:08 +0800 Subject: [PATCH 1/7] Update case.md --- docs/zh_CN/case.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/zh_CN/case.md b/docs/zh_CN/case.md index a9003915..89bcf96d 100644 --- a/docs/zh_CN/case.md +++ b/docs/zh_CN/case.md @@ -71,6 +71,8 @@ * [AcornsM5](https://github.com/EternityForest/AcornsM5) - Squirrel based OS for the M5Stack, can run apps from SD card. +* [LovyanLauncher](https://github.com/lovyan03/M5Stack_LovyanLauncher) - M5Stack Tools & Application Launcher + * [M5Stack_TreeView](https://github.com/lovyan03/M5Stack_TreeView) - Tree view menu library * [M5Stack_LovyanLauncher](https://github.com/lovyan03/M5Stack_LovyanLauncher) - M5Stack Launcher by lovyan03 @@ -121,6 +123,18 @@ * [ETERNAL_STRIKER](http://www.team-rh.com/?p=232) - Shooting game for M5Stack +* [3DPrintfiles](https://github.com/m4k3r-org/M5Stack-3DPrintFiles) - Links to files for 3D printing custom case parts for the M5Stack. + +* [Covid-19_monitor](https://github.com/electricidea/M5Stack-Covid19-Monitor) - Code to graphically display the current data of the Covid-19 pandemic + +* [homepoint](https://github.com/sieren/Homepoint) - Espressif ESP32 Based Smarthome screen for MQTT.Manage your home now! + +* [tinybasicplus-for-m5](https://github.com/0x1abin/M5Stack_TinyBasicPlus) - A remix from tinybasicplus + +* [Chat_APP_M5Stack](https://github.com/sysdl132/Chat_APP_M5Stack) - Prototype chat application using MQTT with M5Stack.A remix from tanopanta/Chat_APP_M5Stack + +* [Tensorflow_microspeech](https://github.com/boochow/TFLite_Micro_MicroSpeech_M5Stack) - M5Stack (ESP32) port of TensorFlow Lite for Microcontrollers demo "Micro Speech" + ## Hardware * [USB Host Shield for M5Stack](https://thousandiy.wordpress.com/2018/06/16/usb-host-for-m5stack/) - USB Host Shield based on MAX3421E @@ -147,6 +161,7 @@ * [USB HOST Module for M5STACK](https://macsbug.wordpress.com/2018/10/31/usb-host-module-for-m5stack/) - USB Host module for M5Stack + ## Web site ### Espressif @@ -187,4 +202,4 @@ $("ul").css("padding-left","0px"); $("li").wrap("
"); }); - --> \ No newline at end of file + --> From 7c204401a7c49cc5b4b494502d891e010d3e68ec Mon Sep 17 00:00:00 2001 From: raspberry <54708046+sysdl132@users.noreply.github.com> Date: Wed, 1 Jul 2020 21:31:33 +0800 Subject: [PATCH 2/7] Update case.md --- docs/en/case.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/docs/en/case.md b/docs/en/case.md index 206b030f..c75ff0da 100644 --- a/docs/en/case.md +++ b/docs/en/case.md @@ -2,7 +2,7 @@ * [M5Stack-SD-Updater](https://github.com/tobozo/M5Stack-SD-Updater) - Customizable menu system for M5Stack - loads apps from the Micro SD card -* [TFT_eSPI](https://github.com/Bodmer/TFT_eSPI) - TFT library for the ESP8266 and ESP32 that supports different driver chips +* [TFT_eSPI](https://github.com/Bodmer/TFT_eSPI) -TFT library for the ESP8266 and ESP32 that supports different driver chips * [M5Widgets](https://github.com/biblepaywallet/M5Widgets) - Widgets for the M5Stack @@ -62,9 +62,11 @@ * [gui for m5stack by micropython](https://github.com/lifedebug/m5stack) - gui for m5stack by micropython -* [M5Stack-Tetris-using-RCWController](https://github.com/PartsandCircuits/M5Stack-Tetris-using-RCWController) - Play Tetris on an M5Stack using the RCWController iPhone app to control the action +* [M5Stack-Tetris-using-RCWController](https://github.com/PartsandCircuits/M5Stack-Tetris-using-RCWController) - Play Tetris on an M5Stack using the RCWController iPhone app to control the action. -* [AcornsM5](https://github.com/EternityForest/AcornsM5) - Squirrel based OS for the M5Stack, can run apps from SD card +* [AcornsM5](https://github.com/EternityForest/AcornsM5) - Squirrel based OS for the M5Stack, can run apps from SD card. + +* [LovyanLauncher](https://github.com/lovyan03/M5Stack_LovyanLauncher) - M5Stack Tools & Application Launcher * [M5Stack_TreeView](https://github.com/lovyan03/M5Stack_TreeView) - Tree view menu library @@ -116,6 +118,18 @@ * [ETERNAL_STRIKER](http://www.team-rh.com/?p=232) - Shooting game for M5Stack +* [3DPrintfiles](https://github.com/m4k3r-org/M5Stack-3DPrintFiles) - Links to files for 3D printing custom case parts for the M5Stack. + +* [Covid-19_monitor](https://github.com/electricidea/M5Stack-Covid19-Monitor) - Code to graphically display the current data of the Covid-19 pandemic + +* [homepoint](https://github.com/sieren/Homepoint) - Espressif ESP32 Based Smarthome screen for MQTT.Manage your home now! + +* [tinybasicplus-for-m5](https://github.com/0x1abin/M5Stack_TinyBasicPlus) - A remix from tinybasicplus + +* [Chat_APP_M5Stack](https://github.com/sysdl132/Chat_APP_M5Stack) - Prototype chat application using MQTT with M5Stack.A remix from tanopanta/Chat_APP_M5Stack + +* [Tensorflow_microspeech](https://github.com/boochow/TFLite_Micro_MicroSpeech_M5Stack) - M5Stack (ESP32) port of TensorFlow Lite for Microcontrollers demo "Micro Speech" + ## Hardware * [USB Host Shield for M5Stack](https://thousandiy.wordpress.com/2018/06/16/usb-host-for-m5stack/) - USB Host Shield based on MAX3421E From 09ab1620cd4064139e63662dc3de1595e6482272 Mon Sep 17 00:00:00 2001 From: raspberry <54708046+sysdl132@users.noreply.github.com> Date: Wed, 1 Jul 2020 21:36:03 +0800 Subject: [PATCH 3/7] Update case.md --- docs/en/case.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/case.md b/docs/en/case.md index c75ff0da..9b597b34 100644 --- a/docs/en/case.md +++ b/docs/en/case.md @@ -2,7 +2,7 @@ * [M5Stack-SD-Updater](https://github.com/tobozo/M5Stack-SD-Updater) - Customizable menu system for M5Stack - loads apps from the Micro SD card -* [TFT_eSPI](https://github.com/Bodmer/TFT_eSPI) -TFT library for the ESP8266 and ESP32 that supports different driver chips +* [TFT_eSPI](https://github.com/Bodmer/TFT_eSPI) - TFT library for the ESP8266 and ESP32 that supports different driver chips * [M5Widgets](https://github.com/biblepaywallet/M5Widgets) - Widgets for the M5Stack From b66f18bd63dfd80f65496ac5fec6d83b368cf1e2 Mon Sep 17 00:00:00 2001 From: Gitshaoxiang <1026025056@qq.com> Date: Tue, 4 Aug 2020 18:55:59 +0800 Subject: [PATCH 4/7] fix some mistake and add 180/360 servo / and 8servos hat pin map pic --- docs/assets/css/main-min.css | 2 +- docs/assets/css/main.css | 4 + .../accessory/servo_kit/servo_kit_180_02.webp | Bin 0 -> 28012 bytes .../accessory/servo_kit/servo_kit_360_02.webp | Bin 0 -> 38420 bytes .../hat/8servos_hat/8servos_05.webp | Bin 0 -> 55128 bytes docs/assets/js/custom.js | 12 ++- docs/assets/js/custom.min.js | 2 +- docs/en/accessory/servo_kit.md | 4 + docs/en/app/bala.md | 2 +- docs/en/app/bala2.md | 2 +- docs/en/app/demo-board.md | 2 +- docs/en/app/flir.md | 2 +- docs/en/app/lidarbot.md | 2 +- .../en/base/iiot_dual_switch_kit_with_core.md | 2 +- docs/en/hat/hat-8servos.md | 2 + docs/en/module/comx_gsm.md | 4 +- docs/en/module/faces_finger.md | 2 +- docs/en/module/faces_rfid.md | 2 +- docs/en/module/goplus.md | 2 +- docs/en/module/gps.md | 4 +- docs/en/module/gsm.md | 4 +- docs/en/module/joystick.md | 2 +- docs/en/module/lego_plus.md | 2 +- docs/en/module/lora.md | 2 +- docs/en/module/lorawan.md | 2 +- docs/en/module/lte.md | 4 +- docs/en/module/nb-iot.md | 4 +- docs/en/module/nb-iot_plus.md | 4 +- docs/en/module/plus.md | 2 +- docs/en/module/sim800.md | 4 +- docs/en/module/stepmotor.md | 2 +- docs/en/module/usb.md | 2 +- docs/en/quick_start/bala/bala_quick_start.md | 2 +- .../en/quick_start/bala2/bala2_quick_start.md | 2 +- ...5stack_core_get_started_Arduino_Windows.md | 2 +- .../m5stack_core_get_started_MicroPython.md | 2 +- .../m5stickc_quick_start_with_uiflow.md | 2 +- .../m5stickc_plus_quick_start_with_uiflow.md | 2 +- docs/en/related_documents/M5Burner.md | 2 +- docs/en/related_documents/Setting_WIFI.md | 6 +- .../related_documents/UIFlow_Desktop_IDE.md | 4 +- .../related_documents/how_to_burn_firmware.md | 2 +- docs/en/uiflow/FACES.md | 16 ++++ docs/en/uiflow/UIFlow_Desktop_IDE.md | 6 +- docs/en/uiflow/Units.md | 2 +- docs/en/uiflow/advanced.md | 79 +++++++----------- docs/en/uiflow/blockly_custom.md | 20 +++-- docs/en/uiflow/data_structure.md | 31 +++++-- docs/en/uiflow/hardware.md | 15 +++- docs/en/uiflow/introduction.md | 6 +- docs/en/uiflow/introduction_atom.md | 2 +- docs/en/uiflow/logic.md | 25 ++++-- docs/en/uiflow/uiflow_home_page.md | 27 +++--- docs/zh_CN/accessory/servo_kit.md | 7 +- docs/zh_CN/api/system.md | 2 +- docs/zh_CN/app/bala.md | 2 +- docs/zh_CN/app/demo-board.md | 2 +- docs/zh_CN/app/flir.md | 2 +- docs/zh_CN/app/lidarbot.md | 2 +- .../base/iiot_dual_switch_kit_with_core.md | 2 +- docs/zh_CN/hat/hat-8servos.md | 3 + docs/zh_CN/module/comx_gsm.md | 4 +- docs/zh_CN/module/faces_finger.md | 2 +- docs/zh_CN/module/faces_rfid.md | 2 +- docs/zh_CN/module/goplus.md | 2 +- docs/zh_CN/module/gps.md | 4 +- docs/zh_CN/module/gsm.md | 4 +- docs/zh_CN/module/joystick.md | 2 +- docs/zh_CN/module/lego_plus.md | 2 +- docs/zh_CN/module/lora.md | 2 +- docs/zh_CN/module/lorawan.md | 2 +- docs/zh_CN/module/lte.md | 4 +- docs/zh_CN/module/nb-iot.md | 4 +- docs/zh_CN/module/nb-iot_plus.md | 2 +- docs/zh_CN/module/plus.md | 2 +- docs/zh_CN/module/sim800.md | 4 +- docs/zh_CN/module/stepmotor.md | 2 +- docs/zh_CN/module/usb.md | 2 +- .../quick_start/bala/bala_quick_start.md | 2 +- .../quick_start/bala2/bala2_quick_start.md | 2 +- .../m5stack_core_get_started_MicroPython.md | 2 +- .../m5stickc_quick_start_with_uiflow.md | 2 +- .../m5stickc_plus_quick_start_with_uiflow.md | 2 +- docs/zh_CN/related_documents/M5Burner.md | 2 +- docs/zh_CN/related_documents/Setting_WIFI.md | 6 +- .../related_documents/UIFlow_Desktop_IDE.md | 4 +- docs/zh_CN/uiflow/FACES.md | 16 ++++ docs/zh_CN/uiflow/Modules.md | 21 +++++ docs/zh_CN/uiflow/UIFlow_Desktop_IDE.md | 6 +- docs/zh_CN/uiflow/Units.md | 2 +- docs/zh_CN/uiflow/advanced.md | 68 +++++++-------- docs/zh_CN/uiflow/blockly_custom.md | 21 +++-- docs/zh_CN/uiflow/data_structure.md | 17 ++++ docs/zh_CN/uiflow/hardware.md | 15 ++++ docs/zh_CN/uiflow/introduction.md | 6 +- docs/zh_CN/uiflow/introduction_atom.md | 4 +- docs/zh_CN/uiflow/logic.md | 17 +++- docs/zh_CN/uiflow/uiflow_home_page.md | 17 ++-- docs/zh_CN/unit/laser-tx.md | 2 +- 99 files changed, 397 insertions(+), 246 deletions(-) create mode 100644 docs/assets/img/product_pics/accessory/servo_kit/servo_kit_180_02.webp create mode 100644 docs/assets/img/product_pics/accessory/servo_kit/servo_kit_360_02.webp create mode 100644 docs/assets/img/product_pics/hat/8servos_hat/8servos_05.webp diff --git a/docs/assets/css/main-min.css b/docs/assets/css/main-min.css index b617fe6a..3a423d1f 100644 --- a/docs/assets/css/main-min.css +++ b/docs/assets/css/main-min.css @@ -1 +1 @@ -:root{--theme-color:hsl(204,90%,45%)}*{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif}a{text-decoration:none !important}img{z-index:51}.product_pic img{width:30%}@media screen and (max-width:768px){.product_pic img{width:100%}}#mb_header{display:none}.el-menu-vertical-demo:not(.el-menu--collapse){width:200px;min-height:400px}#mb_header{position:fixed;top:50%;transform:translateY(-50%);box-shadow:-5px 1px 20px 0 #e7e5e5;z-index:999;border-radius:10px;right:0}#mb_header .el-menu{border-right:0;border-radius:10px}#mb_header .el-submenu__title,.el-menu-item{padding:0 10px !important;text-align:center}#mb_header .el-menu-item div{padding:0 10px !important}#mb_header .el-menu-item li{height:30px}#pc_header{position:fixed;z-index:999;left:0;top:0;right:0;background-color:white;box-shadow:0 0 10px #ddd;padding:0 20px;display:flex;justify-content:space-between}#pc_header .el-menu{display:inline-block;padding:10px 0 0 0;border-bottom:0}.markdown-section{max-width:75%;margin-top:50px}.markdown-section a{color:hsl(211,100%,50%)}body[data-page="en/quick_start/m5stickc/m5stickc_quick_start.md"] article.markdown-section{max-width:100%}body[data-page="zh_CN/quick_start/m5stickc/m5stickc_quick_start.md"] article.markdown-section{max-width:100%}.pic{width:30%}.video_size{width:50%}.uiflow_banner{position:relative}.row a{color:white;text-decoration:none}.row a:hover{color:white;text-decoration:none}.uiflow_p{height:100px}.item{width:150px;margin-right:10px;margin-top:10px;margin-bottom:10px;display:inline-block;position:relative;cursor:pointer;transition:box-shadow .3s;text-decoration:none;background-color:white}.related_links{position:fixed;top:35%;right:0;z-index:900;width:50px}.related_links a{display:block;width:50px;height:50px;text-decoration:none;transition:all .25s ease;float:right}.related_links a:first-child{border-top-left-radius:3px;background-color:#76c5f0}.related_links a:nth-child(2){background-color:#007cc2}.related_links a:nth-child(3){background-color:#dc214c}.related_links a:nth-child(4){background-color:#1f1a17}.related_links a:nth-child(5){border-bottom-left-radius:3px}.related_links a:hover{width:90px}.related_links a img{position:relative;top:5px;left:5px;width:40px}.related_links a:nth-child(4) img{top:3.5px;left:3.5px;width:43px}.related_links div img{position:relative;top:10px;left:0;width:50px;transition:all .25s ease}.related_links div img:hover{transform:scale(1.05)}@media screen and (max-width:768px){.related_links{display:none}}.item-title{white-space:nowrap;text-align:center;margin-top:0 !important;margin-bottom:28px !important}.item a{color:black;text-decoration:none}.item a:hover{text-decoration:none}.dropdown{display:inline-block;transition:all .25s ease;color:#343a40}.dropdown div{position:absolute;overflow:hidden;height:0;background-color:#fff;transition:all .25s ease;left:-50px;text-align:center;top:40px;z-index:1001;min-width:10rem}.dropdown:hover{box-shadow:0 2px 0 0 #007bff;color:#007bff}.dropdown:hover div{padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;list-style:none;background-clip:padding-box;height:max-content;box-shadow:0 17px 18px 0 #f0f0f0}.dropdown div a:hover{color:#007bff !important}.dropdown div a:active{background-color:#ccc !important}.mask{position:absolute;top:0;left:0;width:150px;height:100%;background:rgba(0,0,0,0.28);color:#fff;opacity:0}.mask h3{text-align:center}.product_page .item:hover{transform:scale(1.3);transition:all .2s ease;z-index:31 !important;box-shadow:0 0 10px #6ab2ff}.product_page .item:hover .quickstart_btn{display:block}.mask-btn1{position:relative;top:30px;border:0;width:90px;background-color:#007bffc7;color:white}.product_list div.btn-group-vertical{display:none}.product_list:hover div.btn-group-vertical{position:fixed;display:block;margin:0;z-index:9999}.item .mask_sku{position:absolute;bottom:0;width:100%;text-align:center;font-size:19px}main>.content{margin:0}div.card-img-overlay{background-color:rgba(0,0,0,0.6)}div.card-img-overlay:hover{background-color:rgba(0,0,0,0.25);color:blue !important}.banner{width:100%;height:300px;background-color:#fffbff}.product_page{margin-left:60px;margin-top:100px}.search{position:fixed;z-index:2000;top:22px;left:260px;padding:0 20px}.search input{border-radius:40px;border:0;outline:0;background:#eee;width:240px;height:38px;padding:0 0 0 20px}.search .search-btn{position:absolute;top:10px;right:40px;border-radius:100px;width:30px;height:30px}.search i{position:absolute;top:6px;right:7px;font-size:18px}.search .search_point{background-color:#f7f7f7;margin:2px 22px;display:none;overflow-y:auto;max-height:300px;box-shadow:0 2px 0 0 #007bff;max-width:260px;z-index:2000}.search .search_point a{padding:4px 20px;display:block}.search .search_point a:hover{color:#007bff}body[data-page="index.md"] .search{display:inline-block}body[data-page="en/faq.md"] .search{display:inline-block}body[data-page="zh_CN/README.md"] .search{display:inline-block}body[data-page="zh_CN/faq.md"] .search{display:inline-block}body[data-page="index.md"] .markdown-section{margin-top:25px}body[data-page="zh_CN/README.md"] .markdown-section{margin-top:25px}@media screen and (max-width:768px){.dropdown{display:block}#mb_header{display:block}#pc_header{display:none}.markdown-section{max-width:100%;margin-top:0;padding-left:45px;padding-right:45px}.banner div.card-img-overlay h4{font-size:1.3em;color:#fff;text-align:center}.banner{margin-left:8px;margin-right:0;width:130px}.item{width:130px;margin-left:5px;margin-right:5px;margin-top:10px;margin-bottom:10px;display:inline-block;position:relative;cursor:pointer;transition:box-shadow .3s;text-decoration:none}.uiflow_p{height:auto}.pc-navigation{display:none}.product_page{margin-left:0;margin-top:0}.mb-navigation{z-index:9999;position:fixed;top:0;left:0;right:50px;height:50px;color:#343a40;border-radius:0;background:white;line-height:inherit;display:block;box-shadow:-12px -1px 10px #888}.nav-content{position:fixed;top:50px;left:0;color:white;right:0;z-index:999}.search{position:fixed;top:15px !important;left:50%;transform:translateX(-50%)}.video_size{width:100%}}@media screen and (max-width:768px){.pic{width:50%}}mark{background-color:#2673ffe0;color:white;border-radius:1px}.faq-class{border:1px solid #d9d9d9;margin-bottom:1.5%;background-color:#d9d9d9;padding:20px;border-radius:10px;height:auto}.faq-class h5{color:#666 !important;font-size:16px !important;position:relative;margin:0 !important}.search-tips{border:1px solid #d9d9d9;margin-bottom:1.5%;background-color:#d9d9d9;padding:20px;border-radius:10px;height:auto}.search-tips h5{color:#666 !important;font-size:16px !important;position:relative;margin:0 !important}.faq-item{border:1px solid #d9d9d9;margin-bottom:1.5%;background-color:#fff;padding:20px;border-radius:10px;height:auto}.faq-title{color:#666 !important;font-size:16px !important;position:relative;margin:0 !important;padding-right:30px !important}.faq-title.open{max-height:600px}.faq-title::before{background-color:#007bff;content:"";width:20px;height:20px;border-radius:20px;position:absolute;right:0;top:0;bottom:0;margin:auto}.faq-button{height:0;margin:0 !important}.faq-button::after{background-color:white;content:"";width:12px;height:2px;position:absolute;top:0;right:4px;bottom:0;margin:auto;z-index:10}.faq-button::before{background-color:white;content:"";width:12px;height:2px;position:absolute;top:0;right:4px;bottom:0;margin:auto;transform:rotate(90deg);z-index:10}.faq-answer{border:0;outline:0;font-weight:400;max-height:0;overflow:auto;transition:max-height .35s ease}.faq-answer div{padding-top:30px;color:#666 !important}.faq-answer div span{display:block}.faq-item .faq-title.open+.faq-answer{max-height:600px}.faq-img{margin-top:20px;margin-bottom:20px;width:40%;display:inline-block}.cases-item{border:1px solid #d9d9d9;margin-bottom:1.5%;background-color:#fff;padding:20px;border-radius:10px;height:auto}.cases-title{color:#666 !important;font-size:16px !important;position:relative;margin:0 !important;padding-right:30px !important}.anchor-box{position:fixed;top:22%;left:50px;display:-webkit-flex;display:flex;flex-direction:column;z-index:50;width:max-content}.anchor-box img{width:30px;height:31px;margin-left:10px;margin-top:2px}.anchor-box svg{margin-left:10px;margin-top:2px}.anchor-box>a{display:-webkit-flex;display:flex;flex-direction:row;height:40px;width:180px;padding:2px 10px;text-decoration:none;outline:0;border:0;border-radius:25px;color:#fff !important;font-size:16px;line-height:1.2;transition:all .3s ease;background-color:#333;box-shadow:4px 4px 8px 0 #aeaeae;-moz-box-shadow:4px 4px 8px 0 #aeaeae;-webkit-box-shadow:4px 4px 8px 0 #aeaeae;margin-top:12px}.anchor-box>a:hover{background-color:#007aff !important;box-shadow:4px 4px 8px 0 #007aff5c !important;-moz-box-shadow:4px 4px 8px 0 #007aff5c !important;-webkit-box-shadow:4px 4px 8px 0 #007aff5c !important}.anchor-box span{width:100px;text-align:center;margin-left:6px;overflow:hidden;white-space:nowrap}.anchor-box svg{margin-left:12px;margin-top:4px}.anchor-active{background-color:#007aff !important;box-shadow:4px 4px 8px 0 #007aff5c !important;-moz-box-shadow:4px 4px 8px 0 #007aff5c !important;-webkit-box-shadow:4px 4px 8px 0 #007aff5c !important}.anchor-quiet{background-color:#333 !important;box-shadow:4px 4px 8px 0 #aeaeae !important;-moz-box-shadow:4px 4px 8px 0 #aeaeae !important;-webkit-box-shadow:4px 4px 8px 0 #aeaeae !important}@media screen and (max-width:1645px){.anchor-box{left:20px}}@media screen and (max-width:1460px){.anchor-box{left:0}}@media screen and (max-width:1300px){.anchor-box{left:-30px}.search{top:100px}}@media screen and (max-width:1180px){.anchor-box{left:-54px}#pc_header>a{display:none}}@media screen and (max-width:768px){.anchor-box{position:fixed;top:32%;left:auto;right:-120px;display:-webkit-flex;display:flex;flex-direction:column;z-index:9999;display:none}.anchor-active{float:left;transform:translateX(-100px) !important}.anchor-quiet{float:left;transform:translateX(0px) !important}}.easyloader-box{display:flex;flex-direction:row;width:80%}.easyloader-box>div{position:relative;width:50%;overflow:hidden}.easyloader-box img,video{width:100%}.easyloader-box p{margin:10px 25px;color:white}.easyloader-box p:last-child{overflow-y:scroll;height:20%;font-size:10px}.easyloader-mask{position:absolute;right:0;bottom:6px;height:100%;width:100%;background-color:black;opacity:.7;transition:all .3s;display:flex;flex-direction:column;justify-content:center}.easyloader-mask a{margin-top:50px;text-align:center}.video_play{bottom:-100%}.easyloader-btn{position:absolute;display:flex;flex-direction:row;justify-content:space-around;bottom:7%;width:100%;padding:0 20px}.easyloader-btn a{width:90px;text-align:center;padding:2px 10px;background-color:#007bff;color:white !important;border-radius:10px}.easyloader-btn a:hover{background-color:#45a9ff}@media screen and (max-width:768px){.easyloader-box{flex-direction:column;width:100%}.easyloader-box>div{width:100%}}.platform-box{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.platform-item{position:relative;overflow:hidden;margin:20px;box-shadow:0 0 5px 0 #dbdbdb;border-radius:15px}.platform-box>div:nth-of-type(1)::after{content:"";position:absolute;width:2px;height:450px;background-color:#d9d9d9;right:-22px;top:43px}.platform-item h3{position:absolute;top:50%;width:100%;text-align:center;font-size:20px;font-weight:normal;color:#fff;z-index:11}.platform-tag{position:absolute;top:50%;left:45%;width:150px;height:150px;margin:-60px 0 0 -60px;background:#333;opacity:.8;border-radius:50%;z-index:10;-webkit-transform:scale(1,1);-moz-transform:scale(1,1);transform:scale(1,1);-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .5s cubic-bezier(0.23,0.53,0.22,0.93)}.platform-item a:hover .platform-tag{transform:scale(4.3,4.3)}@media screen and (max-width:768px){.platform-box>div:nth-of-type(1)::after{content:"";position:absolute;width:300px;height:2px;background-color:#d9d9d9;right:-30px;top:455px}}.markdown-section h1{font-family:Montserrat;font-weight:1000;font-size:48px;display:inline}.markdown-section h2{font-family:Montserrat;font-weight:600;font-size:25px;padding:0;padding-top:110px;margin-top:-70px}.markdown-section p{font-family:Montserrat}.product_sku_tag{margin-left:5px;margin-top:5px}table thead,table tr{border-top-width:1px;border-top-style:solid;border-top-color:#aabfdc}table{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#aabfdc;border-top-width:1px;border-top-style:solid;border-top-color:#aabfdc;overflow:auto;display:table !important}table td,table th{padding:5px 10px;font-size:13px;font-family:Montserrat;color:#597da1 !important;border-color:hsl(212,42%,88%);min-width:50px}table tr:nth-child(even){background:#d3dfed !important}table tr:nth-child(odd){background:#FFF !important}@media screen and (max-width:768px){table{display:block !important;overflow:scroll}}.files_download{display:flex;flex-direction:row;justify-content:space-evenly;flex-wrap:wrap;margin:45px}.files_download .item{display:flex;justify-content:center;width:200px;box-shadow:4px 4px 7px 0 #cecece;transition:all .25s ease}.files_download .item:hover{transform:scale(1.2)}#tag_title{position:absolute;color:#fff;width:160px;font-size:14px;padding:4px;background:#007bffc7;border:solid 1px #e9f7f6;border-radius:5px;text-align:center;z-index:40}#tag_title::after{content:" ";position:absolute;top:50%;left:-18px;width:0;height:0;border-width:8px;border-style:solid;border-color:transparent #007bffc7 transparent transparent;transform:translateY(-50%)}.el-icon-loading{font-size:88px}[v-cloak]{display:none}#search_cover{z-index:1998;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000087;overflow:scroll}#search_contant_box{margin:90px 15% 10% 15%;padding:50px 100px 50px 100px;background-color:#ffffffd6;overflow:scroll}#close_search{position:fixed;right:20%;font-size:30px;z-index:2000}@media screen and (max-width:768px){#search_contant_box{margin:0;padding:60px 20px 60px 20px;height:100%}#search_contant_box .el-tabs__header{margin-left:55px}#close_search{right:15px}}#product_result img{width:100%}.quickstart_btn{position:absolute;border:0;color:white;left:30px;bottom:38px;transform:scale(1);font-size:9px;display:none} +:root{--theme-color:hsl(204,90%,45%)}*{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif}a{text-decoration:none !important}img{z-index:51}.product_pic img{width:30%}@media screen and (max-width:768px){.product_pic img{width:100%}}#mb_header{display:none}.el-menu-vertical-demo:not(.el-menu--collapse){width:200px;min-height:400px}#mb_header{position:fixed;top:50%;transform:translateY(-50%);box-shadow:-5px 1px 20px 0 #e7e5e5;z-index:999;border-radius:10px;right:0}#mb_header .el-menu{border-right:0;border-radius:10px}#mb_header .el-submenu__title,.el-menu-item{padding:0 10px !important;text-align:center}#mb_header .el-menu-item div{padding:0 10px !important}#mb_header .el-menu-item li{height:30px}#pc_header{position:fixed;z-index:999;left:0;top:0;right:0;background-color:white;box-shadow:0 0 10px #ddd;padding:0 20px;display:flex;justify-content:space-between}#pc_header .el-menu{display:inline-block;padding:10px 0 0 0;border-bottom:0}.markdown-section{max-width:75%;margin-top:50px}.markdown-section a{color:hsl(211,100%,50%)}body[data-page="en/quick_start/m5stickc/m5stickc_quick_start.md"] article.markdown-section{max-width:100%}body[data-page="zh_CN/quick_start/m5stickc/m5stickc_quick_start.md"] article.markdown-section{max-width:100%}.pic{width:30%}.video_size{width:50%}.uiflow_banner{position:relative}.row a{color:white;text-decoration:none}.row a:hover{color:white;text-decoration:none}.uiflow_p{height:100px}.item{width:150px;margin-right:10px;margin-top:10px;margin-bottom:10px;display:inline-block;position:relative;cursor:pointer;transition:box-shadow .3s;text-decoration:none;background-color:white}.related_links{position:fixed;top:35%;right:0;z-index:900;width:50px}.related_links a{display:block;width:50px;height:50px;text-decoration:none;transition:all .25s ease;float:right}.related_links a:first-child{border-top-left-radius:3px;background-color:#76c5f0}.related_links a:nth-child(2){background-color:#007cc2}.related_links a:nth-child(3){background-color:#dc214c}.related_links a:nth-child(4){background-color:#1f1a17}.related_links a:nth-child(5){border-bottom-left-radius:3px}.related_links a:hover{width:90px}.related_links a img{position:relative;top:5px;left:5px;width:40px}.related_links a:nth-child(4) img{top:3.5px;left:3.5px;width:43px}.related_links div img{position:relative;top:10px;left:0;width:50px;transition:all .25s ease}.related_links div img:hover{transform:scale(1.05)}@media screen and (max-width:768px){.related_links{display:none}}.item-title{white-space:nowrap;text-align:center;margin-top:0 !important;margin-bottom:28px !important}.item a{color:black;text-decoration:none}.item a:hover{text-decoration:none}.dropdown{display:inline-block;transition:all .25s ease;color:#343a40}.dropdown div{position:absolute;overflow:hidden;height:0;background-color:#fff;transition:all .25s ease;left:-50px;text-align:center;top:40px;z-index:1001;min-width:10rem}.dropdown:hover{box-shadow:0 2px 0 0 #007bff;color:#007bff}.dropdown:hover div{padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;list-style:none;background-clip:padding-box;height:max-content;box-shadow:0 17px 18px 0 #f0f0f0}.dropdown div a:hover{color:#007bff !important}.dropdown div a:active{background-color:#ccc !important}.mask{position:absolute;top:0;left:0;width:150px;height:100%;background:rgba(0,0,0,0.28);color:#fff;opacity:0}.mask h3{text-align:center}.product_page .item:hover{transform:scale(1.3);transition:all .2s ease;z-index:31 !important;box-shadow:0 0 10px #6ab2ff}.product_page .item:hover .quickstart_btn{display:block}.mask-btn1{position:relative;top:30px;border:0;width:90px;background-color:#007bffc7;color:white}.product_list div.btn-group-vertical{display:none}.product_list:hover div.btn-group-vertical{position:fixed;display:block;margin:0;z-index:9999}.item .mask_sku{position:absolute;bottom:0;width:100%;text-align:center;font-size:19px}main>.content{margin:0}div.card-img-overlay{background-color:rgba(0,0,0,0.6)}div.card-img-overlay:hover{background-color:rgba(0,0,0,0.25);color:blue !important}.banner{width:100%;height:300px;background-color:#fffbff}.product_page{margin-left:60px;margin-top:100px}.search{position:fixed;z-index:2000;top:22px;left:260px;padding:0 20px}.search input{border-radius:40px;border:0;outline:0;background:#eee;width:240px;height:38px;padding:0 0 0 20px}.search .search-btn{position:absolute;top:10px;right:40px;border-radius:100px;width:30px;height:30px}.search i{position:absolute;top:6px;right:7px;font-size:18px}.search .search_point{background-color:#f7f7f7;margin:2px 22px;display:none;overflow-y:auto;max-height:300px;box-shadow:0 2px 0 0 #007bff;max-width:260px;z-index:2000}.search .search_point a{padding:4px 20px;display:block}.search .search_point a:hover{color:#007bff}body[data-page="index.md"] .search{display:inline-block}body[data-page="en/faq.md"] .search{display:inline-block}body[data-page="zh_CN/README.md"] .search{display:inline-block}body[data-page="zh_CN/faq.md"] .search{display:inline-block}body[data-page="index.md"] .markdown-section{margin-top:25px}body[data-page="zh_CN/README.md"] .markdown-section{margin-top:25px}@media screen and (max-width:768px){.dropdown{display:block}#mb_header{display:block}#pc_header{display:none}.markdown-section{max-width:100%;margin-top:0;padding-left:45px;padding-right:45px}.banner div.card-img-overlay h4{font-size:1.3em;color:#fff;text-align:center}.banner{margin-left:8px;margin-right:0;width:130px}.item{width:130px;margin-left:5px;margin-right:5px;margin-top:10px;margin-bottom:10px;display:inline-block;position:relative;cursor:pointer;transition:box-shadow .3s;text-decoration:none}.uiflow_p{height:auto}.pc-navigation{display:none}.product_page{margin-left:0;margin-top:0}.mb-navigation{z-index:9999;position:fixed;top:0;left:0;right:50px;height:50px;color:#343a40;border-radius:0;background:white;line-height:inherit;display:block;box-shadow:-12px -1px 10px #888}.nav-content{position:fixed;top:50px;left:0;color:white;right:0;z-index:999}.search{position:fixed;top:15px !important;left:50%;transform:translateX(-50%)}.video_size{width:100%}}@media screen and (max-width:768px){.pic{width:50%}}mark{background-color:#2673ffe0;color:white;border-radius:1px}.faq-class{border:1px solid #d9d9d9;margin-bottom:1.5%;background-color:#d9d9d9;padding:20px;border-radius:10px;height:auto}.faq-class h5{color:#666 !important;font-size:16px !important;position:relative;margin:0 !important}.search-tips{border:1px solid #d9d9d9;margin-bottom:1.5%;background-color:#d9d9d9;padding:20px;border-radius:10px;height:auto}.search-tips h5{color:#666 !important;font-size:16px !important;position:relative;margin:0 !important}.faq-item{border:1px solid #d9d9d9;margin-bottom:1.5%;background-color:#fff;padding:20px;border-radius:10px;height:auto}.faq-title{color:#666 !important;font-size:16px !important;position:relative;margin:0 !important;padding-right:30px !important}.faq-title.open{max-height:600px}.faq-title::before{background-color:#007bff;content:"";width:20px;height:20px;border-radius:20px;position:absolute;right:0;top:0;bottom:0;margin:auto}.faq-button{height:0;margin:0 !important}.faq-button::after{background-color:white;content:"";width:12px;height:2px;position:absolute;top:0;right:4px;bottom:0;margin:auto;z-index:10}.faq-button::before{background-color:white;content:"";width:12px;height:2px;position:absolute;top:0;right:4px;bottom:0;margin:auto;transform:rotate(90deg);z-index:10}.faq-answer{border:0;outline:0;font-weight:400;max-height:0;overflow:auto;transition:max-height .35s ease}.faq-answer div{padding-top:30px;color:#666 !important}.faq-answer div span{display:block}.faq-item .faq-title.open+.faq-answer{max-height:600px}.faq-img{margin-top:20px;margin-bottom:20px;width:40%;display:inline-block}.cases-item{border:1px solid #d9d9d9;margin-bottom:1.5%;background-color:#fff;padding:20px;border-radius:10px;height:auto}.cases-title{color:#666 !important;font-size:16px !important;position:relative;margin:0 !important;padding-right:30px !important}.anchor-box{position:fixed;top:22%;left:50px;display:-webkit-flex;display:flex;flex-direction:column;z-index:50;width:max-content}.anchor-box img{width:30px;height:31px;margin-left:10px;margin-top:2px}.anchor-box svg{margin-left:10px;margin-top:2px}.anchor-box>a{display:-webkit-flex;display:flex;flex-direction:row;height:40px;width:180px;padding:2px 10px;text-decoration:none;outline:0;border:0;border-radius:25px;color:#fff !important;font-size:16px;line-height:1.2;transition:all .3s ease;background-color:#333;box-shadow:4px 4px 8px 0 #aeaeae;-moz-box-shadow:4px 4px 8px 0 #aeaeae;-webkit-box-shadow:4px 4px 8px 0 #aeaeae;margin-top:12px}.anchor-box>a:hover{background-color:#007aff !important;box-shadow:4px 4px 8px 0 #007aff5c !important;-moz-box-shadow:4px 4px 8px 0 #007aff5c !important;-webkit-box-shadow:4px 4px 8px 0 #007aff5c !important}.anchor-box span{width:100px;text-align:center;margin-left:6px;overflow:hidden;white-space:nowrap}.anchor-box svg{margin-left:12px;margin-top:4px}.anchor-active{background-color:#007aff !important;box-shadow:4px 4px 8px 0 #007aff5c !important;-moz-box-shadow:4px 4px 8px 0 #007aff5c !important;-webkit-box-shadow:4px 4px 8px 0 #007aff5c !important}.anchor-quiet{background-color:#333 !important;box-shadow:4px 4px 8px 0 #aeaeae !important;-moz-box-shadow:4px 4px 8px 0 #aeaeae !important;-webkit-box-shadow:4px 4px 8px 0 #aeaeae !important}@media screen and (max-width:1645px){.anchor-box{left:20px}}@media screen and (max-width:1460px){.anchor-box{left:0}}@media screen and (max-width:1300px){.anchor-box{left:-30px}.search{top:100px}}@media screen and (max-width:1180px){.anchor-box{left:-54px}#pc_header>a{display:none}}@media screen and (max-width:768px){.anchor-box{position:fixed;top:32%;left:auto;right:-120px;display:-webkit-flex;display:flex;flex-direction:column;z-index:9999;display:none}.anchor-active{float:left;transform:translateX(-100px) !important}.anchor-quiet{float:left;transform:translateX(0px) !important}}.easyloader-box{display:flex;flex-direction:row;width:80%}.easyloader-box>div{position:relative;width:50%;overflow:hidden}.easyloader-box img,video{width:100%}.easyloader-box p{margin:10px 25px;color:white}.easyloader-box p:last-child{overflow-y:scroll;height:20%;font-size:10px}.easyloader-mask{position:absolute;right:0;bottom:6px;height:100%;width:100%;background-color:black;opacity:.7;transition:all .3s;display:flex;flex-direction:column;justify-content:center}.easyloader-mask a{margin-top:50px;text-align:center}.video_play{bottom:-100%}.easyloader-btn{position:absolute;display:flex;flex-direction:row;justify-content:space-around;bottom:7%;width:100%;padding:0 20px}.easyloader-btn a{width:90px;text-align:center;padding:2px 10px;background-color:#007bff;color:white !important;border-radius:10px}.easyloader-btn a:hover{background-color:#45a9ff}@media screen and (max-width:768px){.easyloader-box{flex-direction:column;width:100%}.easyloader-box>div{width:100%}}.platform-box{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.platform-item{position:relative;overflow:hidden;margin:20px;box-shadow:0 0 5px 0 #dbdbdb;border-radius:15px}.platform-box>div:nth-of-type(1)::after{content:"";position:absolute;width:2px;height:450px;background-color:#d9d9d9;right:-22px;top:43px}.platform-item h3{position:absolute;top:50%;width:100%;text-align:center;font-size:20px;font-weight:normal;color:#fff;z-index:11}.platform-tag{position:absolute;top:50%;left:45%;width:150px;height:150px;margin:-60px 0 0 -60px;background:#333;opacity:.8;border-radius:50%;z-index:10;-webkit-transform:scale(1,1);-moz-transform:scale(1,1);transform:scale(1,1);-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .5s cubic-bezier(0.23,0.53,0.22,0.93)}.platform-item a:hover .platform-tag{transform:scale(4.3,4.3)}@media screen and (max-width:768px){.platform-box>div:nth-of-type(1)::after{content:"";position:absolute;width:300px;height:2px;background-color:#d9d9d9;right:-30px;top:455px}}.markdown-section h1{font-family:Montserrat;font-weight:1000;font-size:48px;display:inline}.markdown-section h2{font-family:Montserrat;font-weight:600;font-size:25px;padding:0;padding-top:110px;margin-top:-70px}.markdown-section p{font-family:Montserrat}.product_sku_tag{margin-left:5px;margin-top:5px}table thead,table tr{border-top-width:1px;border-top-style:solid;border-top-color:#aabfdc}table{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#aabfdc;border-top-width:1px;border-top-style:solid;border-top-color:#aabfdc;overflow:auto;display:table !important}table td,table th{padding:5px 10px;font-size:13px;font-family:Montserrat;color:#597da1 !important;border-color:hsl(212,42%,88%);min-width:50px}table tr:nth-child(even){background:#d3dfed !important}table tr:nth-child(odd){background:#FFF !important}@media screen and (max-width:768px){table{display:block !important;overflow:scroll}}.files_download{display:flex;flex-direction:row;justify-content:space-evenly;flex-wrap:wrap;margin:45px}.files_download .item{display:flex;justify-content:center;width:200px;box-shadow:4px 4px 7px 0 #cecece;transition:all .25s ease}.files_download .item:hover{transform:scale(1.2)}#tag_title{position:absolute;color:#fff;width:160px;font-size:14px;padding:4px;background:#007bffc7;border:solid 1px #e9f7f6;border-radius:5px;text-align:center;z-index:40}#tag_title::after{content:" ";position:absolute;top:50%;left:-18px;width:0;height:0;border-width:8px;border-style:solid;border-color:transparent #007bffc7 transparent transparent;transform:translateY(-50%)}.el-icon-loading{font-size:88px}[v-cloak]{display:none}#search_cover{z-index:1998;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000087;overflow:scroll}#search_contant_box{margin:90px 15% 10% 15%;padding:50px 100px 50px 100px;background-color:#ffffffd6;overflow:scroll}#close_search{position:fixed;right:20%;font-size:30px;z-index:2000}@media screen and (max-width:768px){#search_contant_box{margin:0;padding:60px 20px 60px 20px;height:100%}#search_contant_box .el-tabs__header{margin-left:55px}#close_search{right:15px}}#product_result img{width:100%}.quickstart_btn{position:absolute;border:0;color:white;left:30px;bottom:38px;transform:scale(1);font-size:9px;display:none}.box-card .el-tag {margin-top: 5px;} diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css index dbed923a..e1b1edb5 100755 --- a/docs/assets/css/main.css +++ b/docs/assets/css/main.css @@ -1169,4 +1169,8 @@ table tr:nth-child(odd) { transform: scale(1); font-size: 9px; display: none; +} + +.box-card .el-tag { + margin-top: 5px; } \ No newline at end of file diff --git a/docs/assets/img/product_pics/accessory/servo_kit/servo_kit_180_02.webp b/docs/assets/img/product_pics/accessory/servo_kit/servo_kit_180_02.webp new file mode 100644 index 0000000000000000000000000000000000000000..5338c225728fa01a3c1ba1e7d09ac4d05c651d81 GIT binary patch literal 28012 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 literal 0 HcmV?d00001 diff --git a/docs/assets/img/product_pics/accessory/servo_kit/servo_kit_360_02.webp b/docs/assets/img/product_pics/accessory/servo_kit/servo_kit_360_02.webp new file mode 100644 index 0000000000000000000000000000000000000000..50f11aae1a500b1dcd69925b6ec43290e4804fd8 GIT binary patch literal 38420 zcmWIYbaUgG#=sEn>J$(bU=hK^z`(%6z`!8S3_@W677Bb-3=9)?G0tVwQeakKwlkFI zbY7&mP=x;pj{-BxrtJm0{TWhQAGF+9u`-$ac4nXGr}+=<)$2{`0xad%`b+#){`>iN z|G)WP?DOYu`+xRd_{Z>_^OpbL`m^}&?YrAg|9Af{{&)GG`akjS>;Kn3|Ht@0`hWdj z{@wiV_P?xuT-{Q)tbXOc@Bb$MYyZ*z-`-^Zj=Hz|)Bl_9W3M|>f9${Z@7%U8 z{-gi?`kDVP)$gz0_@DjX=Kt$2tpCjaI=|G9rp{(Jws@O%Fs`@hyP|y{c7;v{gV8Z{b&B4{;&Sy<~Qy?hkup-^8aAJFaFuT%>S*AkN%MV zCcoo9qy5?a>+6sF=l$pXZT*wO|Lniqe_vl#$6D+8zx~hgr}Y=Vf9L_1IHC($*&t*s&4lDx^c)h=U8n{qTIG*yKM&j(T4M*CEVA}xRAE#)T)0c zSf;u97)J&%s!j~%xfasknG&#&b!zC}37k4zGtxFKVe(d5Cb?!M!=w`{zB_5H{;ePs zDQa*w)dQg|=%*7xbI4)SsW2ss-*-Q`78x3UlVQ?{m2KHt4l0|p5@(&7z;WUI$u*l+ z?cap1%_pz$W@>1C3c^l^whiTvu{%|wJr%1{7dmlcb!y8ahg3nXGcf-(S^%Z|K3+aal4f4>borSJWlFz6|+xy&B?f1&~u6m zkLLr&3{7v)aR_T-cy-(yQHof=0d9KaF_UoyEMSrcFX5H6?C7gY&;cWgl zKSsH$27d6LbJ>QOv1nfBu4iA=?=x!gI!?Mj-&$wY`V*WkApu;q$KP$}J*o8c%!!Vm zEUlbF(&5*x&-Bn1o3U#B8%XNQa)_&Eb9@{zYk%#e;+Z42_?;pli-^O~g){>;7Dc=(nb(~lj6YZn&g^^7(L%QMc)YHBCO2hp&F}HSmt< zKUoxe?yR_h-h%zX&z!tJ2~|F>|Bx6GX>{|uhvt*7uDhAP2fnHlF^R94vFFcmP##;Q z>9kOx}k5oG=;a?W7`)l+#w zrJpyQTJ@AEk|m4haBN8DjVh}m&*L-g0`1i7IVMPgvig#5QUaHIF5LgRwPX61&Pvmn zk69x^C2sy`x^p3Pvz+F!7r&R)AI|Vj5NNrf+@F`rqUBZ0c(o*&hu8EzQWRK zG}T~+`GT$826;z9tIE9 zD@}d>oi}}A-}-Cy-9JZTU;4OzW}EmR`I5}kw8bkeXT~nsUYK`%w#(KnzF&A;+=FBG z?@}l_Wxpq2iUa!s?p0ZS%gh#93g>-~cznCCvb`>#|} z(qtWXxccS`>COk)m5)j8Yc*M{_VQT%|2vywC)TePelU5H2=_h#k$ZwMs;+;G&unl~ zPjD#sY+N^I(#s>u*XzBTxTeD^d_4op-|*ruNfKWU-o7$jv*DKg`r_&yuLa#oYXwCO zwm%Yz(0hE>ahAQ&-z{qwR(#@IU!kU~x87-)-(ZP&r2K~cOMtuWw7Pr!k|+Qm2V`J>@+_6?S4Do!Q|oe5S!@_ z;&(oqj5Y<0R@>Yo0T)pZPxwg zwECqo+v7!Bi`CB_+_o{pIF3T;y zdGwgzi-gnDPUMSky0U5`huGq{_qO5H33{G~B0QztQ~@enEvNc0~Q&dwzO6$6VgTi{D#pK6zf1m^FF!2CMK3PkT3d zDq5;OxfoDB$HiL2(xcem_Pukpsz=53x+|Z~>tM-0{cOiX%bo_$6p8lK$%2b>R^Ljv z^)N|zkB`0Drc*0TYIXM2@#=hQWIZ4-)6};b8#tm!~I8TEIDkeqBsRw z3axE8LRMG3UbIJ9yCU~OV9ei$Yr*R)O5AU@uCF&c_kPZmJ$|Zx`nD`BoWQBmEbwNN zNA&CKwN+W-EeG2``TT);udT1ho7l3(&qw?0FYB#~jtTy~aT@p6z5d)STnd}6OqnDg zZm4o<-^|?nil@1MxZWLkxOVII3tQ(s=Z{&lz)}0jS@jrewPcO@q#K>;$D-!ge9TH0 z{E=*MKx+M)2DkP)U*`o0C!U;rmUGvi>C~z}=LOb=gv=5Wxw`+iM8n}FKbrj#dQY>j zt}@Zg58?X$VQKuE6|GZT{Hm3$jZ`N)MErat zxyvu8DZ5PZ*~x6vk`UBfD=Y?z7!9El3wVC?yK?sLXBN9H8$UT^#s9{N9UKo0cxC3dOrCsW$Hg?Byv0{cncv9Ozi!LD32Id-9I@7!^!1v~ zGnea6_=OF288IZU-oxtuX!Z2B+?VCQXBq_y9@U$0H0CE#i)h7eo(9)9HQyT7o@v-@ zWyi1DIAde$HLdsBbB*-B^EfR0mV9sPdr+kgzcs+1>J>3peor3B{aAS*q?|rqy$NH7|&0A*a9rM{K-tW35!0bXp zVwgeFRmM$Q%a^G>KX)3rb(K;6*XuiEED|WwYV~Q?eED8fB4Vbsk~%@=c8AQ ztgT)s8m2jRltl)`sOyV-k2rKWtCi*Ol5bjjYdKt&RIsH+Z(W|g>Oi;7ZcxreYOAT4 zTfAAD?Oo@RP|@=>dp`@y+tXLY8dwia$zEc6yW;$wVuh_mt*8yzkm`k^p+64W7bxnGn}ID%-U{o~ze;JnG}E{jnZ5MM#@$Yy zj~)r|q|Z%|lt%OTG*>Qx$j}&Bwl}*iZ+t#6VO_%SzdN)zVC`s7_=B3l`co8yB87jO zr%s=AG%LCN+?u6xvV4J#@J*LI3auk z&xus6nVDL>>5-?~)^Rd#l&XyhjH}*(?t?J zFP8QHKYA+rTX)iF$s>48HirB98S{K4LR_s%$2?%OD z+5P3=qsEIbpY(h6e({lxZf=m(eYE(?~CCWJ;T{WzFjHk=cD+9xpVhP zE2Z92E9aQ6>?P*ub2DFha&GYcoTI0g{6BF06`%I+dxyjuqwXEE3lcDzzqy^I_VdiE zHK$KxM7F(MYu>tg#`?-B>^~FNeSfpw{nQJ|5{9*HKW6^Zw9(Igduxl~$K%{`bKeX6 zZIbztpFQCbC-c-CS-ZY%XLBZdWGyPsI&vmAL@MCr`s^1SDcdU+oxa+7Bk|U0Pucgu zJK18Yj9L{NlS<1tCSH9XpZ3G6_0Yq5>y`bNZci2{6b+Ou5ZeB9+W*;GeE!_5{UtZ~ zxaXteiibXYn;!Il?c>sT!(MBtg;Q9q+hdk=M}L-z4CJ}H?rR%cX~NMf?YA!KFTcOz z(`k?SyEqg4)ss)mo_N9c((GTS4~wjiI&VZ7a%3|IK=m{gI11(~XHc zKW|IK3o(Y(_ijG4UH!vG!}*<*vcZJPTe10S3M)59=e<+b^kx2cal_Rs``2D>*z@a} zM*U~!6(MT=&JmpXw$>HpN(l$A&-{=b|Mv5fb$&5(JohHmu3<~D7W{1a(s9zvu8i4l zpU=N;ujKlc&sX?k`TzTqQtOrX{|SG4*Y$PpaRfP`RbL!Rd>{wpIBT ztarP+^YZ$d-KJ>`EN6QbFlY&jEmANk|CGuH7xJ^8eLped z2=8ackP_aOrCuj~y$hE4s#C&xvEAg6{IflxcQ2T{+?a4)R9i5{#`EE$2U=08g+_5F z!<^@p>@_{wcKCV4J&UE6@}s@axl3H~IM!mNoUvZ{@wsZV)2Cne_FfOY7@=gY9X#v2 zzx;-eH_vrXdHnE^cE0$}H#!rzro1xO;90mS>1g1o&3^x{Onr7dqUI;1 z3{TEdy#7c?mifjZek;#7m5N+>pP+?q$xok{^Su3YG<@gUfZd)ATNQ;Byw9{>v)8wq z=_u^Zs*}75LS^-6^@$||*Y8Un zTt8qW%yCd`=XbT$-U=JiUR7_*-|h>>Dox^x4lPa+fddBiCF z)T8?lSNOD)iF~;~tvcH67Tk55aQoBMt??35F0s$#?^}{_peO2gWw+E$lY?qo}N8jME%6}pkrlkviU^2C2b2U|I1~ZlH>dICr9A) z;%&m;);b<%3%QmMKHbEPIZKGGa?UCdfrjIqr+WVQ%r%~S*7xnv?Aum;y8|bl-NUe& z;hR#=ncI7qpJ;`C^E-C$T+<(pHC9D^F3EfECEcCbZ6o8!Iw7&daQUMHx2HRuVR;Z- zkg(&V+f0#Nxkh@?+Q~Whk9A$D+{QOcCd~eIE~m#*pWS7CD(OYPZFU7NXgsmXQ&2a5 zH_xZ4;8P*|yCm!aoEcg5X3waz;g4hq*jD~{&8=s0+TUkZw5d*BKhLmo>Xv7UmnOHf zG+%wolyS_dqHD4Agqyvq%AIDeJYMdySAOy4nKHaHY%G16razA;h(EaRn{n0hl@qtv z%k9lHsMI|DKPz41`2QET&pw=!Y16dZwNmGNU-e8wp^Js3oL&wrQNRuY?Q{-nnB`HsW#C)yMlxwJ)-rt>Y| z%PgB=BdZ_y`^+*=y=~pu+U<6;qhFhvyjv*fe^s%(p&qKHIH7dpK|Tguea+TJWgvYy5KCnEmgz7>&=v~ zSAF*1f|eZ1-n8n;mV;|%m2Of`OPOBs`2QcvRteU)x8aZ1Eqg5`v~JOv_1(T-gg!U0 zF4-C^7Rhmb=CZ;$7EyEaS1z_IonWZ2G3hJwMA>)uayOg4aZT8~O3^NU-aOgkA;SCr zA2=D@z%H}GlbKKTN1I%P<`@4aW`=@=@Df5`6(c)ir<*47x^S`qE&#~1S*PeS%%w1@6 z_~2owr86pa7gj22v3;K+vsvw;+W)(oo-=*e*py%@U3NOh`PjxCcRHWWYn}6EeYAt= z!*^O{=PMt3Tz|8VCwta<9r+LM7pQ-qJ6~E%#dK8%%W{L~KOQU2^x9x@^Oi`>;}xy` z8#o_XhspPR->~Y-oeNdhsuF}ZOy23HTRx9#tJITqV)Laqa+0z+b8fDD5EXj=$h2jG zFC`b9&RcGCKE<0uZ;wRFVR=PcU898?BwHK363glqep|osL8oll9BrX}Wg=hiuUT$g zmmjEpUqB@A(roT|7P~g`-L>gD{QQ)TJRfh!UD~~^OqAzvd--pXn}xm74-zB} zH0-=|QJLYg%oHB;|B1(*c^FO!D0I)U`LD51UDGw~|E#b-3)IZk)b4X}^0xSWty4#^xOTXOt@R0AMvp#H_r6YE>Pmj6z5+R@V` zzoYl_?f!Kco`F8o_gvZgR|m(tIuW@re$B6VxMoJ6{Rfo z!TU*TgMG~s(dCDtPU)Q$dMR+@)m;_$!s?ilJN1ID3A~m$Zf$t1rsmr7r;{45Iy6&$XRGufzOT2VNemVB6>~D~_&cASN!mQ%AGKOt6TIJp^ zvky0)n91FD$&FF^ zt-@1Rhh&Gy+dk@Ve@cDiyRLFN`?d6by+y|s^qvm-tvK29TVLP5q;%H~(9-=F$_rSSI#oit*(ibxvz9oTvA9hGgMcmz?sG z5A%NAzb&VDo$JTOHBk$Sg4 zUiL>;)C+J=kxVT)!w}W_Ez=FQ4kd?~ZPX zg6^DcJ9+wLtAP#Y)Z1Am2Ip7<+|KJhl`W3Re8hgKTzluST)vWo4JA8_8c&C}r|w{o zf5bV{30Vlbcp`%547h>uQu-#tqlCJIgwG z@7_JSeDSjdFQNi%Oj>xI_$zjX_PHxOmcI0ITiK#bO)Z>@&z*9P|7#PZsJS_Z{q%41 z4>OP6yJ+yKJhnf2w{yK>8^fZ*ZVOI4-+TYsWm7@j9X(&xrgQ|jZ3uIYUn2Q`S?D*h z-TfsIjcYSnPPuMPiY;2A9_AT&eaX~4h3t&wpR{_peb&vau<_`1+tmCd`^L&7=DX&-KJ{$xj02jkcOQ@pU?_hv<=~!&Uv}glvV1FR z7A|T3^`qdQZM}*obf>r3NbZTh9MUejP(blW!PgH@mN(r$dtCEX&`R0Ex9T1oxXh~P zAonWmZ0p>Y**S-n=EZjyth#x<*vKM(-mT|HB)iT|KFrj4i&NnF-u63NdDh2#F8jUN zc#`_*xp!X0EPuhVHgoIL-G6PJx9`)x74SIiYrn~d<`>QtOieLK20E7*kGmP($uh|9 z{P<;6+V#VK<|&qWeO>)0Hh<5@hnpsRJ;~$ZWb1VLklM578KH+~+UU26i~QWcF~R&; z_?{wDtF#&SMXa_jT-%*_s)EBIMazA8_x`=^x8`#>6gc(xx1Y5?+q@@VV@_y!s_pZF z-Y5SUCSH>84nNSndCPm&_8J-_cmnPf&`Y@&Zq_0$5lirG{36?y6&sI7mc(YbE(&lAO!4?k{~ zG>LOqQjz`Ff6?EZdtSw}&L_{zyB+gbMSkJ0hm8LeBEx6x*s3$@a?iEE%S$2|-^9e6 zOxzXfky@GVz;p1iPCi@AKFJ@?W)y!C&OQ-)Zk^$jmKF6Kh8oZKCQcJ(eDMF{xw~)p zF4fi_`N7qsp0=|5eayPHiri^?%Ker^XHV9eFl}-CBk_Law)*7e^8Xx3_wup%9(nWUvP^s7bGb%E8^z6b zGrU_jZMi_hradexzFmrVXz*)x`myC-YEM+m{Zu5jM6csg#nZRh3irgizdkpYnxb+~ zlcTFzD#5m@PIhbTB?r~%yIp?D-45OH#q@{Zjd)of@m2v|cjejAzeC?P^6r>)`k!Y> ztf^go#N~M3nxt?$`v&dY!-{7z^%aixP2N>;UGrrI%OM=-d{Y+ z^!txT%?JO?UQ;jdLF8ND!m4xLA|kg}pAWgH;;?_Rx24aQ%*Sl=9F*pCPwY!}N>DvE z{l$VK+g;z3$vywN{Xp)oecN(Mu9dI4_p49qxZBSK3qQ^_(MV2cdCsYJb;^b?rNzsx zn>a{>7L?C%_I|eR-S+558wCF`^ILm2U+GwCDlA*kp0nfD`8PLj#-^TSi;i9VP4&#r zw`sdS&o#b%e5JV57j;8N?IO3*R}+7(jr*}-vfi`TZ1Y^1R($qu{o62gtA5P12)PZ7 zR&BZJl7Dv3=-IvDlXmAubIy(03A_vI8Gig&sr}uQf2P4~WAB@-iLYX67OIqZR@)uu z^gr@BapDS5?NbLuTdoE@pZeA5YWi_ruT@$18s#RGdo5nibd~vGxafnmdsn_}vHdA9 zA@U`c)u&maYxrsk-gZgvJoKq<`He>H+(#;U$;W>Dh`hAnx!}qDCSmtqI?h?n_qg@j z`EQ0Mr3+??+c6nFQn}~$SFpzOZDZT({@OnUu`OCtcC~E2BDVBl28Y4idzCT@f?5yE zx~JzqQkUFgb82rydi49lr=L4LZK-Vh)%MlVwf$gf-P!!#$+rI-jz=E;)*H-ur+bM_ z7|T7Cl%^fh|9#}Di$3k>IQ-d4tX46N_ zPkqeaE&V;A>4t~s{7s%ecOGq=kb0*!=E>6KjNGiNbfep+JdZr-e`D1t{!M)HOGG9` zXMOZ)eN@BYWxaA?aUpU9;+-}TkX%I_s_URs?U^kg#g z%+~47-&)_lGyNnsb;YA2tC!^@+8WCw=W9JIIVeoc#GSycJ6M=O6XdnC4H)qDG=OUwCHcvyt_JvVrqj#;y!B{cTBRm{0G z9|6zUtxN}HC+zWCc&cuqNAuMkS$j70Pn_viw7WCn+CK*KX`B(aw78AF`r1@Y?zNWZ zUHnml`G%Cj%-K5cvKQrY-w$U9%<^0L!E8O-=UK}uo|kwit#}pL*x1IZWiKhIIFUtB z>4pfO&A~Yr7tAZESbXim`V~!^)}A`5;d8mre%khs`TMu|Y3})cuK$PC#(PE58z0Cg z)ZPz!-MKZ^x#Ra2i(4v3Q`1kK?{PnCJULrg-%I~l=W0u9@%JjXwBsdoqg!1UED_$P zBW^U^+t4p=w|D^2)&+1%u4Qo2_RKf5?Z#qAtL#xy?+2)Ev^Ve@%Ra3k7G}{M>NJX6& zWu}2`8?Ie_RhN7_w*UDI$I=O1ziypRzmhj+(+rDk644)BR=WM%{c4u2>KvtB4VJT# z(No_VSC}n5A0TVyvfrHHS;31^ocwjSBC_?PBCP?(l;BM3!{5wCuja_vgQQ`Y>+8*8^717E8GVtL|6a zur%)Q9k=cKgdDhhPMleP%Hmhk)b?4K<{y50-r_I(eYySX@-0n#Dv@_q?poP#N?XXi zL}Ekf(LY6gVxK3pe`t4z?0WBDwrg!TXXWz^KI<20J}p`0y;j}rbO@ix8Qnh*dU^I* zMpl*_3iq#@UU|TAuGE1E@AdP7j7&BeJlEglx$&VSk3*5ItL7@suj|kD`gFYKP7z+e z`*Me&?~=I+S@ZTQ+B(c)u()(}>0!5hK4-M$w;2jP&4{~Z9d=bUHb+6bUFTSZtic1P zO})yCT2Don*7NB;tiQkNe`3E(`u6U?40hjG$;L|SC2P0OSkV5u^J41E+Ba;=g024l zdvP`KRs4h&t!T!b+t%Ja-o@y*HssjvF1c@)&wo;N@-0@L&5mxh$#%-0 z-?x3qdU+*o$}MiUB8x}c)MF#6x_dWhJb!d-T4kc)$LZnPv0>fwA`HC`g>l^Ic((WK zakJVJ>xcS>reNOnRmD4Sa3D1lNM23Uwr>8V@QB;aa?Uu`kD_{WL5kZ9sJ-? zIZNnd`(dq}r6y0T^Z%}Qt`*#+c=y|b>1t{mFZQl1Nz4i_*P2(oNriRs{W31CSV?`W zw6557yIe0#Y27;U{<42rOD+cdRyHo2@5L@}-lKYBPySy8ogw9_wpF64W)7+MC?)4wPTw&s3wQ5?& zdB@tJp+2~8sZI7{sa>kci~kD;TSHV;j&a_ryvX_Y6(+In{(#_D_Q9+HX*-E8)IHy>s<6bA>4G|%Kb_?mHXByG%DS(%hr|QbvY{^JPYf2IiKV9!cUX` zzRN0?-P`skS0u?Lp7C(t*M|qEC>>h%sPKS%MZQMWJgIuefbhK&{w3`F^l-9j{}g%4 zcTvk9E{XFumA?CJ`x(hHpWRnh9Fv#?2r$8Hvu^9dWpB9s2SIB>_|iXiuTg_+7{ey!e`X;){m>Adh3se`;3P9}B&mG8E$ z|Io (#gy)_2Y++mxC0d#ZRFQZ}qu(NVMBlS}7+@YLOxpRfGe)ylkgM%q_&3*Is8SHRX)=_^)SBA0_(lo_z`1maQ)zm}ab9HevQ2?mvER4rbOC zWzt+1wEr<3@Nl{L&hp#QsV8gqoL%HGb$ZQ>>n2egWkoBFuDHjNV)4lL!+PKJqV;{& zw{ve-JIM=vxhv8c^7RQzr}fRxKkJOv`(Ju>DrsKs-R<_Ss~fD0EPwyDb-Mw<=u36LAO|nkbdR$r-AN4P+ zn$bkS$cXjfwCJ?!Rd0kBp4rG%KG9Y1>b$obFK%bPl(&QD>i^ZYB01%PM;|}`pz!`P zCr_UJ-^V9UlwKA7u+rxEd*wIl*I2$4n7MW3`;|psBNrbjE;E?*AZzRX{yz-7-tBW0 z#lIZuS36PutYGF$w^v5Y9Yy9F*_zh4Zm25mvllj;ymj4frmve_(tH}W#y&}Y7vXY! z+sccb6$@WxcswordpJxtdsz+Zwlo>>oi&!{I@mLwIwsywD>$BEZo$4fU18rh-IrU~ zJ{zvK|Lrs>tu*kR0$f1*lwcsJYL1m!GmkVmdgg6=ImGh?p7_Hl4kKy zL-b(bk2jMHm*{4s{4oE-#x1vgZFpBs%0IAhdBMW69nu{e&Zq_LH!0lz{9)|2U)K9F z`nP{S;I>nu)8MP^zNF?^d3(zWd6)a-=YL-DpeWY0qJHUz!v8$wdnFZjf zMx}?Z1zdMVX+-beuC#?)XlCyHF70c+Yh3-BRcCM>;#4{wl(sx^qQNz%b4D*`F(3Fn zwP{{zyVs;iZ|-l&KKnrPzV7ZXj_GIX*X*0N?#A@S^T9^n6vGP4UE-X)dDz*jYeN+l zNHrWjenOD>SYPT|{lkj`^6UL(*e@(oFXCG3ViI!c)MT;eokDGo)&5O9(eHo2B~NRtB%9)*4@wBv8*SImp#Ut<0j_fB}0v59`{UJ7eLfyYqu@0}(t0%q@ zYN`0Ar#$%z%c+YWuY{eMxuD1J@vojKWd(&6Cq?x5-MB5}d|sZlox|=Ixu`LHWjp_} z!v1q>Rw-^amzr#D`}l>u;rjr=Bgb@DAD#N&EqeF#)CEy$R^}`H+dQ^E%dR=lBR9o^ znWZbKJ<+e``JOiQqK%V(y?J%Q{73DngUMHB)H%9W&NF`J6uNWbDQkmuZM)Cxu4g#p z$?>G@{@-7$^^Z^b?sq@D^vh;;M#YsYE=ldZ7U0Y9knLQd(6hcdiP7kNhiciy+$ z3!9O9e&@9h*8CcptE*q;ZBV}Z@2%<9mz^(`eLGxo>yX*Hd2(&4D~o6=vew|p(3vGw)wxSbX&=K5Q_ zu@iKX;K(iDihU|jIQ@R;HNKsT9#qt?()XFc`O<@Dg~aZiuXgT^W9&Ts{WNn&@Xmhq za}L*d^-oDT?Mo@$S-Hb_(+r;V_htxO>-aOBW%7KXJ6yTk?5Zn$CBGk$?@^pxR_a$3 zE?vA;w`^tGpNmpg{QjrLsGZy#;q=kzrcvUwW8ZwO8Q&cIlmA-h6XQ#VJ)f1Atn^?x zq_xpe>&+*=34txFhj=EKy$H+YE|*!DV!Qp%+&vp2^X#3?+@d6ZY<#%>$GxVn&)%3$ zK6*)U?Uc=ZrbScx_ZNQqwrk1cXs5kqSFRQnpSGV9xaGpKKYDY!jT<m-ThI3 zL9nvky5}T+&$29oO@~V^RZso1eR}Ont2KM>hgNH^PpJ@FsR9VhdDV&jv`Jn>Sr>d@W%!rbzN?27j)W~Uigzw(Og4xT=V`|LYEKMC8K zxmAwAu^{7{(6o+`7|I;S*teZ9-C`}(={Ud4x}<0>Xy+9iMaLt1>*?yz~& z;{$i~JDk4pWr9omYeVn161j);ZZdMduKG4(+r5x#p4g?_x82y3XB>4q&$U%$;jV+5 zr47TpO@2F9>kGQ?UMzXLW518}libZh>y)Cse?2I=b4|FRgQM!!Ix*|#kIOE)tSSk1 z+WKch06UL9WA)^@OgH&&tX6 z$p0vs=o*(&^H*$1rrn(luK||u9;^B`=8t2Tow8414 zaiiS5>)Bf~xSrcDp10T}r1GBhk!H2i8rr#2LKc=U-K}3fVT;bb>&hYd?W`H0X0idF z)43JI9?#lrxcccqy^g<|pU(Of*I2uIO-9XQ-#ahw|4zBTcV*dn_0Q(6Ka)9@eGMsR zv-Ws@nR}ldOR1C1BnFe;O5)$o$P2a@M^!y-=KJ-@_Phk^`CCRD2O=}#*2;UWR{fnh zNsnj30*5gE`^SEqQr}-yX|etWSI*IEk?adXJWS#zHeTM8l6XL^cCos_E{XOH%jEed zg&WLD;9n~xurFYHThES`%~M{OisxE8uZds6e;e|KnwWmd%L=4iHQ-F%MA z-}rAY5j_#N{ZqtBYxaz!X~`GPIQYJLYU|KEV|kCqnJBfEn=I=UJ)VSj`c|B?IyZH< z_)nvf6Bc}~lKp>cLv~9Zf2^L;ebN49r|*)KRZA7uM?Css96387c;oKqj8@m~j?T;z zyd}byPaNiJbYA)G%OAz38}}C~_8ck6ur*NLw z4@>&Fr`uR!MWZM0QEj;7Qlzo?&-rx{8+!J>dBCe3*}FJHG2M8N;Jb`TMRkAcD!F{4 zjOIK)zOh6(!@Ja9u=G|4C+Afq9&7)Vj>{jf4h)Yw{dGpV(mUI`ODzAK`Na51agD`d zjY4*RrZru@Gkn%b+5TO1*jRcG_av@Go1R;oKDflnvTU}~EBzN=+RNr^Z`oV>!SP>c zZpP`q{Qb$B^kzJ_+p_J!GQTe zev6I;eP7?#aypNtcvW71-leVH+&9;}sAE`fQp0v#e~wXK-@)0Xb51+&x<O->=pD zvz$_&8@xWHS-54kf6(S))~}l%R5O()txi{Ye0ZI^9sfbDk}sW)CpM;T-r(r_o`1`< zJu%ZxNLR43v@}>V?^h6FmOnJHfWP_a%EU7zQCwDPHvN5*nD+TDC^P(X({%OnC0v#F zGUI30Iry)Zx%)ZR*VL2a=)}w?(OKr1^$FF6o3AOXTgbH`Qj&3xyww8vs*ul?B9(KK z^ZF|ES+$BzFT5RMIC;Nt^R;93tjC3VM4hWt{YAH1zC9RfTN%o>!n;ND*{TZZy9d|t zt0g-Zs4tmz@V$_q>>{zId3|Lo{^Wexzd*UnFyXwj;D@`fe|?LR6;R&&#pcz%`|r*R z@%+2WeZeleOf34|zJs-^E$)wy9 z$iGGpHY_%>yC2~5@MWC6;xCp9|3AB|${L9~m*WHr-**i17?V9r|uJz-R zX$1$97R>y$q#$5H_K~`k{to|)_E_ySsjuQz`C%hJ)v3>Gu z)2Ys+`{(=_KNVfoN`EEQGrex^;U7+$Q#Q@EtlIka=PG7N*XcW7tXAICd!0i!c4{co z0lNmqRZo(vS*4;4nm62vb@jQoJ9OTm(w9e!jxzq(!e%>LX}$TpgZl-Nd>(y_I2iuY z^ULp6i{HNkXKLJB*~9RY#YO$1L^7+#zH54yY8ftVDZVV`E}{ME=ejTIO~)8>XG+-K zJ{oy)8Q1y3);Z5ltF3xHW0KzL?y9U;@~UE|nQULlADQAcC-z}c(3TPhZocadzyE9R z5x5oS9#>h%!YezakJ*vbj|i_{u%lgXXYF3E7%(4_I~P~*d%&OEFbB(|UVx~sxk4%2Y(iip%;ZZ;R=; zyKcItaK?_j^PWm~3)p2WUUTbcSg+i2i|yHp7w-=SbJRARS?~XA#mh+x^fnph8@L~o zX;2JE`IPWouk1T>!b!=zyjtBz-8{!x(+*Sz@6mMbIotUo^J+qenE%}crAPUX#C`gr z_wV?Fq>8WqqyqF_a&Bq8xPJx5`u>~B-o4+{TrL=_|CO3{k9D$v?(0Wa%0Ip6ds<}j zFI8ji1>eKn%eFiX{{2tu@!HskRhQiUyx$W1#^F0Zx6f)HyXy^wowvD8*ZDraA!xN_ zYLlr9+DINi67_X0-m~hvw3Jl?wL)f3~uVwF1A6 z&a`fSBxi1|n=Z8TjdStrr=^>0GdJFMSe5)YVxw@B(ky1xd$wI+IW>|uoc7j~eVtL| zDrvmAvSR<5?)_8D9(DlU+i(x8odQtMm+&F1~D$Dc$2iIs#?k|5ZJtt$H*<{ zx8i)UH`Dxs+-J=0n|YEaelyF1B|=|yKez0h!+B+bqgTY-V^eE1*j~AwSSqsdq}%4; z5QS*dLkqRs*?)07il2U1e*Wd_jj!jjZJc>=^~&qK7v?oRN!UJN+eG_GIcH=={I>jT zP0ru2OEoXWlhsde_wI~srgwv*&%F!(9Vf%XyYK<`^Rh25rMTDf-(Oo`A{-oMt@b6B zeY0TuR=(L`3ztr0+u(UG*hbod>1W%5_uu_KE)JKfN=`WK;W%TDpp%Y7WKjLqb^d&F zQgrK|>Y1_qH(<7C^3qwOHh){!LfK;(F1wvyytr+QKx1sTNXQX-;A1?`A zyfVh8*^JM1md}D@A@|^WZ?eiiMte7V{@Gn}bFxH-o$rxTYL=ZP`}A)yS`v~;s3|l?bGpu3+q%^BOH|Cj_q<$vVRxpS7vf+LX`Dv z@za$&hG*_xW4ZHt=K6^6C5nrFYO?%$RjT|pYERukqw`ZWXWB1WdTXh8v1;wJp59j? zpIAOFOaAZa^~^8iXWzZWt`e+C9n6=n2qt_z%d2r{na>)zcT1GTlP)#CxR7*l+RDJJ z2OBOHg`0jn_58$l*OCSElcovkH!PbnZTF2OSFATaf6C$*@hraQ(O2s!A^Nd{Hef`FN&GbX=hgo_bRdmEG zX}BrW%4fIVPI0;EQI4Kx-|zgM(^Z=&q@Z6Ga++E8nfv}g9>*2m#P_FNd=_dW`*l^} z`zQxL{q}9=3%4IQyZXS^#|G+C`Kx8-zyIecar*F0$G2yuTwbN1SZBOq=9=$Y*E+{~ z_x5Pr>RVK|@spiah@8s7xe7W=EA~Gy?@ISMcDN*5&-!J_6+1oF>xVv^|8}P3M;=GJ z|F`>hJ_v3V&jWt&#E_ez(>uh4j=+4sbZJ>{Bk& z5tX;Q9Geg1u7+w{gYuH`WsU$W2snpY?*_O#29Nyz$Q&ZPN#C%IOL{9z7V zbs{9tlYiy+e*tFFBGRAobj$?eZEp&5cpl2xZ)f@DX4u!iXOyi>xjT>CJ}vt1#I5PA z&+f4;?s?6A`R=c6RnJ%w7umGj-!_L+z4qp`sDeAQHm?`*E54I5;lS0Bhd=qZndZK_ zvO<@y@a59w@wbdu6km^Qv(uaU@03*G7qg5H?;fOat)8tpyF)tPs($Sq#pAnJ*_brm zG@h^y{w(~dcY}K9$KC!MY`z^q?wP;mm9?Jp-k85{s<*n#as3tNgRZCZC58zd-t{-7 zaCYrBuB7Y=dUnn~VWjg`pb!D z{$1zqIF%Lb`=Q+F^rYhHp=oT5tmXaf)~)y68M{>fYSvjaZ~MMoN2WK(Bqg>>F|C$= zPV13iR1}? z#klitcEQI3=C>^B9Hx|JnDfm3`|ZkJHy5S{GbEe89sM9u_5MZo-TUwB&8qb(e=OO3 z<8_SS;k2upm}bd}r0cM=TRR%>lA72gzvS52HH(_%_ARt$zG`&4DQ0TsyXZ|9pZ;{4 z@mRO!q5KEmn$2^it}RxVz8b}oaHWRtqIj9=;Z?1tbyo^)K2W|=@tx26px+l)DZe;2V@LA&W$}-- z7DPXg_%~l5qpUAQTVwG}?&kvkk6o1x?-H@{_`5L5^Z45KCUxP9_bi#FSOt|Ub5=|_ z>1s;X#$uyiKiIZ11Rtq)QEHy}$6}^u$CasfL>~Xqk5!O9w(g^liooOh zKblovZcXfs{!ryzKVcdZhrk6b;YF_|*1WF&D}LgF#^KqH^{3vH+8k$=EIYHQoSltv zlH#QWJZ5|UhJ;zIH9FCHKRn2F+gF2QXTL=_ooDmQ78g3axNuj<<@Zvot3tnCn!>nX z!3)751A3$Z1~aR{4J_jd@{lyw0wZ>;H-AXLN1m6|^?x zIi1V9wf@KBn<~FL*rVL1r>HGoR&w&Ez_us1-<&DCes}#GHp5+FLc)t?HXO@2;&OcE zyVfTAd*IAmp^`}AvjY{$-yJR_y+CAyEAIAWADc&D%W{k)SQ)30&z^rg|2Rx(qToM{#4 zRx@h&_;0t}`NSoYq~8?%@4Rih*q38YlIHG|y$Uv~baj+CB9AXn-r1qF*WwC`X^h{j z&M8wGQY2ICyZo|*Z`nl3-11)d_I}9+#j9+)pB+olTKJET>E<=(zFnDKEFWbxcVGE) zrg!!sS>xygs6s_eqcaB=?m*``AtE0+KKPyY*pL$HU~bZ6cRNSYF@GoOb++ zsN07P$}+th0$zW}Gg&NKzWd+IgmY})3gSCCgx*Vjj+)-jcxdH@^KZ_191W9FtIxHz zcz9_^>%)WXeQX)RpI>optWujVzkk23+Up72OH+*Jo?a1Y+qUA}dltLm>I(c^*FN*o@FZAMT?Iq)H;Xi#i3tvvuxxUV~Es4$lyxFx6 zhvr?lx$aK-(rTCQf5N{B76=GdA1b}`@f?S_ecGx`b@A&o&7yBMz3yD~?7!0PV<}~7 z^L}fc-=q5WvWIw^$droojINyanYQyU3VUj2!FjJqGueqTKDE|I9jp6;P(C0|6UKYcJBW7&i3HyJqAqWZudN= zeqFLOd+i)G`7eL=3$_1w_!(`fjz%r42-u{}?Xsc%8n@lG zqYr#nURE-0nju;9?eN<>s{a30pX!%4TV)rtL2i{+LGI;?dkYMSH`8 z&@g+%rO!9mpG|AqlA)h%WLn9(%4XKOyYj!I<5dk(Kb>LUCi>V? zHSTruv+{sbtMecJtlXXK(C2jS0FRHJQ$=lU8JkvA?gAO+zSY*kYu5`lY+rEh&)eOR zy>{=yCb-XPQ`x&Mx*;*|X=}p4=R11pp2hvjk|{qBo7?bK!<<({Ogr4*#+(b9Qzq2z zsy|__P+E->?Gnx$ zCV}q%mbcIQYu0?NJISL{XUW5#UoP+-%e(&D(uZ*hM*>&$)X>gc?wvP_e|M^_5VYWw`1W5Z)<@jATe=SK;Lf-Z~9XsgcoQFRPjem8&p z5n($m7I8`-i_t+L;g*V-UCkdig{E|yyAe#D+vjC=WSyz&mUeO7Q7l%(f2nKlR+C32 z?+xY@HZ8oh$Lt}Wh{+Slui;;9BF)|&Gh)57@qA_MvcAH{Uj*hPuoXxCe7oiEnrBNU z+TAJ3nB;ryV%`2d64&~^xXu#aBcm2MbFbYc2`%5wyv~37E`BMt3KzXpKu%`Qw_cxX z3ncpFS>)UW_8#fKI<3D)Q+z>BVSn$(huTg*C%v}*^*!{lw9Tpdgd=7?M{Y`G3ouM$ zo7R^3C|ovJgge{uAm2BhzFw6tlYhk;w(AVmrMq8WoN|+WPNkg1^0NuAZn_m-y6>_lOVCU2 zzVZ4WRR=geKi;X_C$;lKz`EKQQ(FF7uiTvYRq5pIcVQu0B0Kqy2~FLj*mhkmI#cNm z*Drg`^PG$==4+k?|Hw=zKL4oc>d};^R=yYSI{7JVkz<*ov`d$B-qG(_C%rN~CLXcS z++%9yoiq8%#kk2E%3V;20_MpaG%h1@!$$F^=VqF)Rxs-#`>pK>&1{p1-lukEa#`Eqq} z--iD^f^93Vz0YKK_|~^{uJ(axBJAEi?yHWO^?#l9-5~qK`KpvniFdZW(j0Y^)M zJI+pSv)w!Q_s>UOW?W1=-QTMm(2w)GK4;2`>if*{{Fyet?fG|b)GA8ph(1W!yf^LQ zriIxV*)qxNH3I%Q3a)5zoV0cQPSu5VJhoPxmbTjklAk=Ad~2${f$Ca=k4XWE*(;lE z{a2iwFL?J4W6Saej-4eMZ@z5}KBk&?@K0y1c-r^YJ*R?{ZWsCb|GRvKQQ@__sY~mO z<^JLmCJM}BG}6fQ^9>2B&-dtUeOwxS;AP+y=ECM}f;+gM{9nWJuQEoXmrZ+#)B}nYFv-ohijg3sL7 zcWmZ)YLckb{3$U%CGy1OuSz^m|2f;;S%3Y68P|p#eu=-hKln+MCBKvGS6dSKFl?{Y zPN}0Q7iVla_{;BwclqJ}ReqvuP0axUdS#QgPKXPYSbU$isA%um$Bh-TCTvnXIvHoB zS9TaRtX-SNeBS4Y*;fj+1QXH5k_%vYocde!AeyY5O|l zuHTmbBrjB$DVEBRcunb53b%J%BEI-Q+Z2PP02BDUd9RSpF{!;m7*S1t;}n?`kn3R z7q$cQnLdj!ZLLyXJxgx$)OMGqB>6f|?vJhWx!t;T=i@(Q-Aes|XV?sfVbmACz`=+kz4uJ**x$PI@|)}PEW ze$DRRlB9XTBYD>&|6k_MZXedWKjm2_M`~Ai_cqqwA`w1&gf?o<6%+GV_Mq;}qF0yS z6m{J4`n>etsnF^L-P?6`*EZWe(oQQb_>p|;q;8(|{LMd)teKXwj^Ps{?}^*j+-F-q zTM{nvc$-zxCjO5-X0N8sn&q%E;^ywv$1Ze~R+!${VH@4PdcKMLgp?~2OZ7C98ZVSL zPnq85Br&-;9)i;HK-AB}&i^J3ZVw26D|0&MLLibt2V&k^I;zGO??>g(^5+ja=O+Nt^Z zy_e`T=|9Y6H|@GqwuwpkTBm(dJz)8FB~!s;U8!>mo$ku&Ub?q@@1FHK%6>~LEng~0 z?0!0NrTSZ`8pCXsl&pn3jOSJ@{d%YRsK3;>^hgW_$J?-*A2ArLw6Z zXBi9BzQuf!j9Pt`Y4zVlwG+D!KMuD&6VGy?|NqmLz*ZCG>9)=rpqp2dj;1^Rwf!OK9yI}IB~nvL2c`4TpX7_Pe|GG;>H=auP&Q+ zYIydXHR)!^oM(~wYk{>)(Vmu{d0`)RO+GE@u+3$~?CBqS#LjVd9I8A0NqE-vz}6tc zT#u^Wa$zCqZBt|>)_?TtwX=0m+$!|&h2dffTkhTT4H!8yEQxqG(X*zwFY@&5<4 z1)NKN1YWUSu_M`{eP4>@^ti`=Ozv1e`Vw}a*}`Gn!54@2>!?nzU7m0taqqz;CaVmY z{VV1sHApKIU3lQTthnQ9>@S|`Uo&qt^qsl1KD;U8_nU|FmhK4;eRq#DclEreofA^{ z3;ECfEAqZJLoLf@gMe_3ah=#r?%npU#I~0ns#m>q%z>wJ$Kj91{_N1*>b7p)S@#E3 zNi~7=1NZFwfJpqEoyW4!uEj4Ue(r0rukdG=oP%Ut;c!rKtX>| zZ{3>GyR|bVGIbp~7Co=uSnb$4|55z5uPyOzC*8D<`fT4DeIanQ#m}SW9k=;8q<6+K z7nxt5xc@WrdUyBLjSn6Qi7Rxm7^!GEDrfD@%)1yVRn`9a{H^uXfeOcELM8YM{-qz> z%dMenzJh1Y6#1B4g+2jGqpx0)+ z!)sgljoP;#q`muB7IQZ^@S2$0gm8X)mf3!cYm4R;2+W=swy?IYpeXspkvz_weCtC3 z3MXhy>(I7rJ%6w8+UrfZNBzqcIQB^IsH#6Xd(y)g+4B>Hg)aUU^R8W9XkY$sihV}& zLO!J(kGwn`luEQSyE!|0-%l0fvw0pXIOF@iHh(MWZDq&hx|>UKRP)xg9v0Z1`flM? zm#2qB#e_O?U5=^>PSCLWGHK#2*V9Q1$M-I->aUQDYp`R>VA;8Rs)t33%l#WuEp4u@ zTJXG}|JH-qM(1n0pQg-vvT3LD>)Rcyn@%Py4ZoWpC(6Yr>T}~;;-dpuM?bx<_)`Al zhPSRmPD;$|%j<+DUa_ijGhY0J@!Pch^Z5kht$50nGX#Eebv;f0mH8#3Sfn(|t1>>Y z?!-^Y$#OzJcI;Sv`?D4g`;CI#8JC5d^g=wH4$*Q2- zY{I>7e>`KDPWc)A#JT1X~ZiF8k4=u|xHS_21U>nf@|TZ*!krQ(SGMepHpYYUAeg?)tr) zlBX;z#=;AI;^r(zLzX zbI)?Jlg|FhVd6Je?zLGtHSp7>mb<2Zk2oEE$9l*3p>M;JqZ60zd-^JDiTdf-;F3=_ zqGzb{^)X&7(&EnC$(g@PWMeaj>CLzNzRY2vy(hTtotnDu)l{BLo&S>AZ6P`d{!=Sv z&wKs!SWs`^>n7j2YRBpy|nt-4$<)Y)q3>V)+%{kAa^8A6Jh|2H%&v7PiOSFWQe^J_o*Z3%;t zb*B3teCVCMxA1^^q579+m5sGBv%XUr5zHR)&E6;1^{y~{zq)yQJEueww{=kxwd$Q)(I81(Ae9WQi{jrTJqMhI>p+qSLblluFzsJ-m33@ zS3i7q&7Y!G{(I^!KIEMEeQo;ehC3fsi#futHw>l1Z@u)jCwBOYUtD&v zHC5nF!=u+bw%hVgIemM^mTwc=4^Hp(nRlFhp)AwFX&e4VTxp)VI7r~|wNJtu`xq64 zCaGS%w)$MRpU<19?^AD{THh3!_#)?~!!pJFyI<_Sr+YQPzuscQSqZzXrx}YsS){Wh z+Un2h>Y29xv97yH#*!Z?8&~*NUF=MpT;8oC^2ML!$d4Ca?C$KFp*nN1SMFP3;qNbn z9j3E*_|0B)gXg=+`~W+nt^?%;?Y z4ysI@^B`+gQ&8!5^G}xb%0>*C=Uo1OTF0(uB{!+LYe)O7+h_j7{yuek!mF%29{sZ! zcg1o)&aaPKprynfTcJDQ%$~o6sdIZcer;XB$zGXy*RwnJh;P5CTvuPA^t%{i$4e?g z|9t+PyT>HZ|2E`FKHCh#bC;qfx13AvT-{UCEO@f>SH`}?x;rP9@oU{XWE+w8t?~U; zt**QhD<$d0Pu0trPlU@~_Pl>fv+3zogSjCKb++&Bb-KBuzj|hFVx2Gl?qr`AdmyB1+4SYp+7=!uzu_Tb zIeYQ*3E@_v312>?zfu0Ie>loRzR~onqu{LtkDgwTTEr{3%5K@^m(q@LIlOY7=N{h< znzj1ydB%M+*QRHjZ@v?}FkVWMX>akwgS9EQEAQP?zh`$_{LD@+`_5Ratc@q+KN-$g zrDC|+<3-+t-&1brvy_9;xW>YxE8IB9dD9U#*yHxcb!V$tMjyv>DsFKb%uy zdXzus(3(Y3tb3dN9aOy9TUTc3Ec>c3<1x3YK2!5mYu>QFs&$hm+s~+IIaL*|w6#iR z@dD8kKlm?SSkjiZ>Ijo2SI+H!|CQ!j`AOgODGOkK#r&Uj(o^#|KCi+VcI};8S0Bw3 z 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 Da;n!` literal 0 HcmV?d00001 diff --git a/docs/assets/img/product_pics/hat/8servos_hat/8servos_05.webp b/docs/assets/img/product_pics/hat/8servos_hat/8servos_05.webp new file mode 100644 index 0000000000000000000000000000000000000000..517cbb02a4411dd6e17460c4fe189f50446d3829 GIT binary patch literal 55128 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

-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%0DIeEoa6}C!=DfvmMR(Zu% zAYpwaJDZ}EG^-#NH>irDlr&qVjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(y-J+B< z-Qvo;lEez#ykcdj0WPV<$wiq3C7Jno3Lpa$lk!VTY?Vq&GgGY664OkRQc_HHlM;VRe zucQxgG_~xk$Sr_dnpdm`4j{ec{9OHt!~%UoJp)i6Rpb^}ITxiSmZZ8QmZaK&;!W4U zLf60~1QwTimPQsf`e^EG^g)4v1V z3mM|OoJ>0iBRI9tj+cv*lhZ~Y*+$GD0E+~TqK16Ns32P*ANRXL?bsfFU3~9T;1Ld0RKCN>;M1& literal 0 HcmV?d00001 diff --git a/docs/assets/js/custom.js b/docs/assets/js/custom.js index 025efe0d..67d77acc 100644 --- a/docs/assets/js/custom.js +++ b/docs/assets/js/custom.js @@ -616,10 +616,14 @@ function img_zoom() { } function page_move(divId) { - var t = $("#" + divId).offset().top; - $('html, body').animate({ - scrollTop: (t - 100) - }, 500); + try { + var t = $("#" + divId).offset().top; + $('html, body').animate({ + scrollTop: (t - 100) + }, 500); + }catch(err){ + + } } window.onhashchange = page_loading page_loading(); diff --git a/docs/assets/js/custom.min.js b/docs/assets/js/custom.min.js index a6853e1b..ab291c39 100644 --- a/docs/assets/js/custom.min.js +++ b/docs/assets/js/custom.min.js @@ -58,7 +58,7 @@ function isSupportWebp(){if(document.createElement('canvas').toDataURL('image/we use_jpg();} function img_zoom(){$('#main img').on('click',function(){window.zoom_image.url=this.src;window.zoom_image.srcList.push(this.src);for(var i=0;i<$('#main img').length;i++){if(window.zoom_image.srcList.indexOf($('#main img')[i].src)==-1){window.zoom_image.srcList.push($('#main img')[i].src);}} window.zoom_image.show=true;window.zoom_image.stopScroll();})} -function page_move(divId){var t=$("#"+divId).offset().top;$('html, body').animate({scrollTop:(t-100)},500);} +function page_move(divId){try{var t=$("#"+divId).offset().top;$('html, body').animate({scrollTop:(t-100)},500);}catch(err){}} window.onhashchange=page_loading page_loading();function creat_pdf(){window.header.loading(window.header.pdf_notify);window.header.$notify({title:'M5Stack-Docs',message:window.header.pdf_notify,offset:150});$('html, body').animate({scrollTop:0},0);$(".anchor-box").css("display","none");$(".related_links").css("display","none");$(".easyloader-box").css("display","none");var target=document.getElementsByTagName('body');html2canvas(target,{useCORS:true,logging:true,scale:2,background:'#FFFFFF',onrendered:function(canvas){var contentWidth=canvas.width;var contentHeight=canvas.height;var pageHeight=contentWidth/592.28*841.89;var leftHeight=contentHeight;var position=0;var imgWidth=595.28;var imgHeight=592.28/contentWidth*contentHeight;var pageData=canvas.toDataURL('image/jpeg',1.0);var pdf=new jsPDF('','pt','a4');if(leftHeight0){pdf.addImage(pageData,'JPEG',0,position,imgWidth,imgHeight) leftHeight-=pageHeight;position-=841.89;if(leftHeight>0){pdf.addPage();}}} diff --git a/docs/en/accessory/servo_kit.md b/docs/en/accessory/servo_kit.md index acf44f7c..4d8fea54 100644 --- a/docs/en/accessory/servo_kit.md +++ b/docs/en/accessory/servo_kit.md @@ -29,6 +29,9 @@ - 2x M2*4mm self tapping screw - 2x Extension wire 30CM(only 180° servo contains) + + + ## Specification @@ -102,6 +105,7 @@
+ ## Example ### 1. Arduino diff --git a/docs/en/app/bala.md b/docs/en/app/bala.md index 3bc09f63..525d6ac8 100644 --- a/docs/en/app/bala.md +++ b/docs/en/app/bala.md @@ -77,7 +77,7 @@ NOTE: Calibration required for first use!Press and hold the right C key to sta >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver),This program is only available for devices that use the MPU9250/MPU6886. (SH200Q is not supported). +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver),This program is only available for devices that use the MPU9250/MPU6886. (SH200Q is not supported). ## PARAMETER diff --git a/docs/en/app/bala2.md b/docs/en/app/bala2.md index c067d8a7..ae34038a 100644 --- a/docs/en/app/bala2.md +++ b/docs/en/app/bala2.md @@ -123,7 +123,7 @@ NOTE: Calibration required for first use!Press and hold the right C key to sta >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver),This program is only available for devices that use the MPU9250/MPU6886. (SH200Q is not supported). +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver),This program is only available for devices that use the MPU9250/MPU6886. (SH200Q is not supported). ## PARAMETER diff --git a/docs/en/app/demo-board.md b/docs/en/app/demo-board.md index dea38b2a..719f40d6 100644 --- a/docs/en/app/demo-board.md +++ b/docs/en/app/demo-board.md @@ -81,7 +81,7 @@ >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Module parameters diff --git a/docs/en/app/flir.md b/docs/en/app/flir.md index 8e8ab7a9..c9f4f9e9 100644 --- a/docs/en/app/flir.md +++ b/docs/en/app/flir.md @@ -83,7 +83,7 @@ The effective image generate by the Lepton sensor is 160×120, but you can proce >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Related Link diff --git a/docs/en/app/lidarbot.md b/docs/en/app/lidarbot.md index 309f0337..f679082c 100644 --- a/docs/en/app/lidarbot.md +++ b/docs/en/app/lidarbot.md @@ -113,7 +113,7 @@ If you are interest in AGV development, We especially encourage you to modify th >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Connect And Pair diff --git a/docs/en/base/iiot_dual_switch_kit_with_core.md b/docs/en/base/iiot_dual_switch_kit_with_core.md index dd9f3745..260b1b7c 100644 --- a/docs/en/base/iiot_dual_switch_kit_with_core.md +++ b/docs/en/base/iiot_dual_switch_kit_with_core.md @@ -59,7 +59,7 @@ For example, you can stack an IoT module such as LoRa, GSM, LTE, etc, in between >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ### Example diff --git a/docs/en/hat/hat-8servos.md b/docs/en/hat/hat-8servos.md index b18f39cb..7c8b1727 100644 --- a/docs/en/hat/hat-8servos.md +++ b/docs/en/hat/hat-8servos.md @@ -52,6 +52,8 @@ + + ## EasyLoader >EasyLoader is a concise and fast program writer, which has a built-in case program related to the product. It can be burned to the main control by simple steps to perform a series of function verification. Please install the corresponding driver according to the device type. M5Core host [Please click here to view the CP210X driver installation tutorial](en/arduino/arduino_development), M5StickC/V/T/ATOM series can be used without driver) diff --git a/docs/en/module/comx_gsm.md b/docs/en/module/comx_gsm.md index d058b1ec..c69d4678 100644 --- a/docs/en/module/comx_gsm.md +++ b/docs/en/module/comx_gsm.md @@ -11,9 +11,9 @@ -!>COM GSM RXD/TXD can be connected to M5Stack's UART (TX(0/13/17)RX(5/15/16)) by setting the DIP switch. Since these GPIO in **M5Stack Fire** 16/17 are connected to PSRAM by default, conflicts may occur when using GSM. It is recommended to use any set of UART pins in the remaining two groups. +?>COM GSM RXD/TXD can be connected to M5Stack's UART (TX(0/13/17)RX(5/15/16)) by setting the DIP switch. Since these GPIO in **M5Stack Fire** 16/17 are connected to PSRAM by default, conflicts may occur when using GSM. It is recommended to use any set of UART pins in the remaining two groups. -!>The DIP switch on the right is invalid for the GSM module, no need to set. +?>The DIP switch on the right is invalid for the GSM module, no need to set. ## Product Features diff --git a/docs/en/module/faces_finger.md b/docs/en/module/faces_finger.md index fd3047c5..f7d7aead 100644 --- a/docs/en/module/faces_finger.md +++ b/docs/en/module/faces_finger.md @@ -83,7 +83,7 @@ Communication Protocol: UART. >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Schematic diff --git a/docs/en/module/faces_rfid.md b/docs/en/module/faces_rfid.md index 4e67c650..4951d9e7 100644 --- a/docs/en/module/faces_rfid.md +++ b/docs/en/module/faces_rfid.md @@ -90,7 +90,7 @@ Communication Protocol: I2C. >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Schematic diff --git a/docs/en/module/goplus.md b/docs/en/module/goplus.md index 8d4605fa..d1b4ce58 100644 --- a/docs/en/module/goplus.md +++ b/docs/en/module/goplus.md @@ -63,7 +63,7 @@ Communication Protocol: IIC (0x61). >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## PinMap diff --git a/docs/en/module/gps.md b/docs/en/module/gps.md index e9270e16..3f4a285b 100644 --- a/docs/en/module/gps.md +++ b/docs/en/module/gps.md @@ -22,7 +22,7 @@ If you want to Change the uart baudrate,please check here ( [u-center-just-for-W -!> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of GPS module. Therefore, when using the GPS module with the M5Stack Fire, you might have to cut the TXD and RXD from GPS module and wire fly to another set of UART pin +?> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of GPS module. Therefore, when using the GPS module with the M5Stack Fire, you might have to cut the TXD and RXD from GPS module and wire fly to another set of UART pin ## Product Features @@ -93,7 +93,7 @@ If you want to Change the uart baudrate,please check here ( [u-center-just-for-W >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Example diff --git a/docs/en/module/gsm.md b/docs/en/module/gsm.md index 5fa3c22f..e7eab54d 100644 --- a/docs/en/module/gsm.md +++ b/docs/en/module/gsm.md @@ -28,7 +28,7 @@ Power Operation: *The Global System for Mobile Communications (GSM) is a standard developed by the European Telecommunications Standards Institute (ETSI) to describe the protocols for second-generation (2G) digital cellular networks used by mobile devices such as mobile phones and tablets.* -!> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of GSM module. Therefore, when using the GSM module with the M5Stack Fire, you might have to cut the TXD and RXD from GSM module and wire fly to another set of UART pin +?> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of GSM module. Therefore, when using the GSM module with the M5Stack Fire, you might have to cut the TXD and RXD from GSM module and wire fly to another set of UART pin ## Product Features @@ -115,7 +115,7 @@ Product Feature: >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Example diff --git a/docs/en/module/joystick.md b/docs/en/module/joystick.md index d01024f3..25c1cc56 100644 --- a/docs/en/module/joystick.md +++ b/docs/en/module/joystick.md @@ -60,7 +60,7 @@ JOYSTICK IIC address is 0x5E. >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## PinMap diff --git a/docs/en/module/lego_plus.md b/docs/en/module/lego_plus.md index da67757a..52866266 100644 --- a/docs/en/module/lego_plus.md +++ b/docs/en/module/lego_plus.md @@ -68,7 +68,7 @@ Series Communication: IIC (0x56). >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## PinMap diff --git a/docs/en/module/lora.md b/docs/en/module/lora.md index 413a47f9..7f3696ee 100644 --- a/docs/en/module/lora.md +++ b/docs/en/module/lora.md @@ -78,7 +78,7 @@ LoRa (433MHz) and LoRaWAN permit long-range connectivity for Internet of Things >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Example diff --git a/docs/en/module/lorawan.md b/docs/en/module/lorawan.md index b661d6f0..a2e74eb2 100644 --- a/docs/en/module/lorawan.md +++ b/docs/en/module/lorawan.md @@ -85,7 +85,7 @@ By default, the UART configuration: "9600, 8, n, 1"(8 bits data, no parity, 1 st >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Pin Map diff --git a/docs/en/module/lte.md b/docs/en/module/lte.md index 24cd647f..e1d0c224 100644 --- a/docs/en/module/lte.md +++ b/docs/en/module/lte.md @@ -17,7 +17,7 @@ M8321 is 4V power input, so in the hardware of LTE-4G module, we added a Bidire *In telecommunication, Long-Term Evolution (LTE) is a standard for wireless broadband communication for mobile devices and data terminals, based on the GSM/EDGE and UMTS/HSPA technologies. It increases the capacity and speed using a different radio interface together with core network improvements.* -!> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of LTE module. Therefore, when using the LTE module with the M5Stack Fire, you might have to cut the TXD and RXD from LTE module and wire fly to another set of UART pin +?> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of LTE module. Therefore, when using the LTE module with the M5Stack Fire, you might have to cut the TXD and RXD from LTE module and wire fly to another set of UART pin ## Product Features @@ -114,7 +114,7 @@ Product Feature: >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Example diff --git a/docs/en/module/nb-iot.md b/docs/en/module/nb-iot.md index d64aaf09..a00d84df 100644 --- a/docs/en/module/nb-iot.md +++ b/docs/en/module/nb-iot.md @@ -30,7 +30,7 @@ Power Operation: *More info about NB-IoT: NarrowBand-Internet of Things (NB-IoT) is a standards-based low power wide area (LPWA) technology developed to enable a wide range of new IoT devices and services. NB-IoT significantly improves the power consumption of user devices, system capacity and spectrum efficiency, especially in deep coverage. Battery life of more than 10 years can be supported for a wide range of use cases.Supported by all major mobile equipment, chipset and module manufacturers, NB-IoT can co-exist with 2G, 3G, and 4G mobile networks. It also benefits from all the security and privacy features of mobile networks, such as support for user identity confidentiality, entity authentication, confidentiality, data integrity, and mobile equipment identification. NB-IoT focuses specifically on indoor coverage, low cost, long battery life, and high connection density. NB-IoT uses a subset of the LTE standard, but limits the bandwidth to a single narrow-band of 200kHz. It uses OFDM modulation for downlink communication and SC-FDMA for uplink communications* -!> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of NB-IoT module. Therefore, when using the NB-IoT module with the M5Stack Fire, you might have to cut the TXD and RXD from NB-IoT module and wire fly to another set of UART pin +?> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of NB-IoT module. Therefore, when using the NB-IoT module with the M5Stack Fire, you might have to cut the TXD and RXD from NB-IoT module and wire fly to another set of UART pin ## Product Features @@ -147,7 +147,7 @@ only for reference >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Example diff --git a/docs/en/module/nb-iot_plus.md b/docs/en/module/nb-iot_plus.md index a0ffd4b1..f07d4db1 100644 --- a/docs/en/module/nb-iot_plus.md +++ b/docs/en/module/nb-iot_plus.md @@ -23,7 +23,7 @@ Power Operation: *More info about NB-IoT: NarrowBand-Internet of Things (NB-IoT) is a standards-based low power wide area (LPWA) technology developed to enable a wide range of new IoT devices and services. NB-IoT significantly improves the power consumption of user devices, system capacity and spectrum efficiency, especially in deep coverage. Battery life of more than 10 years can be supported for a wide range of use cases.Supported by all major mobile equipment, chipset and module manufacturers, NB-IoT can co-exist with 2G, 3G, and 4G mobile networks. It also benefits from all the security and privacy features of mobile networks, such as support for user identity confidentiality, entity authentication, confidentiality, data integrity, and mobile equipment identification. NB-IoT focuses specifically on indoor coverage, low cost, long battery life, and high connection density. NB-IoT uses a subset of the LTE standard, but limits the bandwidth to a single narrow-band of 200kHz. It uses OFDM modulation for downlink communication and SC-FDMA for uplink communications* -!> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of NB-IoT Plus module. Therefore, when using the NB-IoT Plus module with the M5Stack Fire, you might have to cut the TXD and RXD from NB-IoT Plus module and wire fly to another set of UART pin +?> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of NB-IoT Plus module. Therefore, when using the NB-IoT Plus module with the M5Stack Fire, you might have to cut the TXD and RXD from NB-IoT Plus module and wire fly to another set of UART pin ## Product Features - Serial communication: UART @@ -138,7 +138,7 @@ only for reference >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Example diff --git a/docs/en/module/plus.md b/docs/en/module/plus.md index 9fda5d60..95b075e0 100644 --- a/docs/en/module/plus.md +++ b/docs/en/module/plus.md @@ -60,7 +60,7 @@ >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## PinMap diff --git a/docs/en/module/sim800.md b/docs/en/module/sim800.md index b9cb4d6f..c385c69e 100644 --- a/docs/en/module/sim800.md +++ b/docs/en/module/sim800.md @@ -29,7 +29,7 @@ - Working temperature range: -40 do + 85 ° C -!> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of SIM800L module. Therefore, when using the SIM800L module with the M5Stack Fire, you might have to cut the TXD and RXD from SIM800L module and wire fly to another set of UART pin +?> **M5Stack Fire** has occupied GPIO16 / 17 to connect with the PSRAM by default, it's conflict with TXD / RXD (GPIO16, GPIO17) of SIM800L module. Therefore, when using the SIM800L module with the M5Stack Fire, you might have to cut the TXD and RXD from SIM800L module and wire fly to another set of UART pin ## Include @@ -78,7 +78,7 @@ >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Related Link diff --git a/docs/en/module/stepmotor.md b/docs/en/module/stepmotor.md index 0ba4e272..45c026d0 100644 --- a/docs/en/module/stepmotor.md +++ b/docs/en/module/stepmotor.md @@ -72,7 +72,7 @@ Integrated 3 DRV8825, a simple but very powerful board that can control one bipo >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## PinMap diff --git a/docs/en/module/usb.md b/docs/en/module/usb.md index ccb495a1..93548864 100644 --- a/docs/en/module/usb.md +++ b/docs/en/module/usb.md @@ -68,7 +68,7 @@ interface. Ever up for adding the standard USB features on your project? this M >2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click **"Burn"** to start burning. -!>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) +?>3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. [Click here to view the driver installation tutorial](en/related_documents/M5Burner#install-usb-driver) ## Example diff --git a/docs/en/quick_start/bala/bala_quick_start.md b/docs/en/quick_start/bala/bala_quick_start.md index 00aa3f96..98603e35 100644 --- a/docs/en/quick_start/bala/bala_quick_start.md +++ b/docs/en/quick_start/bala/bala_quick_start.md @@ -1,6 +1,6 @@ # BALA Quick Start {docsify-ignore-all} -!>To program M5Bala, you will need M5Stack Fire or M5GO as main controller. +?>To program M5Bala, you will need M5Stack Fire or M5GO as main controller. diff --git a/docs/en/quick_start/bala2/bala2_quick_start.md b/docs/en/quick_start/bala2/bala2_quick_start.md index 8892c4c8..88295a7b 100644 --- a/docs/en/quick_start/bala2/bala2_quick_start.md +++ b/docs/en/quick_start/bala2/bala2_quick_start.md @@ -1,6 +1,6 @@ # BALA2 Quick Start {docsify-ignore-all} -!>To program M5Bala2, you will need M5Stack Gray as main controller. +?>To program M5Bala2, you will need M5Stack Gray as main controller. diff --git a/docs/en/quick_start/m5core/m5stack_core_get_started_Arduino_Windows.md b/docs/en/quick_start/m5core/m5stack_core_get_started_Arduino_Windows.md index fe61d3a5..0883b553 100644 --- a/docs/en/quick_start/m5core/m5stack_core_get_started_Arduino_Windows.md +++ b/docs/en/quick_start/m5core/m5stack_core_get_started_Arduino_Windows.md @@ -90,7 +90,7 @@ Connect the M5Core to your computer via USB Type-C cable, open `Windows Device M - diff --git a/docs/en/quick_start/m5core/m5stack_core_get_started_MicroPython.md b/docs/en/quick_start/m5core/m5stack_core_get_started_MicroPython.md index 5955bbc2..777d827b 100644 --- a/docs/en/quick_start/m5core/m5stack_core_get_started_MicroPython.md +++ b/docs/en/quick_start/m5core/m5stack_core_get_started_MicroPython.md @@ -183,7 +183,7 @@ ified developers -!> Using UIFlow Desktop IDE requires M5 device with UIFlow firmware and enter **USB programming mode**. +?> Using UIFlow Desktop IDE requires M5 device with UIFlow firmware and enter **USB programming mode**. > Click the power button on the left side of the device to restart. Quickly select Setup after entering the menu, enter the configuration page, and select **USB mode**. diff --git a/docs/en/quick_start/m5stickc/m5stickc_quick_start_with_uiflow.md b/docs/en/quick_start/m5stickc/m5stickc_quick_start_with_uiflow.md index 19be71dc..35ecd1a6 100644 --- a/docs/en/quick_start/m5stickc/m5stickc_quick_start_with_uiflow.md +++ b/docs/en/quick_start/m5stickc/m5stickc_quick_start_with_uiflow.md @@ -143,7 +143,7 @@ -!> Using UIFlow Desktop IDE requires M5 device with UIFlow firmware and enter ** USB programming mode **. +?> Using UIFlow Desktop IDE requires M5 device with UIFlow firmware and enter ** USB programming mode **. > Click the power button on the left side of the device to restart, after entering the menu, quickly click the right button to select **USB mode**. diff --git a/docs/en/quick_start/m5stickc_plus/m5stickc_plus_quick_start_with_uiflow.md b/docs/en/quick_start/m5stickc_plus/m5stickc_plus_quick_start_with_uiflow.md index 2b268456..687c97b3 100644 --- a/docs/en/quick_start/m5stickc_plus/m5stickc_plus_quick_start_with_uiflow.md +++ b/docs/en/quick_start/m5stickc_plus/m5stickc_plus_quick_start_with_uiflow.md @@ -141,7 +141,7 @@ -!> Using UIFlow Desktop IDE requires M5 device with UIFlow firmware and enter ** USB programming mode **. +?> Using UIFlow Desktop IDE requires M5 device with UIFlow firmware and enter ** USB programming mode **. > Click the power button on the left side of the device to restart, after entering the menu, quickly click the right button to select **USB mode**. diff --git a/docs/en/related_documents/M5Burner.md b/docs/en/related_documents/M5Burner.md index 96c33ef0..c64f6add 100644 --- a/docs/en/related_documents/M5Burner.md +++ b/docs/en/related_documents/M5Burner.md @@ -68,7 +68,7 @@ >3.Select the firmware version you want to burn, connect the device to the computer via the Type-C cable, select the corresponding COM port and device type. Click "Burn" to start burning. -!>When burning for the first time, it is recommended to click "Erase" to clear the memory. In the subsequent firmware update, there is no need to clear it again, otherwise the saved Wi-Fi information will be deleted and the API Key will be refreshed. +?>When burning for the first time, it is recommended to click "Erase" to clear the memory. In the subsequent firmware update, there is no need to clear it again, otherwise the saved Wi-Fi information will be deleted and the API Key will be refreshed. diff --git a/docs/en/related_documents/Setting_WIFI.md b/docs/en/related_documents/Setting_WIFI.md index 21ad6b62..591afdeb 100644 --- a/docs/en/related_documents/Setting_WIFI.md +++ b/docs/en/related_documents/Setting_WIFI.md @@ -33,7 +33,7 @@ The information content of the configured WIFI is not allowed to use Chinese and >3. In the configuration page, fill in the WiFi information you want to connect to, click "Configure", and wait for the configuration to complete. -!>.During the process of configuring WiFi, please keep the mobile phone (terminal) connected to the M5Core AP hotspot. +?>.During the process of configuring WiFi, please keep the mobile phone (terminal) connected to the M5Core AP hotspot. @@ -56,7 +56,7 @@ The information content of the configured WIFI is not allowed to use Chinese and >3. After the configuration is completed, M5Stick will automatically restart and enter the network programming mode. When the cloud prompts "done", it indicates that the network has been successfully connected. The API Key displayed on the screen will be used with[UIFlow web IDE](http://flow.m5stack.com/) Pairing. -!>. During the process of configuring WiFi, please keep the mobile phone (terminal) connected to the M5Stick AP hotspot. +?>. During the process of configuring WiFi, please keep the mobile phone (terminal) connected to the M5Stick AP hotspot. @@ -72,7 +72,7 @@ The information content of the configured WIFI is not allowed to use Chinese and >3. After the configuration is completed, M5StickC will automatically restart and enter the network programming mode. When the network logo changes from red to green, it indicates that the network has been successfully connected. The API Key displayed on the screen will be used with[UIFlow web IDE](http://flow.m5stack.com/) Pairing. -!>. During the process of configuring WiFi, please keep the mobile phone (terminal) connected to the AP hotspot of M5StickC. +?>. During the process of configuring WiFi, please keep the mobile phone (terminal) connected to the AP hotspot of M5StickC. diff --git a/docs/en/related_documents/UIFlow_Desktop_IDE.md b/docs/en/related_documents/UIFlow_Desktop_IDE.md index 9efb12e4..087c9a0e 100644 --- a/docs/en/related_documents/UIFlow_Desktop_IDE.md +++ b/docs/en/related_documents/UIFlow_Desktop_IDE.md @@ -37,7 +37,7 @@ -!>Using the UIFlow Desktop IDE requires the M5 device to carry the UIFlow firmware and enter the **USB mode**. +?>Using the UIFlow Desktop IDE requires the M5 device to carry the UIFlow firmware and enter the **USB mode**. >Click the power button on the left side of the device to restart. After entering the menu, select Setup quickly to enter the configuration page and select**USB mode**. @@ -55,7 +55,7 @@ ## Additional features -!>In addition to being a powerful program editor, UIFlow Desktop IDE also integrates **USB driver** installation, **M5Burner** burning tool and other functions, no need to download other software, one-stop solution programming environment Deployment requirements. +?>In addition to being a powerful program editor, UIFlow Desktop IDE also integrates **USB driver** installation, **M5Burner** burning tool and other functions, no need to download other software, one-stop solution programming environment Deployment requirements. >In the upper menu bar of the IDE, you can find the corresponding additional functions, click to open the use, about the use of M5Burner, please refer to our other document for details. ["Upgrade Firmware"](zh_CN/related_documents/M5Burner). diff --git a/docs/en/related_documents/how_to_burn_firmware.md b/docs/en/related_documents/how_to_burn_firmware.md index f04fe127..891db5ae 100644 --- a/docs/en/related_documents/how_to_burn_firmware.md +++ b/docs/en/related_documents/how_to_burn_firmware.md @@ -45,7 +45,7 @@ Unzip the M5Burner tool which you donwloaded for official website just now, then -!> **Notice** If it does not display any ``COMx`` port or only ``COM1`` exists at the option, you need to visit this article [establish_serial_connection](/en/related_documents/establish_serial_connection) and reinstall the USB driver. +?> **Notice** If it does not display any ``COMx`` port or only ``COM1`` exists at the option, you need to visit this article [establish_serial_connection](/en/related_documents/establish_serial_connection) and reinstall the USB driver. **a. Choice a right firmware** diff --git a/docs/en/uiflow/FACES.md b/docs/en/uiflow/FACES.md index 38d48318..ad30b9d8 100644 --- a/docs/en/uiflow/FACES.md +++ b/docs/en/uiflow/FACES.md @@ -1,3 +1,19 @@ + +

+ Contents + +
+
+ Calculator + Encoder + FINGER + GameBoy + Joystick + KeyBoard + RFID +
+ + ## Calculator #### Feature introduction diff --git a/docs/en/uiflow/UIFlow_Desktop_IDE.md b/docs/en/uiflow/UIFlow_Desktop_IDE.md index 8c1be90e..076b4192 100644 --- a/docs/en/uiflow/UIFlow_Desktop_IDE.md +++ b/docs/en/uiflow/UIFlow_Desktop_IDE.md @@ -37,7 +37,7 @@ -!>Using the UIFlow Desktop IDE requires the M5 device to carry the UIFlow firmware and enter the **USB mode**. +?>Using the UIFlow Desktop IDE requires the M5 device to carry the UIFlow firmware and enter the **USB mode**. >Click the power button on the left side of the device to restart. After entering the menu, select Setup quickly to enter the configuration page and select**USB mode**. @@ -47,7 +47,7 @@ -!>If you are using M5StickC, please follow the instructions below +?>If you are using M5StickC, please follow the instructions below >Press and hold the power key on the left side of the fuselage for 2 seconds to start the machine. After the uiflow logo appears, quickly click the home key (center M5 key) to enter the configuration page. Press the button on the right side of the fuselage to switch the option to setting, and press home to confirm. Press the right key to switch to USB mode, press home key to confirm, enter USB programming mode, select the corresponding COM port and device in IDE, and click Connect. @@ -61,7 +61,7 @@ ## Additional features -!>In addition to being a powerful program editor, UIFlow Desktop IDE also integrates **USB driver** installation, **M5Burner** burning tool and other functions, no need to download other software, one-stop solution programming environment Deployment requirements. +?>In addition to being a powerful program editor, UIFlow Desktop IDE also integrates **USB driver** installation, **M5Burner** burning tool and other functions, no need to download other software, one-stop solution programming environment Deployment requirements. >In the upper menu bar of the IDE, you can find the corresponding additional functions, click to open the use, about the use of M5Burner, please refer to our other document for details. ["Upgrade Firmware"](zh_CN/related_documents/M5Burner). diff --git a/docs/en/uiflow/Units.md b/docs/en/uiflow/Units.md index 2c0a6eb8..8fbae41a 100644 --- a/docs/en/uiflow/Units.md +++ b/docs/en/uiflow/Units.md @@ -259,7 +259,7 @@ Set brightness of LED > -## REALY +## RELAY #### Feature Introduction diff --git a/docs/en/uiflow/advanced.md b/docs/en/uiflow/advanced.md index 4ffef65f..7c8b04de 100644 --- a/docs/en/uiflow/advanced.md +++ b/docs/en/uiflow/advanced.md @@ -1,46 +1,31 @@ -**[Remote](#Remote)** - -**[ESP-NOW](#ESP-NOW)** - -**[MQTT communication](#MQTT-communication)** - -**[MQTT server](#MQTT-server)** - -**[WiFi](#WiFi)** - -**[P2P](#P2P)** - -**[Easy I/O](#Easy-I/O)** - -**[PIN](#PIN)** - -**[PWM](#PWM)** - -**[ADC](#ADC)** - -**[DAC](#DAC)** - -**[UART](#UART)** - -**[I2C](#I2C)** - -**[Excute](#Excute)** - -**[SDCard](#SDCard)** - -**[Http](#Http)** - -**[EEPROM](#EEPROM)** - -**[Modbus Master](#Modbus-Master)** - -**[Modbus Slave](#Modbus-Slave)** - -**[BLE UART](#BLE-UARTsupport-M5Stack-Fire-only)** - -**[Blynk](#Blynksupport-M5Stack-Fire-only)** - -**[Echo STT](#Echo-STT)** + +
+ Contents + +
+
+ Remote + ESP-NOW + MQTT communication + WiFi + P2P + Easy-IO + PWM + ADC + DAC + UART + I2C + Execute + SDCard + Http + EEPROM + Modbus-Master + Modbus-Slave + BLE UART + Blynk + Echo STT +
+
## Remote @@ -48,7 +33,7 @@ >Remote control M5Stack via devices such as mobile phone or computer. -> +> * __Set Title__ Set a title name of the control page. @@ -72,7 +57,7 @@ Display information, you can choose some built-in label types, or enter custom t >Add a QR code to generate a Block into the program, add a Remote Button and Slider to control RGB Bar,at the same time, display the temperature through ENV Unit. -> + ## ESP-NOW @@ -80,7 +65,7 @@ Display information, you can choose some built-in label types, or enter custom t >ESP-NOW is a short-range, low-power communication protocol that enables multiple devices to communicate without Wi-Fi. This protocol is similar to the low-power 2.4GHz wireless connection found in wireless mice—devices are paired before communicating. After pairing, the connections between devices are continuous, peer-to-peer, and do not require a handshake protocol. -> +> * __Get mac addr__ Get the mac address of this machine. @@ -307,7 +292,7 @@ Establish a point-to-point connection,Read the Message from other M5Stacks > -## Easy I/O +## Easy I-O #### Function Description diff --git a/docs/en/uiflow/blockly_custom.md b/docs/en/uiflow/blockly_custom.md index 6152fa76..b8d7d818 100644 --- a/docs/en/uiflow/blockly_custom.md +++ b/docs/en/uiflow/blockly_custom.md @@ -1,13 +1,17 @@ # UIFlow Block Custom{docsify-ignore-all} - -1. [Create block](#Create-block) - -2. [Code-Parameter](#Code-Parameter) - -3. [Save and Changes](#Save-and-Changes) - -4. [Using program block](#Using-program-block) + +
+ Contents + +
+
+ Create-block + Code-Parameter + Save-and-Changes + Using-program-block +
+
## Create block diff --git a/docs/en/uiflow/data_structure.md b/docs/en/uiflow/data_structure.md index c0c07370..bb49e0a8 100644 --- a/docs/en/uiflow/data_structure.md +++ b/docs/en/uiflow/data_structure.md @@ -1,4 +1,21 @@ -# Introducing variables + + +
+ Contents + +
+
+ variables + operation + Random + map + array + JSON + TEXT +
+
+ +# variables #### What is a variable? @@ -18,7 +35,7 @@ -# Basic operation +# operation #### Function Description @@ -62,7 +79,7 @@ Convert values to floating point numbers > -# random number +## random #### Function Description @@ -85,7 +102,7 @@ Specify a random range, each time it is executed, randomly generate an integer i -# Introducing a map +## map #### Function Description @@ -120,7 +137,7 @@ Delete specified key > -# Introducing an array +## array __________________________ #### Function Description @@ -168,7 +185,7 @@ Create an array from text, using a separator > -# Introducing JSON +## JSON #### Function Description @@ -189,7 +206,7 @@ Decode an encoded JSON string into a Python object. > -# Introducing TEXT +## TEXT #### Function Description diff --git a/docs/en/uiflow/hardware.md b/docs/en/uiflow/hardware.md index 0bcc175c..2c7ec05d 100644 --- a/docs/en/uiflow/hardware.md +++ b/docs/en/uiflow/hardware.md @@ -1,3 +1,16 @@ + +
+ Contents + +
+
+ RGB Bar + Speaker + IMU + POWER +
+
+ ## RGB #### Feature introduction @@ -53,7 +66,7 @@ Play a specific musical note for a set duration of beats > -## IMU (Internal Measurement Unit) +## IMU #### Feature introduction diff --git a/docs/en/uiflow/introduction.md b/docs/en/uiflow/introduction.md index cc1ab242..c8c22f77 100644 --- a/docs/en/uiflow/introduction.md +++ b/docs/en/uiflow/introduction.md @@ -135,7 +135,7 @@ ified developers * __For M5GO__ -!>Using the UIFlow Desktop IDE requires the M5 device to carry the UIFlow firmware and enter the **USB mode**. +?>Using the UIFlow Desktop IDE requires the M5 device to carry the UIFlow firmware and enter the **USB mode**. >Click the power button on the left side of the device to restart. After entering the menu, select Setup quickly to enter the configuration page and select**USB mode**. @@ -147,7 +147,7 @@ ified developers * __For M5StickC__ -!>If you are using M5StickC, please follow the instructions below +?>If you are using M5StickC, please follow the instructions below >Press and hold the power key on the left side of the fuselage for 2 seconds to start the machine. After the uiflow logo appears, quickly click the home key (center M5 key) to enter the configuration page. Press the button on the right side of the fuselage to switch the option to setting, and press home to confirm. Press the right key to switch to USB mode, press home key to confirm, enter USB programming mode, select the corresponding COM port and device in IDE, and click Connect. @@ -155,7 +155,7 @@ ified developers * __For Atom__ -!>If you are using Atom, please follow the instructions below +?>If you are using Atom, please follow the instructions below >When the device is powered on or restarted, press and hold the middle button until it is released when the blue-light breathing is displayed, and then enter USB mode.(For more information, refer to https://docs.m5stack.com/#/zh_CN/quick_start/atom/atom_quick_start) diff --git a/docs/en/uiflow/introduction_atom.md b/docs/en/uiflow/introduction_atom.md index 7a01b950..23fdf0d6 100644 --- a/docs/en/uiflow/introduction_atom.md +++ b/docs/en/uiflow/introduction_atom.md @@ -78,7 +78,7 @@ ified developers -!>Connect via USB mode of ATOM menu +?>Connect via USB mode of ATOM menu >When the ATOM device is powered on or restarted, press and hold the middle button until it is released when the blue-light breathing is displayed, and then enter USB mode.(For more information, refer to https://docs.m5stack.com/#/zh_CN/quick_start/atom/atom_quick_start) diff --git a/docs/en/uiflow/logic.md b/docs/en/uiflow/logic.md index cc246f07..51533e3e 100644 --- a/docs/en/uiflow/logic.md +++ b/docs/en/uiflow/logic.md @@ -1,4 +1,20 @@ -## if condition + +
+ Contents + +
+
+ if + Logic + logic operation + loop + iteration + Functions +
+
+ + +## if #### Feature introduction @@ -16,7 +32,6 @@ This if block allows us to run code if more than one condition is met. If the fi * __true__ Values of true or false (A.K.A "Boolean") can be used in the if condition to determine whether some predefined condition has been met. For example if you created a variable called game over and gave it the value True and placed this block in setup before the loop, and then used the = block in your if condition to check whether gameover is equal to true then the code placed next to "do" would run. - #### Usage >The if condition is highly necessary for any program of reasonable complexity, it allows the program to go in multiple directions based on events input by the user or some other predefined variable @@ -24,7 +39,7 @@ Values of true or false (A.K.A "Boolean") can be used in the if condition to det > -## Logic Operator +## Logic #### Feature Introduction @@ -62,7 +77,7 @@ Invert the logical result of an expression, that is, notTrue=False, notFalse=Tru > -## Conditional loop +## loop #### Function Description @@ -83,7 +98,7 @@ Determine whether the condition is true or not, and when inception, infinite loo > -## Data iteration +## iteration #### Function Description diff --git a/docs/en/uiflow/uiflow_home_page.md b/docs/en/uiflow/uiflow_home_page.md index 3c64a02e..587a0db4 100644 --- a/docs/en/uiflow/uiflow_home_page.md +++ b/docs/en/uiflow/uiflow_home_page.md @@ -63,23 +63,24 @@ const uielements = { const datastructure = { 'title':"Data structure", 'item':{ - 'variables':'#/en/uiflow/data_structure?id=introducing-variables', - 'Basic operation':'#/en/uiflow/data_structure?id=basic-operation', - 'Random':'#/en/uiflow/data_structure?id=random-number', - 'Array':'#/en/uiflow/data_structure?id=introducing-an-array', - 'Map':'#/en/uiflow/data_structure?id=introducing-a-map', - 'JSON':'#/en/uiflow/data_structure?id=introducing-json', - 'text':'#/en/uiflow/data_structure?id=introducing-text' + 'variables':'#/en/uiflow/data_structure?id=variables', + 'Basic operation':'#/en/uiflow/data_structure?id=operation', + 'Random':'#/en/uiflow/data_structure?id=random', + 'Array':'#/en/uiflow/data_structure?id=array', + 'Map':'#/en/uiflow/data_structure?id=map', + 'JSON':'#/en/uiflow/data_structure?id=json', + 'text':'#/en/uiflow/data_structure?id=text' } }; const logic = { 'title':"Logic", 'item':{ - 'if':'#/en/uiflow/logic?id=if-condition', - 'Logic Operator':'#/en/uiflow/logic?id=logic-operator', - 'Repeat':'#/en/uiflow/logic?id=conditional-loop', - 'Iteration':'#/en/uiflow/logic?id=data-iteration', + 'if':'#/en/uiflow/logic?id=if', + 'Logic':'#/en/uiflow/logic?id=logic', + 'Logic Operator':'#/en/uiflow/logic?id=logic-operation', + 'Repeat':'#/en/uiflow/logic?id=loop', + 'Iteration':'#/en/uiflow/logic?id=iteration', 'Functions':'#/en/uiflow/logic?id=functions' } }; @@ -92,7 +93,7 @@ const advanced = { 'MQTT':'#/en/uiflow/advanced?id=mqtt-communication', 'WiFi':'#/en/uiflow/advanced?id=wifi', 'P2P':'#/en/uiflow/advanced?id=p2p', - 'Easy I/O':'#/en/uiflow/advanced?id=easy-i%2fo', + 'Easy I/O':'#/en/uiflow/advanced?id=easy-io', 'PIN':'#/en/uiflow/advanced?id=pin', 'PWM':'#/en/uiflow/advanced?id=pwm', 'ADC':'#/en/uiflow/advanced?id=adc', @@ -123,7 +124,7 @@ const unit = { 'BUTTON':'#/en/uiflow/Units?id=button', 'Dual-BUTTON':'#/en/uiflow/Units?id=dual-button', 'RGB':'#/en/uiflow/Units?id=rgb', - 'REALY':'#/en/uiflow/Units?id=realy', + 'RELAY':'#/en/uiflow/Units?id=relay', 'ADC':'#/en/uiflow/Units?id=adc', 'DAC':'#/en/uiflow/Units?id=dac', 'NCIR':'#/en/uiflow/Units?id=ncir', diff --git a/docs/zh_CN/accessory/servo_kit.md b/docs/zh_CN/accessory/servo_kit.md index af272958..f68816fe 100644 --- a/docs/zh_CN/accessory/servo_kit.md +++ b/docs/zh_CN/accessory/servo_kit.md @@ -29,6 +29,10 @@ - 2x M2*4mm自攻螺丝 - 2x 舵机延长线30CM(仅180舵机包含) + + + + ## 规格参数 @@ -102,7 +106,8 @@
- ## 示例 + +## 示例 ### 1. Arduino diff --git a/docs/zh_CN/api/system.md b/docs/zh_CN/api/system.md index 1a10b10a..0a10e25f 100644 --- a/docs/zh_CN/api/system.md +++ b/docs/zh_CN/api/system.md @@ -118,7 +118,7 @@ void loop() { ## powerOFF() -!> 不推荐使用:请使用Power::deepSleep() +?> 不推荐使用:请使用Power::deepSleep() **函数原型:** diff --git a/docs/zh_CN/app/bala.md b/docs/zh_CN/app/bala.md index 0e2c2f09..fc469306 100644 --- a/docs/zh_CN/app/bala.md +++ b/docs/zh_CN/app/bala.md @@ -93,7 +93,7 @@ C.A.S.E | 塑料 ( PC ) >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动),该程序仅适用于使用MPU9250/MPU6886的设备.(不支持SH200Q). +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动),该程序仅适用于使用MPU9250/MPU6886的设备.(不支持SH200Q). ## 案例程序 diff --git a/docs/zh_CN/app/demo-board.md b/docs/zh_CN/app/demo-board.md index ff5b4a5d..f3f77953 100644 --- a/docs/zh_CN/app/demo-board.md +++ b/docs/zh_CN/app/demo-board.md @@ -80,7 +80,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 模块参数 diff --git a/docs/zh_CN/app/flir.md b/docs/zh_CN/app/flir.md index 22f4f9a2..fc497955 100644 --- a/docs/zh_CN/app/flir.md +++ b/docs/zh_CN/app/flir.md @@ -81,7 +81,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 相关链接 diff --git a/docs/zh_CN/app/lidarbot.md b/docs/zh_CN/app/lidarbot.md index 3dbcde9a..a078f21b 100644 --- a/docs/zh_CN/app/lidarbot.md +++ b/docs/zh_CN/app/lidarbot.md @@ -108,7 +108,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 连接与配对 diff --git a/docs/zh_CN/base/iiot_dual_switch_kit_with_core.md b/docs/zh_CN/base/iiot_dual_switch_kit_with_core.md index 6d85c022..0c05f1fe 100644 --- a/docs/zh_CN/base/iiot_dual_switch_kit_with_core.md +++ b/docs/zh_CN/base/iiot_dual_switch_kit_with_core.md @@ -56,7 +56,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 案例程序 diff --git a/docs/zh_CN/hat/hat-8servos.md b/docs/zh_CN/hat/hat-8servos.md index 17407119..b485a534 100644 --- a/docs/zh_CN/hat/hat-8servos.md +++ b/docs/zh_CN/hat/hat-8servos.md @@ -51,6 +51,9 @@ + + + ## EasyLoader >EasyLoader是一个简洁快速的程序烧录器,其内置了一个产品相关的案例程序,通过简单步骤将其烧录至主控,即可进行一系列的功能验证.**(程序烧录前,请根据设备类型安装相应驱动程序. M5Core型主机[请点击此处查看CP210X驱动安装教程](zh_CN/arduino/arduino_development?id=安装串口驱动),M5StickC/V/T/ATOM系列可免驱动使用)** diff --git a/docs/zh_CN/module/comx_gsm.md b/docs/zh_CN/module/comx_gsm.md index 9e2f4af6..006ad16d 100644 --- a/docs/zh_CN/module/comx_gsm.md +++ b/docs/zh_CN/module/comx_gsm.md @@ -11,9 +11,9 @@ -!>COM GSM的RXD/TXD可以通过设置拨码开关接入的M5Stack的UART(TX(0/13/17)RX(5/15/16)),**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,在使用GSM时会产生冲突,建议使用剩余两组中的任意一组UART引脚。 +?>COM GSM的RXD/TXD可以通过设置拨码开关接入的M5Stack的UART(TX(0/13/17)RX(5/15/16)),**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,在使用GSM时会产生冲突,建议使用剩余两组中的任意一组UART引脚。 -!>右侧拨码开关对GSM模块无效,无需设置。 +?>右侧拨码开关对GSM模块无效,无需设置。 ## 产品特性 diff --git a/docs/zh_CN/module/faces_finger.md b/docs/zh_CN/module/faces_finger.md index 490ddd53..1421137d 100644 --- a/docs/zh_CN/module/faces_finger.md +++ b/docs/zh_CN/module/faces_finger.md @@ -80,7 +80,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ### 管脚映射 diff --git a/docs/zh_CN/module/faces_rfid.md b/docs/zh_CN/module/faces_rfid.md index c053e6d4..cfd768f9 100644 --- a/docs/zh_CN/module/faces_rfid.md +++ b/docs/zh_CN/module/faces_rfid.md @@ -86,7 +86,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ### 管脚映射 diff --git a/docs/zh_CN/module/goplus.md b/docs/zh_CN/module/goplus.md index e998f183..d31810ca 100644 --- a/docs/zh_CN/module/goplus.md +++ b/docs/zh_CN/module/goplus.md @@ -61,7 +61,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 原理图 diff --git a/docs/zh_CN/module/gps.md b/docs/zh_CN/module/gps.md index 587f359d..7adde545 100644 --- a/docs/zh_CN/module/gps.md +++ b/docs/zh_CN/module/gps.md @@ -22,7 +22,7 @@ M5Core与GPS模块之间使用UART通信协议,通过连接引脚**UART2 (GPIO -!>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得GPS模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 GPS 模块时,你需要将 GPS 模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. +?>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得GPS模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 GPS 模块时,你需要将 GPS 模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. ## 产品特性 @@ -92,7 +92,7 @@ M5Core与GPS模块之间使用UART通信协议,通过连接引脚**UART2 (GPIO >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 案例程序 diff --git a/docs/zh_CN/module/gsm.md b/docs/zh_CN/module/gsm.md index b672fa5c..66399325 100644 --- a/docs/zh_CN/module/gsm.md +++ b/docs/zh_CN/module/gsm.md @@ -10,7 +10,7 @@ -!>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得GSM模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 GSM 模块时,你需要将 GSM 模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. +?>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得GSM模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 GSM 模块时,你需要将 GSM 模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. ## 产品特性 @@ -95,7 +95,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 案例程序 diff --git a/docs/zh_CN/module/joystick.md b/docs/zh_CN/module/joystick.md index 9a7f537c..235199df 100644 --- a/docs/zh_CN/module/joystick.md +++ b/docs/zh_CN/module/joystick.md @@ -63,7 +63,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 管脚映射 diff --git a/docs/zh_CN/module/lego_plus.md b/docs/zh_CN/module/lego_plus.md index c762903f..3ca29932 100644 --- a/docs/zh_CN/module/lego_plus.md +++ b/docs/zh_CN/module/lego_plus.md @@ -67,7 +67,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 管脚映射 diff --git a/docs/zh_CN/module/lora.md b/docs/zh_CN/module/lora.md index f1aff7fe..4630d0cd 100644 --- a/docs/zh_CN/module/lora.md +++ b/docs/zh_CN/module/lora.md @@ -76,7 +76,7 @@ LoRa和LoRaWAN允许与不同类型的物联网(IoT)设备,进行远程连 >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 案例程序 diff --git a/docs/zh_CN/module/lorawan.md b/docs/zh_CN/module/lorawan.md index c71ad075..e56be2b6 100644 --- a/docs/zh_CN/module/lorawan.md +++ b/docs/zh_CN/module/lorawan.md @@ -100,7 +100,7 @@ LoRaWAN默认的串口配置: 波特率为9600,8位数据位,无校验位,1 >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 案例程序 diff --git a/docs/zh_CN/module/lte.md b/docs/zh_CN/module/lte.md index b22a672b..3e314b45 100644 --- a/docs/zh_CN/module/lte.md +++ b/docs/zh_CN/module/lte.md @@ -10,7 +10,7 @@ -!>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得LTE模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 LTE 模块时,你需要将 LTE 模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. +?>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得LTE模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 LTE 模块时,你需要将 LTE 模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. ## 产品特性 @@ -100,7 +100,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 案例程序 diff --git a/docs/zh_CN/module/nb-iot.md b/docs/zh_CN/module/nb-iot.md index 7c370c4f..d3c6f820 100644 --- a/docs/zh_CN/module/nb-iot.md +++ b/docs/zh_CN/module/nb-iot.md @@ -20,7 +20,7 @@ - 电源按钮长按8s关机 - GPIO26高电平模块复位 -!>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得NB-IoT模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 NB-IoT 模块时,你需要将 NB-IoT 模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. +?>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得NB-IoT模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 NB-IoT 模块时,你需要将 NB-IoT 模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. ## 产品特性 @@ -132,7 +132,7 @@ Middle East and North Africa: B8(900) and B20(800); --> >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 案例程序 diff --git a/docs/zh_CN/module/nb-iot_plus.md b/docs/zh_CN/module/nb-iot_plus.md index a41f3026..5d67a86a 100644 --- a/docs/zh_CN/module/nb-iot_plus.md +++ b/docs/zh_CN/module/nb-iot_plus.md @@ -20,7 +20,7 @@ - 电源按钮长按8s关机 - GPIO26高电平模块复位 -!>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得NB-IoT Plus模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 NB-IoT Plus模块时,你需要将 NB-IoT Plus模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. +?>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得NB-IoT Plus模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 NB-IoT Plus模块时,你需要将 NB-IoT Plus模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. ## 产品特性 diff --git a/docs/zh_CN/module/plus.md b/docs/zh_CN/module/plus.md index 4b054265..8d2669de 100644 --- a/docs/zh_CN/module/plus.md +++ b/docs/zh_CN/module/plus.md @@ -66,7 +66,7 @@ PLUS 上的PORT C 和 PORT B 的丝印画反了,使用时请注意。黑色的 >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 管脚映射 diff --git a/docs/zh_CN/module/sim800.md b/docs/zh_CN/module/sim800.md index 994b8e39..d4ca3b9e 100644 --- a/docs/zh_CN/module/sim800.md +++ b/docs/zh_CN/module/sim800.md @@ -28,7 +28,7 @@ - 状态信号:LED - 工作温度范围:-40至+ 85°C -!>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得SIM800L模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 SIM800L模块时,你需要将 SIM800L 模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. +?>**M5Stack Fire** 中的 GPIO 16 / 17 默认与PSRAM连接,这使得SIM800L模块的TXD / RXD(GPIO16,GPIO17)与其产生冲突.因此,当你使用 M5Stack Fire 去驱动 SIM800L模块时,你需要将 SIM800L 模块的 TXD 与 RXD 切断,然后通过飞线引至另一组 UART 引脚. ## 包含 @@ -76,7 +76,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 案例程序 diff --git a/docs/zh_CN/module/stepmotor.md b/docs/zh_CN/module/stepmotor.md index 997c24c7..2042b17b 100644 --- a/docs/zh_CN/module/stepmotor.md +++ b/docs/zh_CN/module/stepmotor.md @@ -71,7 +71,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 管脚映射 diff --git a/docs/zh_CN/module/usb.md b/docs/zh_CN/module/usb.md index 59eb32cc..34d9a30c 100644 --- a/docs/zh_CN/module/usb.md +++ b/docs/zh_CN/module/usb.md @@ -63,7 +63,7 @@ >2.下载软件后,双击运行应用程序,将M5设备通过数据线连接至电脑,选择端口参数,点击 **"Burn"** 即可开始烧录 -!>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) +?>3.EasyLoader烧录前需要安装有CP210X(USB驱动程序),[点击此处查看驱动安装教程](zh_CN/related_documents/M5Burner#安装串口驱动) ## 案例程序 diff --git a/docs/zh_CN/quick_start/bala/bala_quick_start.md b/docs/zh_CN/quick_start/bala/bala_quick_start.md index 3ddfdba3..58cd285e 100644 --- a/docs/zh_CN/quick_start/bala/bala_quick_start.md +++ b/docs/zh_CN/quick_start/bala/bala_quick_start.md @@ -1,6 +1,6 @@ # BALA 上手指南 {docsify-ignore-all} -!>为了使用M5Bala,需要M5Stack FIRE或M5GO(白色)。 +?>为了使用M5Bala,需要M5Stack FIRE或M5GO(白色)。 diff --git a/docs/zh_CN/quick_start/bala2/bala2_quick_start.md b/docs/zh_CN/quick_start/bala2/bala2_quick_start.md index 9a980508..74c6892b 100644 --- a/docs/zh_CN/quick_start/bala2/bala2_quick_start.md +++ b/docs/zh_CN/quick_start/bala2/bala2_quick_start.md @@ -1,6 +1,6 @@ # BALA2 上手指南 {docsify-ignore-all} -!>为了使用M5Bala2,需要M5Stack Gray。 +?>为了使用M5Bala2,需要M5Stack Gray。 diff --git a/docs/zh_CN/quick_start/m5core/m5stack_core_get_started_MicroPython.md b/docs/zh_CN/quick_start/m5core/m5stack_core_get_started_MicroPython.md index cbfced30..35bfa9be 100644 --- a/docs/zh_CN/quick_start/m5core/m5stack_core_get_started_MicroPython.md +++ b/docs/zh_CN/quick_start/m5core/m5stack_core_get_started_MicroPython.md @@ -179,7 +179,7 @@ -!>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. +?>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. >单击设备左侧电源键重启,进入菜单后快速选择Setup,进入配置页面,选择**USB mode**. diff --git a/docs/zh_CN/quick_start/m5stickc/m5stickc_quick_start_with_uiflow.md b/docs/zh_CN/quick_start/m5stickc/m5stickc_quick_start_with_uiflow.md index 81753514..56a11425 100644 --- a/docs/zh_CN/quick_start/m5stickc/m5stickc_quick_start_with_uiflow.md +++ b/docs/zh_CN/quick_start/m5stickc/m5stickc_quick_start_with_uiflow.md @@ -142,7 +142,7 @@ -!>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. +?>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. >单击设备左侧电源键重启,进入菜单后快速单击右侧按钮切换模式,选择**USB mode**. diff --git a/docs/zh_CN/quick_start/m5stickc_plus/m5stickc_plus_quick_start_with_uiflow.md b/docs/zh_CN/quick_start/m5stickc_plus/m5stickc_plus_quick_start_with_uiflow.md index 4914126f..4086b8e1 100644 --- a/docs/zh_CN/quick_start/m5stickc_plus/m5stickc_plus_quick_start_with_uiflow.md +++ b/docs/zh_CN/quick_start/m5stickc_plus/m5stickc_plus_quick_start_with_uiflow.md @@ -140,7 +140,7 @@ -!>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. +?>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. >单击设备左侧电源键重启,进入菜单后快速单击右侧按钮切换模式,选择**USB mode**. diff --git a/docs/zh_CN/related_documents/M5Burner.md b/docs/zh_CN/related_documents/M5Burner.md index 55e272aa..97561f5a 100644 --- a/docs/zh_CN/related_documents/M5Burner.md +++ b/docs/zh_CN/related_documents/M5Burner.md @@ -68,7 +68,7 @@ >3.选择好您想要烧录的固件版本,将设备通过Type-C数据线连接至电脑,选择对应COM端口与设备类型.点击"Burn"开始烧录. -!>在首次烧录时,建议点击"Erase"清除内存,在后续的固件更新时,则无需再次清除,否则将删除已保存的Wi-Fi信息,及刷新API Key. +?>在首次烧录时,建议点击"Erase"清除内存,在后续的固件更新时,则无需再次清除,否则将删除已保存的Wi-Fi信息,及刷新API Key. diff --git a/docs/zh_CN/related_documents/Setting_WIFI.md b/docs/zh_CN/related_documents/Setting_WIFI.md index 3ce58bd6..071d10c1 100644 --- a/docs/zh_CN/related_documents/Setting_WIFI.md +++ b/docs/zh_CN/related_documents/Setting_WIFI.md @@ -36,7 +36,7 @@ >3. 在配置页面中,填写想要连接的WiFi信息,点击"Configure",等待配置完成. -!>. 配置WiFi过程中.请保持手机(终端)连接M5Core的AP热点. +?>. 配置WiFi过程中.请保持手机(终端)连接M5Core的AP热点. @@ -59,7 +59,7 @@ >3. 配置完成后,M5Stick将自动重启,并进入网络编程模式.当cloud下方提示"done"时,表示已成功连接网络. 屏幕上显示的API Key将用于与[UIFlow web IDE](http://flow.m5stack.com/)配对使用. -!>. 配置WiFi过程中.请保持手机(终端)连接M5Stick的AP热点. +?>. 配置WiFi过程中.请保持手机(终端)连接M5Stick的AP热点. @@ -76,7 +76,7 @@ >3. 配置完成后,M5StickC将自动重启,并进入网络编程模式.当网络标志由红色变为绿色时,表示已成功连接网络. 屏幕上显示的API Key将用于与[UIFlow web IDE](http://flow.m5stack.com/)配对使用. -!>. 配置WiFi过程中.请保持手机(终端)连接M5StickC的AP热点. +?>. 配置WiFi过程中.请保持手机(终端)连接M5StickC的AP热点. diff --git a/docs/zh_CN/related_documents/UIFlow_Desktop_IDE.md b/docs/zh_CN/related_documents/UIFlow_Desktop_IDE.md index b079fc5b..2018867c 100644 --- a/docs/zh_CN/related_documents/UIFlow_Desktop_IDE.md +++ b/docs/zh_CN/related_documents/UIFlow_Desktop_IDE.md @@ -54,7 +54,7 @@ -!>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. +?>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. >单击设备左侧电源键重启,进入菜单后快速选择Setup,进入配置页面,选择**USB mode**. @@ -72,7 +72,7 @@ ## 附加功能 -!>UIFlow Desktop IDE除了是一个强大的程序编辑器以外,它同时还集成了**USB驱动**安装、**M5Burner**烧录工具等功能,无需另外下载其他的软件,一站式解决编程环境的部署需求. +?>UIFlow Desktop IDE除了是一个强大的程序编辑器以外,它同时还集成了**USB驱动**安装、**M5Burner**烧录工具等功能,无需另外下载其他的软件,一站式解决编程环境的部署需求. >在IDE的上方菜单栏,能够找到对应的附加功能,点击即可打开使用,关于M5Burner的使用方式,详情可以参考我们的另一篇文档 ["烧录固件"](zh_CN/related_documents/M5Burner). diff --git a/docs/zh_CN/uiflow/FACES.md b/docs/zh_CN/uiflow/FACES.md index 6500d62b..3efe9d87 100644 --- a/docs/zh_CN/uiflow/FACES.md +++ b/docs/zh_CN/uiflow/FACES.md @@ -1,3 +1,19 @@ + +
+ 目录 + +
+
+ Calculator + Encoder + FINGER + GameBoy + Joystick + KeyBoard + RFID +
+
+ ## Calculator #### 功能说明 diff --git a/docs/zh_CN/uiflow/Modules.md b/docs/zh_CN/uiflow/Modules.md index 81ba28ad..912190d7 100644 --- a/docs/zh_CN/uiflow/Modules.md +++ b/docs/zh_CN/uiflow/Modules.md @@ -1,3 +1,24 @@ + +
+ 目录 + +
+
+ LidarBOT + SetpMotor + SERVO + Bala Motor + Bala + LEGO+ + PM2.5 + BaseX + PLUS + GoPlus + GPS +
+
+ + ## LidarBOT #### 功能说明 diff --git a/docs/zh_CN/uiflow/UIFlow_Desktop_IDE.md b/docs/zh_CN/uiflow/UIFlow_Desktop_IDE.md index 7ba8092e..0162078b 100644 --- a/docs/zh_CN/uiflow/UIFlow_Desktop_IDE.md +++ b/docs/zh_CN/uiflow/UIFlow_Desktop_IDE.md @@ -54,7 +54,7 @@ -!>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. +?>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. >单击设备左侧电源键重启,进入菜单后快速选择Setup,进入配置页面,选择**USB mode**. @@ -64,7 +64,7 @@ -!>如果你使用的是M5StickC请按以下说明操作 +?>如果你使用的是M5StickC请按以下说明操作 >长按机身左侧的电源键2秒进行开机,在出现UIFlow Logo后,快速单击Home键(中心M5按键),进入配罝页面。按机身右侧按键将选项切换至Setting,按下Home键确认。按右侧按键切换选项至USB mode, 按下Home键确认,进入USB编程模式.在IDE中选择相应的COM口与设备,点击连接。 @@ -79,7 +79,7 @@ ## 附加功能 -!>UIFlow Desktop IDE除了是一个强大的程序编辑器以外,它同时还集成了**USB驱动**安装、**M5Burner**烧录工具等功能,无需另外下载其他的软件,一站式解决编程环境的部署需求. +?>UIFlow Desktop IDE除了是一个强大的程序编辑器以外,它同时还集成了**USB驱动**安装、**M5Burner**烧录工具等功能,无需另外下载其他的软件,一站式解决编程环境的部署需求. >在IDE的上方菜单栏,能够找到对应的附加功能,点击即可打开使用,关于M5Burner的使用方式,详情可以参考我们的另一篇文档 ["烧录固件"](zh_CN/related_documents/M5Burner). diff --git a/docs/zh_CN/uiflow/Units.md b/docs/zh_CN/uiflow/Units.md index f1f528c5..cf495a11 100644 --- a/docs/zh_CN/uiflow/Units.md +++ b/docs/zh_CN/uiflow/Units.md @@ -259,7 +259,7 @@ > -## REALY +## RELAY #### 功能说明 diff --git a/docs/zh_CN/uiflow/advanced.md b/docs/zh_CN/uiflow/advanced.md index d214ab9a..48b392d6 100644 --- a/docs/zh_CN/uiflow/advanced.md +++ b/docs/zh_CN/uiflow/advanced.md @@ -1,40 +1,30 @@ -**[远程控制](#远程控制)** - -**[ESP-NOW](#ESP-NOW)** - -**[MQTT通讯](#MQTT通讯)** - -**[WiFi](#WiFi)** - -**[P2P](#P2P)** - -**[Easy IO](#Easy-IO)** - -**[PWM](#PWM)** - -**[ADC/DAC](#ADC/DAC)** - -**[UART](#UART)** - -**[I2C](#I2C)** - -**[Execute](#Execute)** - -**[SDCard](#SDCard)** - -**[Http](#Http)** - -**[EEPROM](#EEPROM)** - -**[Modbus Master](#Modbus-Master)** - -**[Modbus Slave](#Modbus-Slave)** - -**[BLE UART](#BLE-UART仅支持M5Stack-Fire)** - -**[Blynk](#Blynk仅支持M5Stack-Fire)** - -**[Echo STT](#Echo-STT)** + +
+ 目录 + +
+
+ 远程控制 + ESP-NOW + MQTT通讯 + WiFi + P2P + Easy-IO + PWM + ADC/DAC + UART + I2C + Execute + SDCard + Http + EEPROM + Modbus-Master + Modbus-Slave + BLE UART + Blynk + Echo STT +
+
## 远程控制 @@ -66,7 +56,7 @@ >屏幕显示网页端二维码,扫码进入控制页面,通过按键和滑动条控制LED Bar,同时显示ENV模块的温度. -> +> ## ESP-NOW @@ -75,7 +65,7 @@ >ESP-NOW 是一种短程低功耗通信协议,可以使多个设备在没有或不使用 Wi-Fi 的情况下进行通信。这种协议类似常见于无线鼠标中的低功耗 2.4GHz 无线连接——设备在进行通信之前要进行配对。配对之后,设备之间的连接是持续的、点对点的,并且不需要握手协议. -> +> * __Get mac addr__ 获取本机的mac地址. diff --git a/docs/zh_CN/uiflow/blockly_custom.md b/docs/zh_CN/uiflow/blockly_custom.md index 4b94bf17..371c0cd6 100644 --- a/docs/zh_CN/uiflow/blockly_custom.md +++ b/docs/zh_CN/uiflow/blockly_custom.md @@ -1,14 +1,17 @@ ## UIFlow 程序块定制{docsify-ignore-all} - -1. [创建程序块](#创建程序块) - -2. [程序块代码-传参](#程序块代码-传参) - -3. [程序块保存-修改](#程序块保存-修改) - -4. [使用程序块](#使用程序块) - + +
+ 目录 + +
+
+ 创建程序块 + 程序块代码-传参 + 程序块保存-修改 + 使用程序块 +
+
## 创建程序块 diff --git a/docs/zh_CN/uiflow/data_structure.md b/docs/zh_CN/uiflow/data_structure.md index 19dd558f..d414add5 100644 --- a/docs/zh_CN/uiflow/data_structure.md +++ b/docs/zh_CN/uiflow/data_structure.md @@ -1,3 +1,20 @@ + +
+ 目录 + +
+
+ 引入变量 + 基本运算 + 随机数 + 字典 + 引入数组 + JSON字符串 + 字符处理 +
+
+ + ## 引入变量 #### 什么是变量? diff --git a/docs/zh_CN/uiflow/hardware.md b/docs/zh_CN/uiflow/hardware.md index 9fc1ed17..dd3518d5 100644 --- a/docs/zh_CN/uiflow/hardware.md +++ b/docs/zh_CN/uiflow/hardware.md @@ -1,3 +1,18 @@ + + +
+ 目录 + +
+
+ RGB Bar + Speaker + IMU + 电源管理 +
+
+ + ## RGB #### 功能说明 diff --git a/docs/zh_CN/uiflow/introduction.md b/docs/zh_CN/uiflow/introduction.md index bd467a51..6aa49c99 100644 --- a/docs/zh_CN/uiflow/introduction.md +++ b/docs/zh_CN/uiflow/introduction.md @@ -192,7 +192,7 @@ -!>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. +?>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. >单击设备左侧电源键重启,进入菜单后快速选择Setup,进入配置页面,选择**USB mode**. @@ -202,13 +202,13 @@ -!>如果你使用的是M5StickC请按以下说明操作 +?>如果你使用的是M5StickC请按以下说明操作 >长按机身左侧的电源键2秒进行开机,在出现UIFlow Logo后,快速单击Home键(中心M5按键),进入配罝页面。按机身右侧按键将选项切换至Setting,按下Home键确认。按右侧按键切换选项至USB mode,按下Home键确认,进入USB编程模式.在IDE中选择相应的COM口与设备,点击连接。 -!>如果你使用的是Atom请按以下说明操作 +?>如果你使用的是Atom请按以下说明操作 >在上电同时(或重启时)按住中间按键不要松开,菜单模式以呼吸灯形式变色,等到灯光变换为蓝色呼吸灯时松开,即进入USB模式(更多信息参考https://docs.m5stack.com/#/zh_CN/quick_start/atom/atom_quick_start) diff --git a/docs/zh_CN/uiflow/introduction_atom.md b/docs/zh_CN/uiflow/introduction_atom.md index 67c75160..51666741 100644 --- a/docs/zh_CN/uiflow/introduction_atom.md +++ b/docs/zh_CN/uiflow/introduction_atom.md @@ -94,7 +94,7 @@ -!>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. +?>使用UIFlow Desktop IDE需要M5设备搭载UIFlow固件且进入**USB编程模式**. >单击设备左侧电源键重启,进入菜单后快速选择Setup,进入配置页面,选择**USB mode**. @@ -104,7 +104,7 @@ 使用ATOM菜单的USB模式进行连接 +?>使用ATOM菜单的USB模式进行连接 >在上电同时(或重启时)按住中间按键不要松开,菜单模式以呼吸灯形式变色,等到灯光变换为蓝色呼吸灯时松开,即进入USB模式(更多信息参考https://docs.m5stack.com/#/zh_CN/quick_start/atom/atom_quick_start) diff --git a/docs/zh_CN/uiflow/logic.md b/docs/zh_CN/uiflow/logic.md index 7d232f3a..02722c97 100644 --- a/docs/zh_CN/uiflow/logic.md +++ b/docs/zh_CN/uiflow/logic.md @@ -1,3 +1,18 @@ + +
+ 目录 + +
+
+ if判断 + 逻辑关系式 + 逻辑运算 + 条件循环 + 数据迭代 + 函数 +
+
+ ## if判断 #### 功能说明 @@ -104,7 +119,7 @@ > -## 函数功能 +## 函数 #### 什么是函数? diff --git a/docs/zh_CN/uiflow/uiflow_home_page.md b/docs/zh_CN/uiflow/uiflow_home_page.md index 85ae28a3..276dc290 100644 --- a/docs/zh_CN/uiflow/uiflow_home_page.md +++ b/docs/zh_CN/uiflow/uiflow_home_page.md @@ -42,8 +42,8 @@ const hardware = { 'item':{ 'RGB Bar':'#/zh_CN/uiflow/hardware?id=rgb', 'Speaker':'#/zh_CN/uiflow/hardware?id=speaker', - 'IMU':'#/zh_CN/uiflow/hardware?id=imu-internal-measurement-unit', - 'POWER':'#/zh_CN/uiflow/hardware?id=power-m5stack' + 'IMU':'#/zh_CN/uiflow/hardware?id=imu', + 'POWER':'#/zh_CN/uiflow/hardware?id=电源管理m5stack' } }; @@ -75,11 +75,12 @@ const datastructure = { const logic = { 'title':"逻辑判断", 'item':{ - 'if':'#/zh_CN/uiflow/logic?id=if-condition', - 'Logic Operator':'#/zh_CN/uiflow/logic?id=logic-operator', - 'Repeat':'#/zh_CN/uiflow/logic?id=conditional-loop', - 'Iteration':'#/zh_CN/uiflow/logic?id=data-iteration', - 'Functions':'#/zh_CN/uiflow/logic?id=functions' + 'if':'#/zh_CN/uiflow/logic?id=if判断', + 'Logic':'#/zh_CN/uiflow/logic?id=逻辑关系式', + 'Logic Operator':'#/zh_CN/uiflow/logic?id=逻辑运算', + 'Repeat':'#/zh_CN/uiflow/logic?id=条件循环', + 'Iteration':'#/zh_CN/uiflow/logic?id=数据迭代', + 'Functions':'#/zh_CN/uiflow/logic?id=函数' } }; @@ -122,7 +123,7 @@ const unit = { 'BUTTON':'#/zh_CN/uiflow/Units?id=button', 'Dual-BUTTON':'#/zh_CN/uiflow/Units?id=dual-button', 'RGB':'#/zh_CN/uiflow/Units?id=rgb', - 'REALY':'#/zh_CN/uiflow/Units?id=realy', + 'RELAY':'#/zh_CN/uiflow/Units?id=relay', 'ADC':'#/zh_CN/uiflow/Units?id=adc', 'DAC':'#/zh_CN/uiflow/Units?id=dac', 'NCIR':'#/zh_CN/uiflow/Units?id=ncir', diff --git a/docs/zh_CN/unit/laser-tx.md b/docs/zh_CN/unit/laser-tx.md index e4ea77e7..bda19a39 100644 --- a/docs/zh_CN/unit/laser-tx.md +++ b/docs/zh_CN/unit/laser-tx.md @@ -10,7 +10,7 @@ 激光通信设备通过大气的无线连接。 除了光束通过自由空间传输外,它们的工作方式类似于光纤链路。 虽然发射器和接收器必须要求视距条件,但它们的好处是不需要广播权和埋地电缆。 因其小巧,低功率并且不需要任何无线电干扰研究的特点,激光通信系统可以很容易地部署到各个位置. 该Unit使用的端口类型为 PORTB. -!>警告: 激光会对人体造成伤害,因此在使用该产品时,请勿将其对准人体,防止激光光束进入眼睛,造成伤害. +?>警告: 激光会对人体造成伤害,因此在使用该产品时,请勿将其对准人体,防止激光光束进入眼睛,造成伤害. ## 产品特性 From bd9c6b071416092573e3bc34f9b9340c83988924 Mon Sep 17 00:00:00 2001 From: Sean <1026025056@qq.com> Date: Thu, 6 Aug 2020 10:30:15 +0800 Subject: [PATCH 5/7] update ATOM matrix brightness note --- docs/en/core/atom_matrix.md | 2 +- docs/zh_CN/core/atom_matrix.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/core/atom_matrix.md b/docs/en/core/atom_matrix.md index 0497adfd..851af22c 100644 --- a/docs/en/core/atom_matrix.md +++ b/docs/en/core/atom_matrix.md @@ -8,7 +8,7 @@ **ATOM Matrix** , which has a size of only 24 * 24mm, is the most compact development board in the M5Stack development kit series. It provides more GPIO pins and is very suitable for handy and miniature embedded device development. The main control adopts the ESP32-PICO-D4 chip, which comes integrated with Wi-Fi and Bluetooth technologies and has 4MB of integrated SPI flash memory. The Atom board provides an Infra-Red LED along with the 5 * 5 RGB LED matrix on the panel, a built-in IMU sensor (MPU6886), and a HY2.0 interface. A general purpose programmable button is provied below the RGB Led matrix to enable users to add input support to their various projects. The on-board USB interface (Type-C) enables rapid program uploading and execution. One M2 screw hole is provided on the back for mounting the board. -NOTE: We have set the brightness of RGB LED limited to 20. Pls DO NOT set it higher to avoid damaging the LED and acrylic screen. +Note: When using FastLED lib, the recommended brightness of RGB LED is 20. Please do not set it to a high brightness value to avoid damage to the LED and acrylic screen. (In ATOM lib, we have mapped its appropriate brightness range to 0~100) ## Product Features diff --git a/docs/zh_CN/core/atom_matrix.md b/docs/zh_CN/core/atom_matrix.md index 25b080a1..15d324ce 100644 --- a/docs/zh_CN/core/atom_matrix.md +++ b/docs/zh_CN/core/atom_matrix.md @@ -10,7 +10,7 @@ **ATOM Matrix** 是M5Stack开发套件系列中一款非常小巧的开发板,其大小只有24 * 24mm,提供更多GPIO供用户自定义,非常适合做嵌入式的智能硬件。主控采用ESP32-PICO-D4方案,集成Wi-Fi和蓝牙模块,拥有4MB的SPI闪存,板载Infra-Red,面板上有5*5 RGB Led矩阵、内置IMU姿态传感器(MPU6886),在Neo Led矩阵下方隐藏一颗可编程按键,板载Type-C接口可以快速实现程序上传下载,此外还提供一个HY2.0 4P接口用于连接外设。背面具有一个M2螺丝孔用于固定。 -注意:RGB LED的亮度限制为20,因此请不要将其设置过高的亮度数值,以免损坏LED和亚克力屏幕。 +注意:在使用FastLED lib时RGB LED的建议亮度值为20,请不要将其设置过高的亮度数值,以免损坏LED和亚克力屏幕。(在ATOM lib中,我们已将其合适的亮度范围映射为0~100) ## 产品特性 From 9b418388dfd96dcb4b8d53141409094d5c90d942 Mon Sep 17 00:00:00 2001 From: Gitshaoxiang <1026025056@qq.com> Date: Thu, 6 Aug 2020 14:32:55 +0800 Subject: [PATCH 6/7] fix some link --- docs/en/uiflow/Modules.md | 21 ++++++++++++ docs/en/uiflow/Units.md | 38 ++++++++++++++++++++++ docs/en/uiflow/advanced.md | 4 +-- docs/en/uiflow/data_structure.md | 4 +-- docs/en/uiflow/hardware.md | 2 +- docs/en/uiflow/logic.md | 4 +-- docs/en/uiflow/ui_simulator.md | 23 +++++++++----- docs/en/uiflow/uiflow_home_page.md | 10 +++--- docs/en/unit/hex.md | 2 +- docs/image/Modules/Bala Motor.png | Bin 68153 -> 0 bytes docs/image/Modules/Bala Motor.webp | Bin 0 -> 26754 bytes docs/zh_CN/uiflow/Modules.md | 2 +- docs/zh_CN/uiflow/Units.md | 38 ++++++++++++++++++++++ docs/zh_CN/uiflow/advanced.md | 25 ++++++++------- docs/zh_CN/uiflow/blockly_custom.md | 17 +++++----- docs/zh_CN/uiflow/data_structure.md | 29 +++++++++-------- docs/zh_CN/uiflow/hardware.md | 7 ++-- docs/zh_CN/uiflow/logic.md | 24 +++++++------- docs/zh_CN/uiflow/ui_simulator.md | 33 +++++++++++-------- docs/zh_CN/uiflow/uiflow_home_page.md | 44 ++++++++++++++------------ docs/zh_CN/unit/hex.md | 2 +- 21 files changed, 222 insertions(+), 107 deletions(-) delete mode 100644 docs/image/Modules/Bala Motor.png create mode 100644 docs/image/Modules/Bala Motor.webp diff --git a/docs/en/uiflow/Modules.md b/docs/en/uiflow/Modules.md index b5cb00ed..99eec869 100644 --- a/docs/en/uiflow/Modules.md +++ b/docs/en/uiflow/Modules.md @@ -1,3 +1,24 @@ + + +
+ Contents + +
+
+ LidarBOT + SetpMotor + SERVO + Bala Motor + Bala + LEGO+ + PM2.5 + BaseX + PLUS + GoPlus + GPS +
+
+ ## LidarBOT #### Feature introduction diff --git a/docs/en/uiflow/Units.md b/docs/en/uiflow/Units.md index 8fbae41a..9f64f31d 100644 --- a/docs/en/uiflow/Units.md +++ b/docs/en/uiflow/Units.md @@ -1,3 +1,41 @@ + +
+ 目录 + +
+
+ ENV + PIR + RGB LED + Joystick + MAKEY + SERVO + WEIGHT + TRACE + BUTTON + Dual-BUTTON + RGB + RELAY + ADC + DAC + NCIR + IR + EXT.IO + ANGLE + LIGHT + EARTH + ToF + COLOR + RFID + FINGER + CardKB + Pb.HUB + Pa.HUB + THERMAL + GPS +
+
+ ## ENV #### Feature Introduction diff --git a/docs/en/uiflow/advanced.md b/docs/en/uiflow/advanced.md index 7c8b04de..eddaea03 100644 --- a/docs/en/uiflow/advanced.md +++ b/docs/en/uiflow/advanced.md @@ -6,7 +6,7 @@
Remote ESP-NOW - MQTT communication + MQTT WiFi P2P Easy-IO @@ -292,7 +292,7 @@ Establish a point-to-point connection,Read the Message from other M5Stacks > -## Easy I-O +## Easy IO #### Function Description diff --git a/docs/en/uiflow/data_structure.md b/docs/en/uiflow/data_structure.md index bb49e0a8..ec42c29a 100644 --- a/docs/en/uiflow/data_structure.md +++ b/docs/en/uiflow/data_structure.md @@ -15,7 +15,7 @@
-# variables +## variables #### What is a variable? @@ -35,7 +35,7 @@ -# operation +## operation #### Function Description diff --git a/docs/en/uiflow/hardware.md b/docs/en/uiflow/hardware.md index 2c7ec05d..d3a1e011 100644 --- a/docs/en/uiflow/hardware.md +++ b/docs/en/uiflow/hardware.md @@ -108,7 +108,7 @@ Get the Angular velocity from z axis > -# POWER (M5Stack) +## POWER (M5Stack) #### Feature introduction diff --git a/docs/en/uiflow/logic.md b/docs/en/uiflow/logic.md index 51533e3e..c59b9546 100644 --- a/docs/en/uiflow/logic.md +++ b/docs/en/uiflow/logic.md @@ -7,7 +7,7 @@ if Logic logic operation - loop + Repeat iteration Functions @@ -77,7 +77,7 @@ Invert the logical result of an expression, that is, notTrue=False, notFalse=Tru > -## loop +## Repeat #### Function Description diff --git a/docs/en/uiflow/ui_simulator.md b/docs/en/uiflow/ui_simulator.md index 5265d9eb..5d7fe5cf 100644 --- a/docs/en/uiflow/ui_simulator.md +++ b/docs/en/uiflow/ui_simulator.md @@ -1,3 +1,18 @@ + +
+ Contents + +
+
+ UI Elements + Unicode + Emoji + Graphic + Displaying images + screen +
+
+ ## UI Elements #### Feature introduction @@ -290,11 +305,3 @@ Rotating screen with mode 0-3,default value is 1, if you change value, the scre * __Set screen brightness__ Set screen brightness - - - \ No newline at end of file diff --git a/docs/en/uiflow/uiflow_home_page.md b/docs/en/uiflow/uiflow_home_page.md index 587a0db4..e5a43bcd 100644 --- a/docs/en/uiflow/uiflow_home_page.md +++ b/docs/en/uiflow/uiflow_home_page.md @@ -43,7 +43,7 @@ const hardware = { 'item':{ 'RGB Bar':'#/en/uiflow/hardware?id=rgb', 'Speaker':'#/en/uiflow/hardware?id=speaker', - 'IMU':'#/en/uiflow/hardware?id=imu-internal-measurement-unit', + 'IMU':'#/en/uiflow/hardware?id=imu', 'POWER':'#/en/uiflow/hardware?id=power-m5stack' } }; @@ -54,6 +54,8 @@ const uielements = { 'item':{ 'UI Elements':'#/en/uiflow/ui_simulator?id=ui-elements', 'Unicode':'#/en/uiflow/ui_simulator?id=unicode', + 'Emoji':'#/en/uiflow/ui_simulator?id=emoji', + 'Graphic':'#/en/uiflow/ui_simulator?id=graphic', 'Image':'#/en/uiflow/ui_simulator?id=displaying-images', 'Screen':'#/en/uiflow/ui_simulator?id=screen' } @@ -79,7 +81,7 @@ const logic = { 'if':'#/en/uiflow/logic?id=if', 'Logic':'#/en/uiflow/logic?id=logic', 'Logic Operator':'#/en/uiflow/logic?id=logic-operation', - 'Repeat':'#/en/uiflow/logic?id=loop', + 'Repeat':'#/en/uiflow/logic?id=repeat', 'Iteration':'#/en/uiflow/logic?id=iteration', 'Functions':'#/en/uiflow/logic?id=functions' } @@ -93,14 +95,14 @@ const advanced = { 'MQTT':'#/en/uiflow/advanced?id=mqtt-communication', 'WiFi':'#/en/uiflow/advanced?id=wifi', 'P2P':'#/en/uiflow/advanced?id=p2p', - 'Easy I/O':'#/en/uiflow/advanced?id=easy-io', + 'Easy IO':'#/en/uiflow/advanced?id=easy-io', 'PIN':'#/en/uiflow/advanced?id=pin', 'PWM':'#/en/uiflow/advanced?id=pwm', 'ADC':'#/en/uiflow/advanced?id=adc', 'DAC':'#/en/uiflow/advanced?id=dac', 'UART':'#/en/uiflow/advanced?id=uart', 'I2C':'#/en/uiflow/advanced?id=i2c', - 'Excute':'#/en/uiflow/advanced?id=excute', + 'Execute':'#/en/uiflow/advanced?id=execute', 'SDCard':'#/en/uiflow/advanced?id=sdcard', 'Http':'#/en/uiflow/advanced?id=http', 'Modbus':'#/en/uiflow/advanced?id=modbus-master', diff --git a/docs/en/unit/hex.md b/docs/en/unit/hex.md index 6c20c5c2..023e8fb5 100644 --- a/docs/en/unit/hex.md +++ b/docs/en/unit/hex.md @@ -31,7 +31,7 @@ This is how LEDs layout in the panel. Pay attention to the sequence in your code RGB LED - WS2812 x 37 + SK6812 x 37 net weight diff --git a/docs/image/Modules/Bala Motor.png b/docs/image/Modules/Bala Motor.png deleted file mode 100644 index cbedd36ba48388304a42dd1106c7fe8ee0d4a8df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68153 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 W`Bjf-{T>De1_n=8KbLh*2~7Y_su>Fa diff --git a/docs/image/Modules/Bala Motor.webp b/docs/image/Modules/Bala Motor.webp new file mode 100644 index 0000000000000000000000000000000000000000..df0e8794948a8df1b189457e9fcdaeeab604e9db GIT binary patch literal 26754 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 literal 0 HcmV?d00001 diff --git a/docs/zh_CN/uiflow/Modules.md b/docs/zh_CN/uiflow/Modules.md index 912190d7..90113509 100644 --- a/docs/zh_CN/uiflow/Modules.md +++ b/docs/zh_CN/uiflow/Modules.md @@ -10,7 +10,7 @@ Bala Motor Bala LEGO+ - PM2.5 + PM2.5 BaseX PLUS GoPlus diff --git a/docs/zh_CN/uiflow/Units.md b/docs/zh_CN/uiflow/Units.md index cf495a11..bf2928c0 100644 --- a/docs/zh_CN/uiflow/Units.md +++ b/docs/zh_CN/uiflow/Units.md @@ -1,3 +1,41 @@ + +
+ 目录 + +
+
+ ENV + PIR + RGB LED + Joystick + MAKEY + SERVO + WEIGHT + TRACE + BUTTON + Dual-BUTTON + RGB + RELAY + ADC + DAC + NCIR + IR + EXT.IO + ANGLE + LIGHT + EARTH + ToF + COLOR + RFID + FINGER + CardKB + Pb.HUB + Pa.HUB + THERMAL + GPS +
+
+ ## ENV #### 功能说明 diff --git a/docs/zh_CN/uiflow/advanced.md b/docs/zh_CN/uiflow/advanced.md index 48b392d6..bfa414bd 100644 --- a/docs/zh_CN/uiflow/advanced.md +++ b/docs/zh_CN/uiflow/advanced.md @@ -4,14 +4,15 @@
- 远程控制 + Remote ESP-NOW - MQTT通讯 + MQTT communication WiFi P2P Easy-IO PWM - ADC/DAC + ADC + DAC UART I2C Execute @@ -20,13 +21,13 @@ EEPROM Modbus-Master Modbus-Slave - BLE UART - Blynk + BLE UART + Blynk Echo STT
-## 远程控制 +## Remote #### 功能说明 @@ -108,7 +109,7 @@ __注意:创建的变量名称不允许与形参名称一致,即不允许使 >完成程序编辑,分别运行接收端与发射端程序,即可实现ESP-NOW短程无线通信. -## MQTT通讯 +## MQTT communication #### 什么是MQTT? @@ -127,7 +128,7 @@ __注意:创建的变量名称不允许与形参名称一致,即不允许使 > -## MQTT服务器 +## MQTT server * __选择MQTT服务__ @@ -786,11 +787,11 @@ wifi重新连接 > -## BLE UART(仅支持M5Stack Fire) +## BLE UART(support M5Stack Fire only) #### 功能说明 ->建立蓝牙连接,开启蓝牙透传服务 +>建立蓝牙连接,开启蓝牙透传服务(仅支持M5Stack Fire) > @@ -815,9 +816,9 @@ wifi重新连接 > -## Blynk(仅支持M5Stack Fire) +## Blynk(support M5Stack Fire only) ->与Blynk服务器连接,使用BLE连接Blynk App,实现手机端控制M5Stack Fire +>与Blynk服务器连接,使用BLE连接Blynk App,实现手机端控制M5Stack Fire (仅支持M5Stack Fire) > diff --git a/docs/zh_CN/uiflow/blockly_custom.md b/docs/zh_CN/uiflow/blockly_custom.md index 371c0cd6..a1b7bd54 100644 --- a/docs/zh_CN/uiflow/blockly_custom.md +++ b/docs/zh_CN/uiflow/blockly_custom.md @@ -6,15 +6,14 @@
- 创建程序块 - 程序块代码-传参 - 程序块保存-修改 - 使用程序块 + 创建程序块 + 程序块代码-传参 + 程序块保存-修改 + 使用程序块
-## 创建程序块 - +## Create block 点击程序块列表中的`Custom`选项 > `Create` ,创建一个自定义程序块 @@ -36,7 +35,7 @@ -## 程序块代码-传参 +## Code-Parameter 点击`Parameter`下方的`Add`选项,添加一条程序属性,输入程序块所显示的名称,以及选择属性类型,在`Block Code`选项框中输入自定义程序块所包含的代码. @@ -51,7 +50,7 @@ -## 程序块保存-修改 +## Save and Changes 完成程序编辑后,点击`Download`进行保存 @@ -60,7 +59,7 @@ -## 使用程序块 +## Using program block 点击程序块列表中的`Custom`选项 > `Open` ,打开一个自定义程序块 diff --git a/docs/zh_CN/uiflow/data_structure.md b/docs/zh_CN/uiflow/data_structure.md index d414add5..b7357968 100644 --- a/docs/zh_CN/uiflow/data_structure.md +++ b/docs/zh_CN/uiflow/data_structure.md @@ -1,21 +1,22 @@ +
目录
- 引入变量 - 基本运算 - 随机数 - 字典 - 引入数组 - JSON字符串 - 字符处理 + 变量 + 基本运算 + 随机数 + 字典 + 数组 + JSON + TEXT
-## 引入变量 +## variables #### 什么是变量? @@ -33,7 +34,7 @@ > -## 基本运算 +## operation #### 功能说明 @@ -76,7 +77,7 @@ > -## 随机数 +## random #### 功能说明 @@ -98,7 +99,7 @@ > -## 字典 +## map #### 功能说明 @@ -133,7 +134,7 @@ > -## 引入数组 +## array #### 功能说明 >如果说变量是一个容器,那么数组就是由很多个容器组成的一个集合体,我们可以对数组里的任何一个变量进行赋值,获取 @@ -168,7 +169,7 @@ > -## JSON字符串 +## JSON #### 功能说明 @@ -189,7 +190,7 @@ > -## 文本 +## TEXT #### 功能描述 diff --git a/docs/zh_CN/uiflow/hardware.md b/docs/zh_CN/uiflow/hardware.md index dd3518d5..0a20befb 100644 --- a/docs/zh_CN/uiflow/hardware.md +++ b/docs/zh_CN/uiflow/hardware.md @@ -1,4 +1,3 @@ -
目录 @@ -8,7 +7,7 @@ RGB Bar Speaker IMU - 电源管理 + POWER
@@ -107,7 +106,7 @@ > -## 电源管理(M5Stack) +## POWER (M5Stack) #### 功能说明 @@ -136,7 +135,7 @@ > -## 电源管理(M5StickC) +## POWER (M5StickC) #### 功能说明 diff --git a/docs/zh_CN/uiflow/logic.md b/docs/zh_CN/uiflow/logic.md index 02722c97..0c209e5b 100644 --- a/docs/zh_CN/uiflow/logic.md +++ b/docs/zh_CN/uiflow/logic.md @@ -4,16 +4,16 @@
- if判断 - 逻辑关系式 - 逻辑运算 - 条件循环 - 数据迭代 - 函数 + if判断 + 逻辑关系式 + 逻辑运算 + 条件循环 + 数据迭代 + 函数
-## if判断 +## if #### 功能说明 @@ -38,7 +38,7 @@ > -## 逻辑关系式 +## Logic #### 功能说明 @@ -52,7 +52,7 @@ > -## 逻辑运算 +## logic operation #### 功能说明 @@ -76,7 +76,7 @@ > -## 条件循环 +## Repeat #### 功能说明 @@ -96,7 +96,7 @@ > -## 数据迭代 +## iteration #### 功能说明 @@ -119,7 +119,7 @@ > -## 函数 +## Functions #### 什么是函数? diff --git a/docs/zh_CN/uiflow/ui_simulator.md b/docs/zh_CN/uiflow/ui_simulator.md index d8396f8b..ebe112cc 100644 --- a/docs/zh_CN/uiflow/ui_simulator.md +++ b/docs/zh_CN/uiflow/ui_simulator.md @@ -1,4 +1,19 @@ -## UI元素 + +
+ 目录 + +
+
+ UI元素 + Unicode + Emoji + Graphic + 图像显示 + 屏幕控制 +
+
+ +## UI Elements #### 功能说明 @@ -189,7 +204,7 @@ https://unicode-table.com/en/blocks/miscellaneous-technical/">点击查看详情 > -## Graphic绘图 +## Graphic #### 功能说明 @@ -220,6 +235,7 @@ https://unicode-table.com/en/blocks/miscellaneous-technical/">点击查看详情 绘制矩形 #### 注意 + >M5GO的屏幕分辨率为320X240 @@ -230,7 +246,7 @@ https://unicode-table.com/en/blocks/miscellaneous-technical/">点击查看详情 > -## image图片显示 +## Displaying images #### 功能说明 @@ -255,7 +271,7 @@ https://unicode-table.com/en/blocks/miscellaneous-technical/">点击查看详情 > -## 屏幕 +## SCREEN #### 功能说明 @@ -275,12 +291,3 @@ https://unicode-table.com/en/blocks/miscellaneous-technical/">点击查看详情 * __Set screen brightness__ 设置屏幕亮度 - - - - \ No newline at end of file diff --git a/docs/zh_CN/uiflow/uiflow_home_page.md b/docs/zh_CN/uiflow/uiflow_home_page.md index 276dc290..f83ff566 100644 --- a/docs/zh_CN/uiflow/uiflow_home_page.md +++ b/docs/zh_CN/uiflow/uiflow_home_page.md @@ -29,11 +29,11 @@ const quickstart = { 'title':"快速上手", 'item':{ - 'BASIC / M5GO / FIRE / FACES':'#/zh_CN/quick_start/m5core/m5stack_core_get_started_MicroPython', - 'M5StickC':'#/zh_CN/quick_start/m5stickc/m5stickc_quick_start', - 'M5Stick':'#/zh_CN/quick_start/m5stick/m5stick_quick_start_with_uiflow', - 'ATOM Echo':'#/zh_CN/quick_start/atom/atom_echo_quick_start', - 'ATOM Lite / Matrix':'#/zh_CN/quick_start/atom/atom_quick_start_uiflow' + 'BASIC / M5GO / FIRE / FACES':'#/zh_CN//quick_start/m5core/m5stack_core_get_started_MicroPython', + 'M5StickC':'#/zh_CN//quick_start/m5stickc/m5stickc_quick_start', + 'M5Stick':'#/zh_CN//quick_start/m5stick/m5stick_quick_start_with_uiflow', + 'ATOM Echo':'#/zh_CN//quick_start/atom/atom_echo_quick_start', + 'ATOM Lite / Matrix':'#/zh_CN//quick_start/atom/atom_quick_start_uiflow' } }; @@ -43,7 +43,7 @@ const hardware = { 'RGB Bar':'#/zh_CN/uiflow/hardware?id=rgb', 'Speaker':'#/zh_CN/uiflow/hardware?id=speaker', 'IMU':'#/zh_CN/uiflow/hardware?id=imu', - 'POWER':'#/zh_CN/uiflow/hardware?id=电源管理m5stack' + 'POWER':'#/zh_CN/uiflow/hardware?id=power-m5stack' } }; @@ -53,6 +53,8 @@ const uielements = { 'item':{ 'UI Elements':'#/zh_CN/uiflow/ui_simulator?id=ui-elements', 'Unicode':'#/zh_CN/uiflow/ui_simulator?id=unicode', + 'Emoji':'#/en/uiflow/ui_simulator?id=emoji', + 'Graphic':'#/en/uiflow/ui_simulator?id=graphic', 'Image':'#/zh_CN/uiflow/ui_simulator?id=displaying-images', 'Screen':'#/zh_CN/uiflow/ui_simulator?id=screen' } @@ -62,25 +64,25 @@ const uielements = { const datastructure = { 'title':"数据类型", 'item':{ - 'variables':'#/zh_CN/uiflow/data_structure?id=introducing-variables', - 'Basic operation':'#/zh_CN/uiflow/data_structure?id=basic-operation', - 'Random':'#/zh_CN/uiflow/data_structure?id=random-number', - 'Array':'#/zh_CN/uiflow/data_structure?id=introducing-an-array', - 'Map':'#/zh_CN/uiflow/data_structure?id=introducing-a-map', - 'JSON':'#/zh_CN/uiflow/data_structure?id=introducing-json', - 'text':'#/zh_CN/uiflow/data_structure?id=introducing-text' + 'variables':'#/zh_CN/uiflow/data_structure?id=variables', + 'Basic operation':'#/zh_CN/uiflow/data_structure?id=operation', + 'Random':'#/zh_CN/uiflow/data_structure?id=random', + 'Array':'#/zh_CN/uiflow/data_structure?id=array', + 'Map':'#/zh_CN/uiflow/data_structure?id=map', + 'JSON':'#/zh_CN/uiflow/data_structure?id=json', + 'text':'#/zh_CN/uiflow/data_structure?id=text' } }; const logic = { 'title':"逻辑判断", 'item':{ - 'if':'#/zh_CN/uiflow/logic?id=if判断', - 'Logic':'#/zh_CN/uiflow/logic?id=逻辑关系式', - 'Logic Operator':'#/zh_CN/uiflow/logic?id=逻辑运算', - 'Repeat':'#/zh_CN/uiflow/logic?id=条件循环', - 'Iteration':'#/zh_CN/uiflow/logic?id=数据迭代', - 'Functions':'#/zh_CN/uiflow/logic?id=函数' + 'if':'#/zh_CN/uiflow/logic?id=if', + 'Logic':'#/zh_CN/uiflow/logic?id=logic', + 'Logic Operator':'#/zh_CN/uiflow/logic?id=logic-operation', + 'Repeat':'#/zh_CN/uiflow/logic?id=repeat', + 'Iteration':'#/zh_CN/uiflow/logic?id=iteration', + 'Functions':'#/zh_CN/uiflow/logic?id=functions' } }; @@ -92,14 +94,14 @@ const advanced = { 'MQTT':'#/zh_CN/uiflow/advanced?id=mqtt-communication', 'WiFi':'#/zh_CN/uiflow/advanced?id=wifi', 'P2P':'#/zh_CN/uiflow/advanced?id=p2p', - 'Easy I/O':'#/zh_CN/uiflow/advanced?id=easy-i%2fo', + 'Easy IO':'#/zh_CN/uiflow/advanced?id=easy-io', 'PIN':'#/zh_CN/uiflow/advanced?id=pin', 'PWM':'#/zh_CN/uiflow/advanced?id=pwm', 'ADC':'#/zh_CN/uiflow/advanced?id=adc', 'DAC':'#/zh_CN/uiflow/advanced?id=dac', 'UART':'#/zh_CN/uiflow/advanced?id=uart', 'I2C':'#/zh_CN/uiflow/advanced?id=i2c', - 'Excute':'#/zh_CN/uiflow/advanced?id=excute', + 'Execute':'#/zh_CN/uiflow/advanced?id=execute', 'SDCard':'#/zh_CN/uiflow/advanced?id=sdcard', 'Http':'#/zh_CN/uiflow/advanced?id=http', 'Modbus':'#/zh_CN/uiflow/advanced?id=modbus-master', diff --git a/docs/zh_CN/unit/hex.md b/docs/zh_CN/unit/hex.md index f6105aed..2e40c7dd 100644 --- a/docs/zh_CN/unit/hex.md +++ b/docs/zh_CN/unit/hex.md @@ -31,7 +31,7 @@ RGB LED - WS2812 x 37 + SK6812 x 37 净重 From 188ace79d26a35e2c8883a56ea6846d5f93c26ad Mon Sep 17 00:00:00 2001 From: Gitshaoxiang <1026025056@qq.com> Date: Thu, 6 Aug 2020 14:42:45 +0800 Subject: [PATCH 7/7] fix some link --- docs/en/uiflow/uiflow_home_page.md | 4 ++-- docs/zh_CN/uiflow/uiflow_home_page.md | 15 ++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/en/uiflow/uiflow_home_page.md b/docs/en/uiflow/uiflow_home_page.md index e5a43bcd..18502441 100644 --- a/docs/en/uiflow/uiflow_home_page.md +++ b/docs/en/uiflow/uiflow_home_page.md @@ -30,8 +30,8 @@ const quickstart = { 'title':"Quick Start", 'item':{ 'BASIC / M5GO / FIRE / FACES':'#/en/quick_start/m5core/m5stack_core_get_started_MicroPython', - 'M5StickC':'#/en/quick_start/m5stickc/m5stickc_quick_start', - 'M5StickC PLUS':'#/en/quick_start/m5stickc_plus/m5stickc_plus_quick_start', + 'M5StickC':'#/en/quick_start/m5stickc/m5stickc_quick_start_with_uiflow', + 'M5StickC PLUS':'#/en/quick_start/m5stickc_plus/m5stickc_plus_quick_start_with_uiflow', 'M5Stick':'#/en/quick_start/m5stick/m5stick_quick_start_with_uiflow', 'ATOM Echo':'#/en/quick_start/atom/atom_echo_quick_start', 'ATOM Lite / Matrix':'#/en/quick_start/atom/atom_quick_start_uiflow' diff --git a/docs/zh_CN/uiflow/uiflow_home_page.md b/docs/zh_CN/uiflow/uiflow_home_page.md index f83ff566..607bd7fb 100644 --- a/docs/zh_CN/uiflow/uiflow_home_page.md +++ b/docs/zh_CN/uiflow/uiflow_home_page.md @@ -29,11 +29,12 @@ const quickstart = { 'title':"快速上手", 'item':{ - 'BASIC / M5GO / FIRE / FACES':'#/zh_CN//quick_start/m5core/m5stack_core_get_started_MicroPython', - 'M5StickC':'#/zh_CN//quick_start/m5stickc/m5stickc_quick_start', - 'M5Stick':'#/zh_CN//quick_start/m5stick/m5stick_quick_start_with_uiflow', - 'ATOM Echo':'#/zh_CN//quick_start/atom/atom_echo_quick_start', - 'ATOM Lite / Matrix':'#/zh_CN//quick_start/atom/atom_quick_start_uiflow' + 'BASIC / M5GO / FIRE / FACES':'#/zh_CN/quick_start/m5core/m5stack_core_get_started_MicroPython', + 'M5StickC':'#/zh_CN/quick_start/m5stickc/m5stickc_quick_start_with_uiflow', + 'M5StickC PLUS':'#/zh_CN/quick_start/m5stickc_plus/m5stickc_plus_quick_start_with_uiflow', + 'M5Stick':'#/zh_CN/quick_start/m5stick/m5stick_quick_start_with_uiflow', + 'ATOM Echo':'#/zh_CN/quick_start/atom/atom_echo_quick_start', + 'ATOM Lite / Matrix':'#/zh_CN/quick_start/atom/atom_quick_start_uiflow' } }; @@ -53,8 +54,8 @@ const uielements = { 'item':{ 'UI Elements':'#/zh_CN/uiflow/ui_simulator?id=ui-elements', 'Unicode':'#/zh_CN/uiflow/ui_simulator?id=unicode', - 'Emoji':'#/en/uiflow/ui_simulator?id=emoji', - 'Graphic':'#/en/uiflow/ui_simulator?id=graphic', + 'Emoji':'#/zh_CN/uiflow/ui_simulator?id=emoji', + 'Graphic':'#/zh_CN/uiflow/ui_simulator?id=graphic', 'Image':'#/zh_CN/uiflow/ui_simulator?id=displaying-images', 'Screen':'#/zh_CN/uiflow/ui_simulator?id=screen' }