diff --git a/docs/assets/css/main-min.css b/docs/assets/css/main-min.css index 9f609ce4..a4f2aabb 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-face{font-family:Montserrat;font-style:normal;src:url("https://static-cdn.m5stack.com/image/product_jpg/assets/font/montserrat_n5.e72d00d31ae5399d260a80ec70322c62c1819762.woff2") format("woff2")}*{font-family:Montserrat}a{text-decoration:none !important;color:#007bff}img{z-index:51}.product_pic img{width:30%}@media screen and (max-width:768px){.product_pic img{width:100%}}#pc_anchor{position:fixed;top:50%;left:50px;transform:translateY(-50%);border-radius:10px;overflow:hidden;box-shadow:0 1px 20px 1px #e6e6e6;z-index:99}#pc_anchor .el-submenu .el-menu-item{min-width:195px}#pc_anchor .el-menu{border:0}#pc_anchor .el-menu .el-menu-item-group__title{background-color:#ececee}#pc_anchor .el-menu .el-menu-item span,.el-submenu__title span{display:inline-block;padding-left:10px;width:70%;overflow:hidden}#pc_anchor img{height:30px}@media screen and (max-width:1460px){#pc_anchor{left:20px}}@media screen and (max-width:1300px){#pc_anchor{left:5px}#pc_anchor .el-menu-vertical-demo{width:210px}}@media screen and (max-width:970px){#pc_anchor{left:-45px}}#mb_header{display:none}.el-menu-vertical-demo:not(.el-menu--collapse){width:210px;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:150;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:70%;margin-top:50px}.markdown-section a{color:hsl(211,100%,50%)}body[data-page="index.md"] .markdown-section{margin-top:0;max-width:75%}body[data-page="zh_CN/README.md"] .markdown-section{margin-top:0;max-width:75%}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%}body[data-page="en/quick_start/m5stickv/m5stickv_quick_start.md"] article.markdown-section{max-width:100%}body[data-page="zh_CN/quick_start/m5stickv/m5stickv_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;box-shadow:1px 1px 20px 0 #f7f7f7a1}.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}.markdown-section{max-width:100% !important}}.item-title{white-space:nowrap;text-align:center;margin-top:0 !important;margin-bottom:28px !important}.item a{color:black;text-decoration:none}.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{border:0;width:90px;background-color:#007bffc7;color:white;border-radius:10px;height:19px}.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:105;top:80px;left:80px;padding:0 20px}.search input{border-radius:40px;border:0;outline:0;background:#eee;width:125px;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}@media screen and (max-width:768px){.dropdown{display:block}#pc_anchor{display:none !important}#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% !important;right:auto !important;transform:translateX(-50%)}.video_size{width:100%}}@media screen and (max-width:768px){.pic{width:50%}}mark{background-color:#ffa105e0;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}@media screen and (max-width:1180px){#pc_header>a{display:none}.search{right:30px;left:auto}}.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;width:200px}.platform-box>div:nth-of-type(1)::after{content:"";position:absolute;width:2px;height:300px;background-color:#d9d9d9;right:-22px;top:43px}.platform-item h3{position:absolute;top:50%;transform:translateY(-50%);width:100%;text-align:center;font-size:20px;font-weight:normal;color:#fff;z-index:11}.platform-tag{position:absolute;top:50%;left:50%;width:150px;height:150px;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);transform:translate(-50%,-50%)}.platform-item a:hover .platform-tag{transform:translate(-50%,-50%) scale(4.3,4.3)}@media screen and (max-width:768px){.platform-box{margin-top:30px}.platform-box>div:nth-of-type(1)::after{content:"";position:absolute;width:300px;height:2px;background-color:#d9d9d9;left:50%;top:105%;transform:translateX(-50%)}}.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:100;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000087;overflow:scroll}#search_contant_box{margin:150px 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;bottom:6px}.box-card .el-tag{margin-top:5px;cursor:pointer}.nav-dropdown .dropdown-title{display:flex;justify-content:center;align-items:center}.logo{background-repeat:no-repeat;background-size:100% 100%}*{margin:0;padding:0;box-sizing:border-box}li{list-style-type:none}.container img{width:100%;height:100%}a{text-decoration:none}button{border:0;background-color:transparent;outline:0;cursor:pointer}header{width:100%;height:50px;padding:0 360px;z-index:1000}@media screen and (max-width:1600px){header{width:100%;height:50px;padding:0 260px}}@media screen and (max-width:1400px){header{width:100%;height:50px;padding:0 220px}}.container{position:relative;width:100%;height:100%;display:flex;margin:0 auto;align-items:center;justify-content:flex-end}.logo{position:absolute;left:0;width:48px;height:41px}.shop-btn,.user-btn{width:24px;height:24px;margin-right:32px}.language-btn{width:60px;height:20px}.header-nav{width:auto;display:flex;flex-direction:row;justify-content:flex-end;font-size:14px;color:#434343;margin-right:32px;height:100%}.header-nav li{cursor:pointer;margin:0 0 0 32px;line-height:50px}.nav-dropdown{position:fixed;top:50px;left:0;width:100%;height:180px;border-top:1px solid #f1f1f1;background-color:#fff;z-index:9999;overflow:hidden;animation:dropdown .1s ease;box-shadow:1px 2px 9px 0 #f9f9f9}.nav-dropdown .dropdown-container{width:62%;height:100%;display:flex;margin:0 auto;padding:25px 0}@media screen and (max-width:1400px){.nav-dropdown .dropdown-container{width:80%;height:100%;display:flex;margin:0 auto;padding:25px 0}}.nav-dropdown .dropdown-title{width:282px;height:100%;font-size:16px;font-weight:400;color:#959595}.nav-dropdown .dropdown-content{flex:1;height:100%;border-left:1px solid #e5e5e5}@keyframes dropdown{0%{height:0}100%{height:"*"}}.dropdown-content-box{width:905px;display:flex;flex-wrap:wrap;padding:10px 10px 10px 50px}.header-nav a{color:#434343}.dropdown-item{display:flex;flex-direction:row;margin:10px 20px;width:100px;align-items:center}.dropdown-item div{width:30px;display:flex;justify-content:center;margin-right:15px}.dropdown-item img{height:30px;width:auto}.dropdown-item p{color:#959595;white-space:nowrap;font-size:1px;flex:1}.dropdown-category a{font-size:1;margin:0;padding:0}.dropdown-category{line-height:25px !important;padding-left:52px;margin:0 !important}.dropdown-item2{display:flex;flex-direction:row;width:160px;align-items:center;overflow:hidden}.dropdown-item2 p{color:#0064c2}.dropdown-category p{color:#959595}.dropdown-item2 img{height:30px;width:auto;margin-right:10px} +:root{--theme-color:hsl(204,90%,45%)}@font-face{font-family:Montserrat;font-style:normal;src:url("https://static-cdn.m5stack.com/image/product_jpg/assets/font/montserrat_n5.e72d00d31ae5399d260a80ec70322c62c1819762.woff2") format("woff2")}*{font-family:Montserrat}a{text-decoration:none !important;color:#007bff}img{z-index:51}.product_pic img{width:30%}@media screen and (max-width:768px){.product_pic img{width:100%}}#pc_anchor{position:fixed;top:50%;left:50px;transform:translateY(-50%);border-radius:10px;overflow:hidden;box-shadow:0 1px 20px 1px #e6e6e6;z-index:99}#pc_anchor .el-submenu .el-menu-item{min-width:195px}#pc_anchor .el-menu{border:0}#pc_anchor .el-menu .el-menu-item-group__title{background-color:#ececee}#pc_anchor .el-menu .el-menu-item span,.el-submenu__title span{display:inline-block;padding-left:10px;width:70%;overflow:hidden}#pc_anchor img{height:30px}@media screen and (max-width:1460px){#pc_anchor{left:20px}}@media screen and (max-width:1300px){#pc_anchor{left:5px}#pc_anchor .el-menu-vertical-demo{width:210px}}@media screen and (max-width:970px){#pc_anchor{left:-45px}}#mb_header{display:none}.el-menu-vertical-demo:not(.el-menu--collapse){width:210px;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:150;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:70%;margin-top:50px}.markdown-section a{color:hsl(211,100%,50%)}body[data-page="index.md"] .markdown-section{margin-top:0;max-width:75%}body[data-page="zh_CN/README.md"] .markdown-section{margin-top:0;max-width:75%}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%}body[data-page="en/quick_start/m5stickv/m5stickv_quick_start.md"] article.markdown-section{max-width:100%}body[data-page="zh_CN/quick_start/m5stickv/m5stickv_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;box-shadow:1px 1px 20px 0 #f7f7f7a1}.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}.markdown-section{max-width:100% !important}}.item-title{white-space:nowrap;text-align:center;margin-top:0 !important;margin-bottom:28px !important}.item a{color:black;text-decoration:none}.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{border:0;width:90px;background-color:#007bffc7;color:white;border-radius:10px;height:19px}.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:105;top:80px;left:80px;padding:0 20px}.search input{border-radius:40px;border:0;outline:0;background:#eee;width:125px;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}@media screen and (max-width:768px){.dropdown{display:block}#pc_anchor{display:none !important}#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% !important;right:auto !important;transform:translateX(-50%)}.video_size{width:100%}}@media screen and (max-width:768px){.pic{width:50%}}mark{background-color:#ffa105e0;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}@media screen and (max-width:1180px){#pc_header>a{display:none}.search{right:30px;left:auto}}.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;width:200px}.platform-box>div:nth-of-type(1)::after{content:"";position:absolute;width:2px;height:300px;background-color:#d9d9d9;right:-22px;top:43px}.platform-item h3{position:absolute;top:50%;transform:translateY(-50%);width:100%;text-align:center;font-size:20px;font-weight:normal;color:#fff;z-index:11}.platform-tag{position:absolute;top:50%;left:50%;width:150px;height:150px;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);transform:translate(-50%,-50%)}.platform-item a:hover .platform-tag{transform:translate(-50%,-50%) scale(4.3,4.3)}@media screen and (max-width:768px){.platform-box{margin-top:30px}.platform-box>div:nth-of-type(1)::after{content:"";position:absolute;width:300px;height:2px;background-color:#d9d9d9;left:50%;top:105%;transform:translateX(-50%)}}.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:100;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000087;overflow:scroll}#search_contant_box{margin:150px 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;bottom:6px}.box-card .el-tag{margin-top:5px;cursor:pointer}.nav-dropdown .dropdown-title{display:flex;justify-content:center;align-items:center}.logo{background-repeat:no-repeat;background-size:100% 100%}*{margin:0;padding:0;box-sizing:border-box}header li{list-style-type:none}.container img{width:100%;height:100%}a{text-decoration:none}button{border:0;background-color:transparent;outline:0;cursor:pointer}header{width:100%;height:50px;padding:0 360px;z-index:1000}@media screen and (max-width:1600px){header{width:100%;height:50px;padding:0 260px}}@media screen and (max-width:1400px){header{width:100%;height:50px;padding:0 220px}}.container{position:relative;width:100%;height:100%;display:flex;margin:0 auto;align-items:center;justify-content:flex-end}.logo{position:absolute;left:0;width:48px;height:41px}.shop-btn,.user-btn{width:24px;height:24px;margin-right:32px}.language-btn{width:60px;height:20px}.header-nav{width:auto;display:flex;flex-direction:row;justify-content:flex-end;font-size:14px;color:#434343;margin-right:32px;height:100%}.header-nav li{cursor:pointer;margin:0 0 0 32px;line-height:50px}.nav-dropdown{position:fixed;top:50px;left:0;width:100%;height:180px;border-top:1px solid #f1f1f1;background-color:#fff;z-index:9999;overflow:hidden;animation:dropdown .1s ease;box-shadow:1px 2px 9px 0 #f9f9f9}.nav-dropdown .dropdown-container{width:62%;height:100%;display:flex;margin:0 auto;padding:25px 0}@media screen and (max-width:1400px){.nav-dropdown .dropdown-container{width:80%;height:100%;display:flex;margin:0 auto;padding:25px 0}}.nav-dropdown .dropdown-title{width:282px;height:100%;font-size:16px;font-weight:400;color:#959595}.nav-dropdown .dropdown-content{flex:1;height:100%;border-left:1px solid #e5e5e5}@keyframes dropdown{0%{height:0}100%{height:"*"}}.dropdown-content-box{width:905px;display:flex;flex-wrap:wrap;padding:10px 10px 10px 50px}.header-nav a{color:#434343}.dropdown-item{display:flex;flex-direction:row;margin:10px 20px;width:100px;align-items:center}.dropdown-item div{width:30px;display:flex;justify-content:center;margin-right:15px}.dropdown-item img{height:30px;width:auto}.dropdown-item p{color:#959595;white-space:nowrap;font-size:1px;flex:1}.dropdown-category a{font-size:1;margin:0;padding:0}.dropdown-category{line-height:25px !important;padding-left:52px;margin:0 !important}.dropdown-item2{display:flex;flex-direction:row;width:160px;align-items:center;overflow:hidden}.dropdown-item2 p{color:#0064c2}.dropdown-category p{color:#959595}.dropdown-item2 img{height:30px;width:auto;margin-right:10px}.lang-clike{background-color:#282c34 !important;color:#40e498 !important}.lang-clike .function{color:#d5d687}.lang-clike .punctuation{color:#deb28d}.lang-clike .number,.lang-clike .boolean{color:#2eacd2}::-moz-selection{background:#2eacd2 !important;color:#fff;font-weight:900;font-size:32px}::selection{background:#2eacd2 !important;color:#fff;font-weight:900;font-size:32px}.markdown-section blockquote{background-color:#282c34;color:white}blockquote strong{color:white}.box-card-item{margin:0 10px 10px 0;display:inline-block} diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css index a4500ded..65830fae 100755 --- a/docs/assets/css/main.css +++ b/docs/assets/css/main.css @@ -1092,7 +1092,7 @@ table tr:nth-child(odd) { box-sizing: border-box; } - li { + header li { list-style-type: none; } @@ -1316,3 +1316,48 @@ table tr:nth-child(odd) { width: auto; margin-right: 10px; } + + +.lang-clike { + background-color: #282c34 !important; + color: #40e498 !important; +} + +.lang-clike .function { + color: #d5d687; +} + +.lang-clike .punctuation { + color:#deb28d; +} + +.lang-clike .number,.lang-clike .boolean { + color: #2eacd2; +} + +::-moz-selection { + background: #2eacd2 !important; + color: #ffffff; + font-weight: 900; + font-size: 32px; + } + ::selection { + background: #2eacd2 !important; + color: #ffffff; + font-weight: 900; + font-size: 32px; + } + + .markdown-section blockquote { + background-color: #282c34; + color: white; + } + + blockquote strong { + color: white; + } + +.box-card-item { + margin: 0px 10px 10px 0px; + display:inline-block; +} diff --git a/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_01.webp b/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_01.webp new file mode 100644 index 00000000..f338c6bd Binary files /dev/null and b/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_01.webp differ diff --git a/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_02.webp b/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_02.webp new file mode 100644 index 00000000..c5130411 Binary files /dev/null and b/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_02.webp differ diff --git a/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_03.webp b/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_03.webp new file mode 100644 index 00000000..76be6e46 Binary files /dev/null and b/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_03.webp differ diff --git a/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_04.webp b/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_04.webp new file mode 100644 index 00000000..a2d42c42 Binary files /dev/null and b/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_04.webp differ diff --git a/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_sch.webp b/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_sch.webp new file mode 100644 index 00000000..2bcafcc6 Binary files /dev/null and b/docs/assets/img/product_pics/atom_base/atom_spk/atom_spk_sch.webp differ diff --git a/docs/assets/js/custom.js b/docs/assets/js/custom.js index 86074047..30260fa4 100644 --- a/docs/assets/js/custom.js +++ b/docs/assets/js/custom.js @@ -119,6 +119,10 @@ var header = new Vue({ { name:'library/APIs', link:'/#/zh_CN/arduino/arduino_home_page?id=m5core_api' + }, + { + name:'Github', + link:'https://github.com/m5stack/M5Stack' } ] }, @@ -254,6 +258,10 @@ var header = new Vue({ { name:'library/APIs', link:'/#/en/arduino/arduino_home_page?id=m5core_api' + }, + { + name:'Github', + link:'https://github.com/m5stack/M5Stack' } ] }, @@ -408,8 +416,12 @@ var zoom_image = new Vue({ show: false, index:0, rotate:0, - width:580, - scale:1 + width:'100%', + scale:1, + top:0, + left:0, + imgMoveable: false, + imgTarget: '' }, methods: { stopScroll(){ @@ -426,8 +438,10 @@ var zoom_image = new Vue({ this.show = false; this.index = 0; this.rotate = 0; - this.width = 550; + this.width = '100%'; this.scale = 1; + this.top = 0; + this.left = 0; this.canScroll(); }, next() { @@ -467,11 +481,25 @@ var zoom_image = new Vue({ }else{ this.scale = this.scale - 0.05; } - } + }, + dragImg() { + if(this.imgMoveable) { + this.top = this.top + event.movementY; + this.left = this.left + event.movementX; + } + }, + dragImgEnd() { + this.imgMoveable = false; + this.imgTarget = ''; + }, + startDrag() { + this.imgTarget = event.target; + this.imgMoveable = true; + } }, computed: { img_style : function(){ - return `transition:all 0.2s ease 0s;transform: scale(${this.scale}) rotate(${this.rotate}deg); margin-left: 0px; margin-top: 0px; max-height: 100%; max-width: 100%; width:${this.width}px;` + return `transform: scale(${this.scale}) rotate(${this.rotate}deg) translate(${this.left}px, ${this.top}px); max-height: 100%; max-width: 100%; width:${this.width}px; left: (${this.left}); top: (${this.top});` } } }) diff --git a/docs/assets/js/custom.min.js b/docs/assets/js/custom.min.js index 51b3a2d3..2e5c5a0d 100644 --- a/docs/assets/js/custom.min.js +++ b/docs/assets/js/custom.min.js @@ -3,9 +3,9 @@ localStorage.clear();set_search_keyword();window.header.done();window.search_cov this.CurrentPanel=this.CurrentLanguage.nav[event.target.id];this.DropdownStatus=true;},panelHide(event){this.DropdownStatus=false;this.CurrentPanel='';}},created(){var page_url=window.location.href;if((page_url.indexOf(/en/)==-1)&&(page_url.indexOf(/zh_CN/)==-1)&&(page_url.indexOf(/ja/)==-1)){this.CurrentLanguage=this.en;} if(page_url.indexOf(/en/)!=-1){this.CurrentLanguage=this.en;} if(page_url.indexOf(/zh_CN/)!=-1){this.CurrentLanguage=this.zh_CN;}},mounted(){this.loading('Loading')}}) -var zoom_image=new Vue({el:'#zoom_image',data:{url:'',srcList:[],show:false,index:0,rotate:0,width:580,scale:1},methods:{stopScroll(){var mo=function(e){e.preventDefault();};document.body.style.overflow='hidden';document.addEventListener("touchmove",mo,false);},canScroll(){var mo=function(e){e.preventDefault();};document.body.style.overflow='';document.removeEventListener("touchmove",mo,false);},close(){this.show=false;this.index=0;this.rotate=0;this.width=550;this.scale=1;this.canScroll();},next(){if(this.index>=this.srcList.length){this.index=0;}else{this.index++;} +var zoom_image=new Vue({el:'#zoom_image',data:{url:'',srcList:[],show:false,index:0,rotate:0,width:'100%',scale:1,top:0,left:0,imgMoveable:false,imgTarget:''},methods:{stopScroll(){var mo=function(e){e.preventDefault();};document.body.style.overflow='hidden';document.addEventListener("touchmove",mo,false);},canScroll(){var mo=function(e){e.preventDefault();};document.body.style.overflow='';document.removeEventListener("touchmove",mo,false);},close(){this.show=false;this.index=0;this.rotate=0;this.width='100%';this.scale=1;this.top=0;this.left=0;this.canScroll();},next(){if(this.index>=this.srcList.length){this.index=0;}else{this.index++;} this.url=this.srcList[this.index]},prev(){if(this.index<=0){this.index=this.srcList.length-1;}else{this.index--;} -this.url=this.srcList[this.index]},left(){this.rotate=this.rotate-90;},right(){this.rotate=this.rotate+90;},zoom_in(){this.width=this.width+50},zoom_out(){this.width=this.width-50},full(){this.width=800},rollImg(){if(event.wheelDelta>0){this.scale=this.scale+0.05;}else{this.scale=this.scale-0.05;}}},computed:{img_style:function(){return`transition:all 0.2s ease 0s;transform: scale(${this.scale}) rotate(${this.rotate}deg); margin-left: 0px; margin-top: 0px; max-height: 100%; max-width: 100%; width:${this.width}px;`}}}) +this.url=this.srcList[this.index]},left(){this.rotate=this.rotate-90;},right(){this.rotate=this.rotate+90;},zoom_in(){this.width=this.width+50},zoom_out(){this.width=this.width-50},full(){this.width=800},rollImg(){if(event.wheelDelta>0){this.scale=this.scale+0.05;}else{this.scale=this.scale-0.05;}},dragImg(){if(this.imgMoveable){this.top=this.top+event.movementY;this.left=this.left+event.movementX;}},dragImgEnd(){this.imgMoveable=false;this.imgTarget='';},startDrag(){this.imgTarget=event.target;this.imgMoveable=true;}},computed:{img_style:function(){return`transform: scale(${this.scale}) rotate(${this.rotate}deg) translate(${this.left}px, ${this.top}px); max-height: 100%; max-width: 100%; width:${this.width}px; left: (${this.left}); top: (${this.top});`}}}) var search_cover=new Vue({el:'#search_cover',data:{activeName:'first',current_page_title:'Current Page',related_page_title:'Related Page',search_note:'',contant_result:[{name:'',url:'',contant:this.search_note}],},methods:{start_search(){$('#search_cover').show(200);window.zoom_image.stopScroll();},close_search(){$('#search_cover').hide(200);window.zoom_image.canScroll();}}}) function easyloader_video(){if($("#example_video").length>0) setTimeout(function(){$("#play-btn").on("click",function(ev){ev.stopPropagation();$(".easyloader-mask").toggleClass('video_play');$("#example_video")[0].play();}) diff --git a/docs/en/api/M5Timer.md b/docs/en/api/M5Timer.md index 0d33f0b8..9f944f04 100644 --- a/docs/en/api/M5Timer.md +++ b/docs/en/api/M5Timer.md @@ -28,7 +28,7 @@ call function f every d milliseconds **Example:** -```arduino +```clike #include #include "utility/M5Timer.h" @@ -68,7 +68,7 @@ call function f once after d milliseconds **Example:** -```arduino +```clike #include #include "utility/M5Timer.h" @@ -108,7 +108,7 @@ call function f every d milliseconds for n times **Example:** -```arduino +```clike #include #include "utility/M5Timer.h" @@ -148,7 +148,7 @@ enables the specified timer **Example:** -```arduino +```clike #include #include "utility/M5Timer.h" @@ -187,7 +187,7 @@ returns true if the specified timer is enabled **Example:** -```arduino +```clike #include #include "utility/M5Timer.h" @@ -226,7 +226,7 @@ disables the specified timer **Example:** -```arduino +```clike #include #include "utility/M5Timer.h" diff --git a/docs/en/api/axp192_core2.md b/docs/en/api/axp192_core2.md index 0f5f9a10..ad5b5873 100644 --- a/docs/en/api/axp192_core2.md +++ b/docs/en/api/axp192_core2.md @@ -11,7 +11,7 @@ **Description:Set screen voltage, adjust brightness, valid range of parameters is 2500-3300** **Example:** -```arduino +```clike #include void setup() { @@ -40,7 +40,7 @@ void loop() { **Description:Set the built-in LED light, state: 1 is on, state: 0 is off** **Example:** -```arduino +```clike #include void setup() { diff --git a/docs/en/api/axp192_m5stickc.md b/docs/en/api/axp192_m5stickc.md index 6ad831a7..67b6ddfe 100644 --- a/docs/en/api/axp192_m5stickc.md +++ b/docs/en/api/axp192_m5stickc.md @@ -12,7 +12,7 @@ **Example:** -```arduino +```clike #include void setup() { @@ -31,7 +31,7 @@ void loop() {} **Example:** -```arduino +```clike #include int level; @@ -59,7 +59,7 @@ void loop() { **Example:** -```arduino +```clike #include int count = 0; @@ -90,7 +90,7 @@ void loop() { **Example:** -```arduino +```clike #include void setup() { @@ -118,7 +118,7 @@ void loop() { **Example:** -```arduino +```clike #include void setup() { @@ -153,7 +153,7 @@ void loop() { **Example:** -```arduino +```clike #include uint8_t i = 7; @@ -179,7 +179,7 @@ void loop() { **Example:** -```arduino +```clike #include double vbat = 0.0; @@ -207,7 +207,7 @@ void loop() { **Example:** -```arduino +```clike #include int charge; @@ -235,7 +235,7 @@ void loop() { **Example:** -```arduino +```clike #include int bat; @@ -264,7 +264,7 @@ void loop() { **Example:** -```arduino +```clike #include int Vaps; @@ -292,7 +292,7 @@ void loop() { **Example:** -```arduino +```clike #include int temp; @@ -320,7 +320,7 @@ void loop() { **Example:** -```arduino +```clike #include void setup() { @@ -345,7 +345,7 @@ void loop() { **Example:** -```arduino +```clike #include int disCharge; @@ -373,7 +373,7 @@ void loop() { **Example:** -```arduino +```clike #include int Iusb; diff --git a/docs/en/api/button.md b/docs/en/api/button.md index c8688470..9d3017c9 100644 --- a/docs/en/api/button.md +++ b/docs/en/api/button.md @@ -12,7 +12,7 @@ This function returns reading the state of the button directly. 1: pressed, 0: r **Example:** -```arduino +```clike #include void setup() { @@ -38,7 +38,7 @@ This function returns the state of the button the last time Button.read() was ca **Example:** -```arduino +```clike #include void setup() { @@ -68,7 +68,7 @@ This function returns 1 only once each time the button is pressed. 1: pressed, 0 **Example:** -```arduino +```clike #include void setup() { @@ -98,7 +98,7 @@ releasedFor(ms) check to see if the button is pressed (or released), and has bee **Example:** -```arduino +```clike #include void setup() { @@ -136,7 +136,7 @@ This function returns 1 if button has been pressed for more than specified time. **Example:** -```arduino +```clike #include void setup() { @@ -166,7 +166,7 @@ Returns the last state time point . **Example:** -```arduino +```clike #include void setup() { @@ -193,7 +193,7 @@ releasedFor(ms) check to see if the button is released, and has been in that sta **Example:** -```arduino +```clike #include void setup() { @@ -227,7 +227,7 @@ This function returns 1 only once each time the button is pressed. 1: pressed, 0 **Example:** -```arduino +```clike #include void setup() { diff --git a/docs/en/api/commutil.md b/docs/en/api/commutil.md index c958f465..4c126655 100644 --- a/docs/en/api/commutil.md +++ b/docs/en/api/commutil.md @@ -210,7 +210,7 @@ Perform device presence check on I2C bus. **Example of use;** -```arduino +```clike bool result[0x80]; M5.I2C.scanID(&result[0]); ``` diff --git a/docs/en/api/core2/rtc_api.md b/docs/en/api/core2/rtc_api.md index 442782ea..e239a97c 100644 --- a/docs/en/api/core2/rtc_api.md +++ b/docs/en/api/core2/rtc_api.md @@ -1,6 +1,6 @@ # RTC -``` +```clike typedef struct RTC_Time { int8_t Hours; @@ -64,7 +64,7 @@ Get RTC Date Struct **Example:** -``` +```clike #include RTC_TimeTypeDef RTCtime; @@ -138,7 +138,7 @@ Turn off the power, pass in the RTC time structure specified for a certain point **Example:** -``` +```clike #include RTC_TimeTypeDef RTCtime; diff --git a/docs/en/api/coreink/eink_api.md b/docs/en/api/coreink/eink_api.md index 92f9d188..64effcd1 100644 --- a/docs/en/api/coreink/eink_api.md +++ b/docs/en/api/coreink/eink_api.md @@ -2,7 +2,7 @@ ?>Before using the E-Ink screen operation function, you need to create an instance and pass in the screen driver address. Call `M5.M5Ink.isInit()` and initialize with `M5.M5Ink.clear();`. -``` +```clike #include "M5CoreInk.h" Ink_Sprite InkPageSprite(&M5.M5Ink); @@ -37,7 +37,7 @@ void setup() **Example:** -```arduino +```clike if( InkPageSprite.creatSprite(0,0,200,200,true) != 0 ) { @@ -58,7 +58,7 @@ Serial.printf("Ink Sprite creat successful"); **Example:** -```arduino +```clike InkPageSprite.clear(); @@ -75,7 +75,7 @@ InkPageSprite.clear(); **Example:** -```arduino +```clike InkPageSprite.deleteSprite(); @@ -91,7 +91,7 @@ InkPageSprite.deleteSprite(); **Example:** -```arduino +```clike InkPageSprite.drawString(10,50,"Hello World!",&AsciiFont8x16); InkPageSprite.pushSprite(); ``` @@ -106,7 +106,7 @@ InkPageSprite.pushSprite(); **Example:** -```arduino +```clike InkPageSprite.drawPix(100,100,0); InkPageSprite.pushSprite(); ``` @@ -126,7 +126,7 @@ InkPageSprite.pushSprite(); **Example:** -```arduino +```clike InkPageSprite.FillRect(0,0,100,100,0); InkPageSprite.pushSprite(); ``` @@ -159,7 +159,7 @@ InkPageSprite.pushSprite(); **Example:** -```arduino +```clike InkPageSprite.drawChar(35,50,'M'); InkPageSprite.pushSprite(); ``` @@ -175,7 +175,7 @@ InkPageSprite.pushSprite(); **Example:** -```arduino +```clike InkPageSprite.drawString(35,50,"Hello World!"); InkPageSprite.pushSprite(); ``` diff --git a/docs/en/api/coreink/system_api.md b/docs/en/api/coreink/system_api.md index 8dd8cc6a..dc8fbad3 100644 --- a/docs/en/api/coreink/system_api.md +++ b/docs/en/api/coreink/system_api.md @@ -11,7 +11,7 @@ **Example:** -```arduino +```clike #include "M5CoreInk.h" void setup() { @@ -29,7 +29,7 @@ void setup() { **Example:** -```arduino +```clike if( M5.BtnPWR.wasPressed()) { @@ -78,7 +78,7 @@ M5.update(); `void playMusic(const uint8_t *music_data, uint16_t sample_rate);` -``` +```clike M5.Speaker.tone(2700); ``` @@ -86,7 +86,7 @@ M5.Speaker.tone(2700); ?> Please use `M5.begin();` to initialize RTC related functions before using -``` +```clike typedef struct RTC_Time { int8_t Hours; @@ -150,7 +150,7 @@ Get RTC Date Struct **Example:** -``` +```clike #include "M5CoreInk.h" Ink_Sprite InkPageSprite(&M5.M5Ink); @@ -237,7 +237,7 @@ Turn off the power, pass in the RTC time structure specified for a certain point **Example:** -``` +```clike #include "M5CoreInk.h" void setup() { diff --git a/docs/en/api/gpio.md b/docs/en/api/gpio.md index 5d9a360a..94ebc19f 100644 --- a/docs/en/api/gpio.md +++ b/docs/en/api/gpio.md @@ -72,7 +72,7 @@ Pin input state(0/1) **Example of use;** -```arduino +```clike uint32_t pin21_data; pin21_data = digitalRead(21); ``` @@ -107,7 +107,7 @@ None. **Example of use;** -```arduino +```clike digitalWrite(2,1); ``` @@ -142,7 +142,7 @@ Make sure that the operations are correct as there is a risk of damage. **Example of use;** -```arduino +```clike pinMode(2,INPUT); ``` @@ -171,7 +171,7 @@ G35 and G36 can be used in M5Stack. **Example of use;** -```arduino +```clike uint16_t ret; ret=analogRead(35); ``` @@ -203,7 +203,7 @@ G25 and G26 can be used in M5Stack. **Example of use;** -```arduino +```clike dacWrite(25,0x40); ``` diff --git a/docs/en/api/imu.md b/docs/en/api/imu.md index f94c87b3..a00bd781 100644 --- a/docs/en/api/imu.md +++ b/docs/en/api/imu.md @@ -11,7 +11,7 @@ **Description:initialize IMU** **Example:** -```arduino +```clike #include void setup() { @@ -31,7 +31,7 @@ void loop() {} **Description:Obtain the three-axis gyroscope data of the IMU chip.** **Example:** -```arduino +```clike #include float gyroX, gyroY, gyroZ; @@ -57,7 +57,7 @@ void loop() { **Description:Obtain the three-axis accelerometer data of the IMU chip.** **Example:** -```arduino +```clike #include float accX, accY, accZ; @@ -83,7 +83,7 @@ void loop() { **Description:Get the attitude of the IMU chip.** **Example:** -```arduino +```clike #include float pitch, roll, yaw; @@ -109,7 +109,7 @@ void loop() { **Description:Get the temperature of the IMU chip.** **Example:** -```arduino +```clike #include float temp; diff --git a/docs/en/api/lcd.md b/docs/en/api/lcd.md index 3e3058c3..8cf23c1c 100644 --- a/docs/en/api/lcd.md +++ b/docs/en/api/lcd.md @@ -75,7 +75,7 @@ None **Example of use:** -```arduino +```clike #include M5.Lcd.sleep(); @@ -106,7 +106,7 @@ None **Example of use:** -```arduino +```clike #include M5.Lcd.wakeup(); @@ -142,7 +142,7 @@ None. **Example of use:** -```arduino +```clike #include M5.Lcd.setBrightness(200); @@ -182,7 +182,7 @@ None **Example of use:** -```arduino +```clike #include M5.Lcd.fillRect(0,0,240,20,0); @@ -223,7 +223,7 @@ None **Example of use:** -```arduino +```clike #include M5.Lcd.qrcode("http://www.m5stack.com",50,10,220,6); @@ -304,7 +304,7 @@ None **Example of use:** -```arduino +```clike #include M5.Lcd.drawBmpFile(SD, "/p2.bmp",0,0); ``` @@ -423,14 +423,14 @@ None **Example:** -```arduino +```clike #include M5.begin(); M5.Lcd.fillScreen(RED); ``` - - + ## setTextColor() @@ -457,14 +457,14 @@ lcd.fillScreen(lcd.RED) **Example:** -```arduino +```clike #include M5.begin(); M5.Lcd.setTextColor(RED); ``` - + **Function: get the cursor of x.** **Example:** -```arduino +```clike #include M5.begin(); @@ -531,13 +531,13 @@ M5.Lcd.print(X); `uint16_t getCursorY(void);` - + **Function: get the cursor of y.** **Example:** -```arduino +```clike #include M5.begin(); @@ -556,13 +556,13 @@ M5.Lcd.print(Y); `setTextSize(uint8_t);` - + **Function: set the Size of Text.** **Example:** -```arduino +```clike #include M5.begin(); @@ -578,13 +578,13 @@ M5.Lcd.print("Hello"); `void clear(uint16_t color);` - + **Function: fill color use of clear screen.** **Example:** -```arduino +```clike #include M5.begin(); @@ -612,14 +612,14 @@ M5.Lcd.clear(BLACK); **Example:** -```arduino +```clike #include M5.begin(); M5.Lcd.drawPixel(22,22,RED); ``` - 0 ~ 1023 unit_Neopixel = unit.get(unit.NEOPIXEL, unit.PORTB, number) # pos: 1 ~ number @@ -492,7 +492,7 @@ unit_Neopixel.setBrightness(brightness) - Chip: **SK6812** -```python +```clike # init --- Effective IO: PORTA | PORTB | PORTC unit_Rgb = unit.get(unit.RGB, unit.PORTB) # pos: 1 ~ number @@ -513,7 +513,7 @@ unit_Rgb.setBrightness(brightness) - Chip: **HX711** -```python +```clike # init --- Effective IO: PORTA | PORTB | PORTC unit_weight = unit.get(unit.WEIGHT, unit.PORTA) # 0 ~ 16777216 (24bit) @@ -528,7 +528,7 @@ unit_weight.zero() - [Product Deteil](zh_CN/unit/Servo) -```python +```clike # init --- Effective IO: PORTA | PORTB | PORTC unit_servo = unit.get(unit.SERVO, unit.PORTA) # us: 500 ~ 2500, 50HZ, High level duration @@ -548,7 +548,7 @@ unit_servo.write_angle(degrees) - Chip: **FPC1020A** -```python +```clike # init --- Effective IO: PORTA | PORTC unit_finger = unit.get(unit.FINGER, unit.PORTC) # Method diff --git a/docs/en/product_list.json b/docs/en/product_list.json index b6ebcba7..28fad275 100644 --- a/docs/en/product_list.json +++ b/docs/en/product_list.json @@ -138,6 +138,7 @@ {"a":"/#/en/atom/atomic_qr", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atomic_qr_01.webp", "p":"ATOM QR-CODE", "sku":"K041" ,"kw":"ATOM QR CODE SCAN"}, {"a":"/#/en/atom/atomicgps", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atomicgps_01.webp", "p":"ATOM GPS", "sku":"K043" ,"kw":"ATOM GPS TF"}, {"a":"/#/en/atom/atomictf", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atomictf_01.webp", "p":"ATOM TF-CARD", "sku":"K044" ,"kw":"ATOM TF"}, + {"a":"/#/en/atom/atom_spk", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atom_spk_01.webp", "p":"ATOM SPK", "sku":"K054" ,"kw":"ATOM SPK SPEAKER NS4168 TFCard SD"}, {"a":"/#/en/atom/atomic232", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atom232.webp", "p":"ATOM RS-232", "sku":"K046" ,"kw":"ATOM RS232"}, {"a":"/#/en/atom/atomic485", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atom485.webp", "p":"ATOM RS-485", "sku":"K045" ,"kw":"ATOM RS485"}, {"a":"/#/en/atom/atomhub_switch", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atomswitch.webp", "p":"ATOM SWITCH", "sku":"K042" ,"kw":"ATOM SWITCH RS485"}, diff --git a/docs/en/quick_start/bala/bala_quick_start.md b/docs/en/quick_start/bala/bala_quick_start.md index 98603e35..f57941bb 100644 --- a/docs/en/quick_start/bala/bala_quick_start.md +++ b/docs/en/quick_start/bala/bala_quick_start.md @@ -37,7 +37,7 @@ 7. Copy the following code to UIFlow and then click `Download`. -```python +```clike from m5stack import * from m5ui import * from m5bala import M5Bala @@ -101,7 +101,7 @@ while True: 7. Clone **[M5Bala](https://github.com/m5stack/M5Bala.git)** by shell command. *If you dont't have Git installed yet, click [here](https://git-scm.com/download/win) and install it.* -```shell +```clike git clone --recursive https://github.com/m5stack/M5Bala.git ``` diff --git a/docs/en/quick_start/faces/gameboy_burn_a_nes_game.md b/docs/en/quick_start/faces/gameboy_burn_a_nes_game.md index 5958e1a2..dadac738 100644 --- a/docs/en/quick_start/faces/gameboy_burn_a_nes_game.md +++ b/docs/en/quick_start/faces/gameboy_burn_a_nes_game.md @@ -30,7 +30,7 @@ Open `terminal`, go to the path where `firmware.zip` is located Execute the following commands in the `terminal` -```sh +```clike unzip firmware.zip cd firmware esptool.py erase_flash 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 0883b553..7d4f44a3 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 @@ -121,7 +121,7 @@ Create a `.ino` file, `File`->`New`. Click `Save`, name it `my_test.ino`, and Copy the code below to my_test.ino -```arduino +```clike #include // the setup routine runs once when M5Stack starts up diff --git a/docs/en/quick_start/m5stickv/m5stickv_quick_start_maixpy.md b/docs/en/quick_start/m5stickv/m5stickv_quick_start_maixpy.md index 4b29cde7..9b32dbd9 100644 --- a/docs/en/quick_start/m5stickv/m5stickv_quick_start_maixpy.md +++ b/docs/en/quick_start/m5stickv/m5stickv_quick_start_maixpy.md @@ -88,7 +88,7 @@ >Type in the following code, a display "hello world" will show on the screen . -``` +```clike import lcd lcd.init() @@ -135,7 +135,7 @@ In this way, it is simple and handy, but there is something worth your attention Use `exec()` function: -```python +```clike with open("hello.py") as f: exec(f.read()) @@ -189,7 +189,7 @@ Linux command line to run permissions, then execute commands The firmware has a built-in WS2812 RGB LED driver library. The following is a reference routine: -``` +```clike from modules import ws2812 from fpioa_manager import * fm.register(board_info.CONNEXT_A) @@ -217,7 +217,7 @@ while True: Introduction: Incoming True or False , True starts button detection,False cancel the detections, Button short press reset long press All the power is turned off under sleep mode, which should identical to the normal meaning of shutdown, but we adopt the idea from AXP192 datasheet as Sleep Mode. -``` +```clike from pmu import axp192 pmu = axp192() pmu.enablePMICSleepMode(True) diff --git a/docs/en/quick_start/timer_cam/quick_start_uiflow.md b/docs/en/quick_start/timer_cam/quick_start_uiflow.md index e8d5e2ca..9b71ca6f 100644 --- a/docs/en/quick_start/timer_cam/quick_start_uiflow.md +++ b/docs/en/quick_start/timer_cam/quick_start_uiflow.md @@ -60,7 +60,7 @@ The URL filled in HTTP is the generated token QR code (browser address), which i ## Core2 Example -```Python +```clike import urequests import time diff --git a/docs/en/quick_start/unitv/unitv_quick_start_maixpy.md b/docs/en/quick_start/unitv/unitv_quick_start_maixpy.md index 14f259ab..4f2a75b7 100644 --- a/docs/en/quick_start/unitv/unitv_quick_start_maixpy.md +++ b/docs/en/quick_start/unitv/unitv_quick_start_maixpy.md @@ -102,7 +102,7 @@ In this way, it is simple and handy, but thers something worth your attention, ` Use `exec()` function: -```python +```clike with open("hello.py") as f: exec(f.read()) @@ -151,7 +151,7 @@ Linux command line to run permissions, then execute commands The firmware has a built-in WS2812 RGB LED driver library. The following is a reference routine. Note: Since the expansion port of UnitV does not have a driving load function, this program is only suitable for driving the built-in RGB LED: -``` +```clike from modules import ws2812 from fpioa_manager import * fm.register(8) diff --git a/docs/en/quick_start/unitv/v_function.md b/docs/en/quick_start/unitv/v_function.md index eaaf7274..bde820e4 100644 --- a/docs/en/quick_start/unitv/v_function.md +++ b/docs/en/quick_start/unitv/v_function.md @@ -138,7 +138,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Receive JSON -``` +```clike { "FUNC": "MOTION DETECT V1.0", "DIFF TOTAL": 10000, //rate of difference @@ -171,7 +171,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Send JSON -``` +```clike { "MOTION DETECT": 1.0, //Function mark "required" "mode": "COMPUTE_MODE_STATIC", //"COMPUTE_MODE_STATIC" or "COMPUTE_MODE_DYNAMIC" @@ -216,7 +216,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Receive JSON -``` +```clike { "FUNC": "TARGET TRACKER V1.0", "x": 282, @@ -229,7 +229,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Send JSON -``` +```clike { "TARGET TRACKER": " V1.0", "x": 282, //xywh all "required" @@ -299,7 +299,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Receive JSON -``` +```clike { "FUNC": "COLOR TRACKER V1.0", "TOTAL": 3, //Number of bounding boxes @@ -330,7 +330,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Send JSON -``` +```clike { "COLOR TRACKER": 1.0, //Function mark "required" "thr_w": 20, //Bounding box width threshold,[3,200] @@ -376,7 +376,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Receive JSON -``` +```clike { "FUNC": "FACE DETECT", // Function Description "count": 3, // Number of recognized faces @@ -435,7 +435,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Receive JSON -``` +```clike { "count": 1, "FUNC": "FIND QRCODE", @@ -480,7 +480,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Receive JSON -``` +```clike { "0": { "x": 62, @@ -520,7 +520,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Receive JSON -``` +```clike { "0": { "x": 20, @@ -563,7 +563,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Receive JSON -``` +```clike { "0": { "x": 71, @@ -594,7 +594,7 @@ V-Function is a series of **visual recognition** functional firmware developed b >The above multiple identification code functions are all implemented using the same firmware `Find Code`. Users can configure mode switching by sending the JSON data below. -``` +```clike { "FIND CODE": 1.0, @@ -629,7 +629,7 @@ V-Function is a series of **visual recognition** functional firmware developed b -``` +```clike 00000000 00000000 00111100 00@@@@00 @@@@ 01000010 0@0000@0 @ @ @@ -651,7 +651,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Receive JSON -``` +```clike { "FUNC": "TAG READER V2.0", "TOTAL": 1, @@ -722,7 +722,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Receive JSON -``` +```clike { "FUNC": "LINE TRACKER V1.0", "angle": 3.8593475818634033 //Angle of car turning @@ -732,7 +732,7 @@ V-Function is a series of **visual recognition** functional firmware developed b #### Send JSON -``` +```clike { "LINE TRACKER": 1.0, //Function mark, not default "thr_w": 20, //Can be default bounding box width threshold,[3,200] diff --git a/docs/en/related_documents/M5StickV-Maixpy.md b/docs/en/related_documents/M5StickV-Maixpy.md index 5f153d8b..1230f3ab 100644 --- a/docs/en/related_documents/M5StickV-Maixpy.md +++ b/docs/en/related_documents/M5StickV-Maixpy.md @@ -5,7 +5,7 @@ Quoted from: https://github.com/anoken/purin_wo_motto_mimamoru_gijutsu/tree/mast ## Button **example** -```python +```clike import lcd from Maix import I2S, GPIO @@ -41,7 +41,7 @@ while(True): ## LED **example** -```python +```clike from fpioa_manager import * from Maix import GPIO @@ -94,7 +94,7 @@ while(True): **example** -```python +```clike import time,math from machine import Timer,PWM from fpioa_manager import fm @@ -113,7 +113,7 @@ while(True): ## I2C scan **example** -```python +```clike from machine import I2C i2c = I2C(I2C.I2C0, freq=100000, scl=28, sda=29) @@ -124,7 +124,7 @@ print(devices) ## MPU6886 **example** -```python +```clike from machine import I2C import lcd @@ -201,7 +201,7 @@ while True: **example** -```python +```clike from machine import I2C import lcd @@ -305,7 +305,7 @@ while True: **example** -```python +```clike import pmu,lcd lcd.init() @@ -337,7 +337,7 @@ while True: **example** -```python +```clike import lcd #for test from machine import I2C AXP192_ADDR=0x34 @@ -353,7 +353,7 @@ i2c.writeto_mem(AXP192_ADDR, Backlight_ADDR,int(val)) **example** -```python +```clike import sensor,image,lcd lcd.init() lcd.rotation(2) @@ -370,7 +370,7 @@ while True: **example** -```python +```clike import sensor, image, lcd, os from Maix import I2S, GPIO @@ -431,7 +431,7 @@ while True: **example** -```python +```clike import sensor,image,lcd,gc,time,uos from fpioa_manager import * @@ -521,7 +521,7 @@ while True: **example** -```python +```clike import sensor, image, lcd, time from fpioa_manager import fm @@ -571,7 +571,7 @@ while True: **example** -```python +```clike import os devices = os.listdir("/") @@ -591,7 +591,7 @@ if "sd" in devices: **example** -```python +```clike from fpioa_manager import * from Maix import I2S, GPIO @@ -640,7 +640,7 @@ player.finish() **example** -```python +```clike fimport lcd,math,image lcd.init() @@ -711,7 +711,7 @@ while True: **example** -```python +```clike import sensor, image, time clock = time.clock() @@ -724,7 +724,7 @@ sys.exit() **example** -```python +```clike ## M5StickV Mic Record and Speaker Play ## A button is Play diff --git a/docs/en/related_documents/how_to_burn_firmware.md b/docs/en/related_documents/how_to_burn_firmware.md index 891db5ae..f5d05381 100644 --- a/docs/en/related_documents/how_to_burn_firmware.md +++ b/docs/en/related_documents/how_to_burn_firmware.md @@ -144,19 +144,19 @@ Open the terminal, enter the following command according to your system version * Centos7: -```shell +```clike sudo yum install python-pip ``` * Ubuntu and Debian: -```shell +```clike sudo apt-get install python-pip ``` * Arch: -```shell +```sclike sudo pacman -S --needed python-pip ``` diff --git a/docs/en/related_documents/v-training.md b/docs/en/related_documents/v-training.md index 37ba5cbc..8a9298bd 100644 --- a/docs/en/related_documents/v-training.md +++ b/docs/en/related_documents/v-training.md @@ -151,7 +151,7 @@ At present, V-Training provides two model training modes "Classification" (recog **The following is the boot program with serial port printing program added. It is only a partial comment and is not a complete program. Please use the boot program file returned by training to modify it.** -``` +```clike ... task = kpu.load("/sd/c33723fb62faf1be_mbnet10_quant.kmodel")//载入模型文件 @@ -188,13 +188,13 @@ At present, V-Training provides two model training modes "Classification" (recog > After the shooting is completed, we use the labeling tool LabelIMG to mark the identified objects in the material and generate a mark file. Users can install the Python environment by themselves, run the following command on the command line, and install LabelIMG through its own pip package management tool。 -``` +```clike pip install LabelIMG ``` > After the installation is complete, run the "LabelIMG" command line to open the labeling tool. -``` +```clike LabelIMG ``` @@ -208,14 +208,14 @@ LabelIMG > In addition to adding the tag file, we also need to manually add a v-training.config configuration file to tell the training service how many recognition objects we included in this training. (If two recognition objects are marked in the pattern example above, we need to fill in the number of categories in the configuration file as 2, the format is as follows) -``` +```clike { "classes":2 } ``` > Complete the above operations, place all the materials in the same folder, refer to the directory structure below. All files are selected and compressed into a compressed package in zip format for upload training. -``` +```clike folder---------------------- |--v-training.config |--1.jpg diff --git a/docs/en/uiflow/RS485.md b/docs/en/uiflow/RS485.md index 7ffe207c..b3a84c34 100644 --- a/docs/en/uiflow/RS485.md +++ b/docs/en/uiflow/RS485.md @@ -35,7 +35,7 @@ Serial2.print("97"); or Serial2.write("97"); > *The following basic code is for reference only -```arduino +```clike #include #define RX_PIN 16 @@ -69,7 +69,7 @@ void loop() { >Refer to the RS485 example for specific details. The following is the sample code. -```arduino +```clike #include #define RX_PIN 16 diff --git a/docs/en/uiflow/uiflow_home_page.md b/docs/en/uiflow/uiflow_home_page.md index aaab71b7..377a0137 100644 --- a/docs/en/uiflow/uiflow_home_page.md +++ b/docs/en/uiflow/uiflow_home_page.md @@ -18,7 +18,7 @@ {{item.title}} -
+ diff --git a/docs/en/unit/envII.md b/docs/en/unit/envII.md index 4c9d3e67..c73fbbb0 100644 --- a/docs/en/unit/envII.md +++ b/docs/en/unit/envII.md @@ -127,7 +127,7 @@ BMP280 is an absolute barometric pressure sensor which is especially designed fo
@@ -157,13 +157,35 @@ BMP280 is an absolute barometric pressure sensor which is especially designed fo ## Example -### 1. Arduino +?>This case uses ENVII Unit to read temperature, humidity, and atmospheric pressure data. Please select the corresponding case program below according to the equipment you are using. -This is an ENV example - implementing reading temperature, humidity and atmospheric pressure function. -1, Before compiling, please install `Adafruit BMP280 Library` -2, copy `Adafruit_Sensor.h` to `C:\Users\\Documents\Arduino\libraries\Adafruit_BMP280_Library` + +
+ Arduino + +
+
+
+ Core2 +
+ -The code below is incomplete. To get the complete code, please click [here](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ENVII/Arduino) +>Note: 1. Please install [Adafruit BMP280 Library](https://github.com/adafruit/Adafruit_BMP280_Library) before compiling the program + +```clike +SHT3X.h - API + // + float cTemp=0; + float fTemp=0; + float humidity=0 + +Adafruit_BMP280.h - API + + float readPressure(void); + +``` ### 2. UIFlow diff --git a/docs/index.html b/docs/index.html index 99b326ef..3651fa50 100755 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -M5Stack Docs - The reference docs for M5Stack products.
diff --git a/docs/zh_CN/atom/atomic_qr.md b/docs/zh_CN/atom/atomic_qr.md index 3a82c602..97d510e5 100644 --- a/docs/zh_CN/atom/atomic_qr.md +++ b/docs/zh_CN/atom/atomic_qr.md @@ -76,7 +76,7 @@ ≥5mil - 精神范围 + 读取范围 EAN-13: 50-200mm(13mil), Code39: 40-90mm(5mil 10字节), QR Code: 25-240mm(20mil 16字节), Data Matrix: 50-90mm(10mil 20字节), PDF 417: 30-130mm(6.67mil 7字节) @@ -180,7 +180,7 @@ ## 相关链接 -- **[用户手册QR模块二维码指令说明](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/atombase/AtomicQR/AtomicQR_Reader%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C.docx)** +- **[用户手册QR模块二维码指令说明](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/atombase/AtomicQR/AtomicQR_Reader_CN.pdf)** ## 相关视频 diff --git a/docs/zh_CN/core/atom_lite.md b/docs/zh_CN/core/atom_lite.md index 84704684..a8f37f5a 100644 --- a/docs/zh_CN/core/atom_lite.md +++ b/docs/zh_CN/core/atom_lite.md @@ -35,6 +35,9 @@ - 微型控制器 - 可穿戴设备 +## 常见驱动问题 + +>UnitV/M5StickV/M5StickC/ATOM主控在部分系统中,可能无法免驱工作,用户可以通过手动安装[FTDI驱动](https://ftdichip.com/drivers/vcp-drivers/)修复该问题。 ## 规格参数 diff --git a/docs/zh_CN/core/atom_matrix.md b/docs/zh_CN/core/atom_matrix.md index 3509e80e..04fbee54 100644 --- a/docs/zh_CN/core/atom_matrix.md +++ b/docs/zh_CN/core/atom_matrix.md @@ -39,6 +39,10 @@ - 微型控制器 - 可穿戴设备 +## 常见驱动问题 + +>UnitV/M5StickV/M5StickC/ATOM主控在部分系统中,可能无法免驱工作,用户可以通过手动安装[FTDI驱动](https://ftdichip.com/drivers/vcp-drivers/)修复该问题。 + ## 规格参数 diff --git a/docs/zh_CN/core/gray.md b/docs/zh_CN/core/gray.md index 19c40a8b..fc72f4ea 100644 --- a/docs/zh_CN/core/gray.md +++ b/docs/zh_CN/core/gray.md @@ -192,7 +192,7 @@ TF 卡最大支持 16GB **GROVE 接口 A & IP5306** -电源管理芯片 (IP5306) 是定制 I2C 版本,它的 I2C 地址是 0x75。点击[这里](https://github.com/m5stack/M5-Schematic/blob/master/Core/IIC_IP5306_REG_V1.4.pdf)查看 IP5306 的寄存器手册。 +电源管理芯片 (IP5306) 是定制 I2C 版本,它的 I2C 地址是 0x75。点击[这里](https://github.com/m5stack/M5-Schematic/blob/master/Core/I2C_IP5306_REG_V1.4.pdf)查看 IP5306 的寄存器手册。
@@ -326,7 +326,7 @@ BMM150 I2C 地址为 0x10 - [ESP32](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/esp32_datasheet_cn.pdf) - [MPU6886](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/MPU-6886-000193%2Bv1.1_GHIC_en.pdf) - [BMM150](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/BMM150_datasheet_en.pdf) - - [IP5306](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/IIC_IP5306_REG_V1.4_cn.pdf) + - [IP5306](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/I2C_IP5306_REG_V1.4_cn.pdf) - **API** diff --git a/docs/zh_CN/core/m5go.md b/docs/zh_CN/core/m5go.md index 8df36a10..1381c667 100644 --- a/docs/zh_CN/core/m5go.md +++ b/docs/zh_CN/core/m5go.md @@ -191,7 +191,7 @@ TF卡最大支持16GB **GROVE 接口 A & IP5306** -电源管理芯片 (IP5306) 是定制 I2C 版本,它的 I2C 地址是 0x75。点击[这里](https://github.com/m5stack/M5-Schematic/blob/master/Core/IIC_IP5306_REG_V1.4.pdf)查看 IP5306 的寄存器手册。 +电源管理芯片 (IP5306) 是定制 I2C 版本,它的 I2C 地址是 0x75。点击[这里](https://github.com/m5stack/M5-Schematic/blob/master/Core/I2C_IP5306_REG_V1.4.pdf)查看 IP5306 的寄存器手册。
ESP32 ChipGPIO22GPIO215VGND
@@ -344,7 +344,7 @@ BMM150 I2C address 0x10 - [ESP32](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/esp32_datasheet_cn.pdf) - [MPU6886](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/MPU-6886-000193%2Bv1.1_GHIC_en.pdf) - [BMM150](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/BMM150_datasheet_en.pdf) - - [IP5306](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/IIC_IP5306_REG_V1.4_cn.pdf) + - [IP5306](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/I2C_IP5306_REG_V1.4_cn.pdf) - **API** diff --git a/docs/zh_CN/core/m5go_lite.md b/docs/zh_CN/core/m5go_lite.md index cba7c8c1..03917bc6 100644 --- a/docs/zh_CN/core/m5go_lite.md +++ b/docs/zh_CN/core/m5go_lite.md @@ -190,7 +190,7 @@ **GROVE 接口 A & IP5306** -电源管理芯片 (IP5306) 是定制 I2C 版本,它的 I2C 地址是 0x75。点击[这里](https://github.com/m5stack/M5-Schematic/blob/master/Core/IIC_IP5306_REG_V1.4.pdf)查看 IP5306 的寄存器手册。 +电源管理芯片 (IP5306) 是定制 I2C 版本,它的 I2C 地址是 0x75。点击[这里](https://github.com/m5stack/M5-Schematic/blob/master/Core/I2C_IP5306_REG_V1.4.pdf)查看 IP5306 的寄存器手册。
ESP32 ChipGPIO22GPIO215VGND
@@ -346,7 +346,7 @@ BMM150 I2C address 0x10 - [ESP32](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/esp32_datasheet_cn.pdf) - [MPU6886](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/MPU-6886-000193%2Bv1.1_GHIC_en.pdf) - [BMM150](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/BMM150_datasheet_en.pdf) - - [IP5306](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/IIC_IP5306_REG_V1.4_cn.pdf) + - [IP5306](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/I2C_IP5306_REG_V1.4_cn.pdf) - **API** diff --git a/docs/zh_CN/core/m5stick.md b/docs/zh_CN/core/m5stick.md index 05dad271..8591c399 100644 --- a/docs/zh_CN/core/m5stick.md +++ b/docs/zh_CN/core/m5stick.md @@ -247,7 +247,7 @@ M5stick 是 M5Stack 产品系列中的核心设备之一,该产品系列建立 - [MPU9250](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/PS-MPU-9250A-01-v1.1_en.pdf) - - [IP5306](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/IIC_IP5306_REG_V1.4_cn.pdf) + - [IP5306](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/I2C_IP5306_REG_V1.4_cn.pdf) ## 案例程序 diff --git a/docs/zh_CN/core/m5stickc.md b/docs/zh_CN/core/m5stickc.md index 9aee3ea8..fb289bc9 100644 --- a/docs/zh_CN/core/m5stickc.md +++ b/docs/zh_CN/core/m5stickc.md @@ -59,6 +59,10 @@ M5StickC 是 M5Stack 产品系列中的核心设备之一,该产品系列建 - DIY作品 - 智能家居设备 +## 常见驱动问题 + +>UnitV/M5StickV/M5StickC/ATOM主控在部分系统中,可能无法免驱工作,用户可以通过手动安装[FTDI驱动](https://ftdichip.com/drivers/vcp-drivers/)修复该问题。 + ## 规格参数
ESP32 ChipGPIO22GPIO215VGND
diff --git a/docs/zh_CN/core/m5stickc_plus.md b/docs/zh_CN/core/m5stickc_plus.md index 6c4d6214..e5f6a94e 100644 --- a/docs/zh_CN/core/m5stickc_plus.md +++ b/docs/zh_CN/core/m5stickc_plus.md @@ -30,7 +30,7 @@ * G36/G25共用同一个端口,当使用其中一个引脚时要将另外一个引脚设置为浮空输入 * 比如要使用G36引脚作为ADC输入,则配置G25引脚为浮空状态 -```arduino +```clike setup() { M5.begin(); @@ -68,6 +68,10 @@ setup() - DIY作品 - 智能家居设备 +## 常见驱动问题 + +>UnitV/M5StickV/M5StickC/ATOM主控在部分系统中,可能无法免驱工作,用户可以通过手动安装[FTDI驱动](https://ftdichip.com/drivers/vcp-drivers/)修复该问题。 + ## 规格参数
diff --git a/docs/zh_CN/faq.md b/docs/zh_CN/faq.md index 1e3c0d60..d737aaec 100644 --- a/docs/zh_CN/faq.md +++ b/docs/zh_CN/faq.md @@ -331,7 +331,7 @@ UIFlow是M5Stack推出的一款可视化编程平台,内部集成了与M5Stack
使用按键和喇叭需要在执行后添加M5.update()来重新响应。
-            
+            
               M5.update();
             
          
@@ -391,7 +391,7 @@ UIFlow是M5Stack推出的一款可视化编程平台,内部集成了与M5Stack
在 Arduino 程序的 Setup()中执行以下语句
-            
+            
               dacWrite(M5STACKFIRE_SPEAKER_PIN, 0);
             
          
diff --git a/docs/zh_CN/hat/hat-8servos.md b/docs/zh_CN/hat/hat-8servos.md index e61af9fb..f7c5b9eb 100644 --- a/docs/zh_CN/hat/hat-8servos.md +++ b/docs/zh_CN/hat/hat-8servos.md @@ -13,7 +13,7 @@ - 八路舵机控制 - 1xRGB LED - 16340电池底座 -- IIC协议控制(0x38) +- I2C协议控制(0x38) ## 应用 diff --git a/docs/zh_CN/hat/hat-ncir.md b/docs/zh_CN/hat/hat-ncir.md index 4c81fd2f..05ad268f 100644 --- a/docs/zh_CN/hat/hat-ncir.md +++ b/docs/zh_CN/hat/hat-ncir.md @@ -13,7 +13,7 @@ ## 产品特性 - MLX90614ESF-AAA -- IIC地址(0x5A) +- I2C地址(0x5A) - 工作电压: 4.5 to 5.5V - 物体测温范围: -70°C ~ 380°C - 环境测温范围: -40°C ~ 125 ˚C diff --git a/docs/zh_CN/hat/hat_envII.md b/docs/zh_CN/hat/hat_envII.md index 14bc8f25..df7beac5 100644 --- a/docs/zh_CN/hat/hat_envII.md +++ b/docs/zh_CN/hat/hat_envII.md @@ -13,7 +13,7 @@ - 温湿度、气压、磁场测量 - 简单易用 - 较高精准度 -- 支持IIC +- 支持I2C - GROVE 接口, 支持平台 [UIFlow](http://flow.m5stack.com) 、 [Arduino](http://www.arduino.cc). - 2x LEGO 兼容孔 diff --git a/docs/zh_CN/module/commu.md b/docs/zh_CN/module/commu.md index 9038ac98..24b74a96 100644 --- a/docs/zh_CN/module/commu.md +++ b/docs/zh_CN/module/commu.md @@ -12,7 +12,7 @@ ## 产品特性 -- 支持IIC,TTL,RS485,CAN等多种通讯协议 +- 支持I2C,TTL,RS485,CAN等多种通讯协议 ## 包含 @@ -92,7 +92,7 @@ ## 管脚分配 -| *CAN* | *ESP32 Chip* | +| *MCP2515* | *ESP32 Chip* | | :----------: |:------------: | | CAN_CS | GPIO12 | | CAN_INT | GPIO15 | @@ -103,8 +103,8 @@ | *I2C Interface* | *ESP32 Chip* | | :--------------: |:------------: | -| IIC_SDA | GPIO21 | -| IIC_SCL | GPIO22 | +| I2C_SDA | GPIO21 | +| I2C_SCL | GPIO22 | ## 原理图 diff --git a/docs/zh_CN/module/encoder.md b/docs/zh_CN/module/encoder.md index c1b64d97..bffc250b 100644 --- a/docs/zh_CN/module/encoder.md +++ b/docs/zh_CN/module/encoder.md @@ -99,7 +99,7 @@ M5Core与ENCODER之间的串行通信协议是I2C(地址:0x5E) **控制RGB灯圈** -```arduino +```clike /* Parameter: led_index: 0 ~ 11 @@ -118,7 +118,7 @@ void Led(int led_index, int r, int g, int b){ **读取编码器增量** -```arduino +```clike void get_encoder_increment(void){ int temp_encoder_increment; diff --git a/docs/zh_CN/module/faces_rfid.md b/docs/zh_CN/module/faces_rfid.md index 88dd292a..2071483f 100644 --- a/docs/zh_CN/module/faces_rfid.md +++ b/docs/zh_CN/module/faces_rfid.md @@ -11,7 +11,7 @@ ## 产品特性 - FACES套件兼容 -- IIC通讯协议(0x28) +- I2C通讯协议(0x28) - MFRC522 ## 包含 diff --git a/docs/zh_CN/module/joystick.md b/docs/zh_CN/module/joystick.md index 57256e4a..facd662e 100644 --- a/docs/zh_CN/module/joystick.md +++ b/docs/zh_CN/module/joystick.md @@ -89,7 +89,7 @@ **控制RGB灯圈** -```arduino +```clike /* Parameter: indexOfLED: 0 ~ 11 @@ -107,7 +107,7 @@ void Led(int indexOfLED, int r, int g, int b){ **读取摇杆各个方向的偏移量** -```arduino +```clike void get_joystick_offset(void){ Wire.requestFrom(FACE_JOY_ADDR, 5); if (Wire.available()) { diff --git a/docs/zh_CN/module/usb.md b/docs/zh_CN/module/usb.md index cba2fecd..e179c553 100644 --- a/docs/zh_CN/module/usb.md +++ b/docs/zh_CN/module/usb.md @@ -90,7 +90,7 @@ * 按中间滚轮按钮清除屏幕. -```arduino +```clike #include #include #include diff --git a/docs/zh_CN/mpy/mpy_api_list.md b/docs/zh_CN/mpy/mpy_api_list.md index 0c0be9b3..f1ffa4ea 100644 --- a/docs/zh_CN/mpy/mpy_api_list.md +++ b/docs/zh_CN/mpy/mpy_api_list.md @@ -1,4 +1,4 @@ -
+
@@ -15,7 +15,7 @@ {{item.title}}
-
+ diff --git a/docs/zh_CN/mpy/unit.md b/docs/zh_CN/mpy/unit.md index f1e1e343..626617d4 100644 --- a/docs/zh_CN/mpy/unit.md +++ b/docs/zh_CN/mpy/unit.md @@ -6,19 +6,19 @@ - **函数原型** -```python +```clike def get(unit, port, *arg) ``` - 引入模块 -```python +```clike unit.get(unit.JOYSTICK, unit.PORTA) ``` - 卸载模块 -```python +```clike unit.deinit() ``` @@ -32,7 +32,7 @@ unit.deinit() - Addr: **0x57** -```python +```clike Ultrasonic0 = unit.get(unit.ULTRASONIC, unit.PORTA) @@ -48,7 +48,7 @@ distance = Ultrasonic0.distance - Addr: **0x57** -```python +```clike heart0 = unit.get(unit.HEART, unit.PORTA) @@ -80,7 +80,7 @@ SpO2 = heart0.getSpO2() - Chip: **sht30**, **bmp280** - Addr: **0x44**, **0x76** -```python +```clike # init --- Effective IO: PORTA | PORTC unit_env = unit.get(unit.ENV, unit.PORTA) @@ -100,7 +100,7 @@ pre = unit_env.pressure - Addr: **0x48** -``` python +```clike # init --- Effective IO: PORTA | PORTC unit_adc = unit.get(unit.ADC, unit.PORTA) @@ -116,7 +116,7 @@ vol = unit_adc.voltage - Addr: **0x53** -```python +```clike adc0 = unit.get(unit.ADC, unit.PORTA) x = accel0.acceleration[0] @@ -132,7 +132,7 @@ z = accel0.acceleration[2] - Addr: **0x48** -```python +```clike # init --- Effective IO: PORTA unit_dac = unit.get(unit.DAC, unit.PORTA) @@ -152,7 +152,7 @@ unit_dac.setVoltage(vol, save=False) - Addr: **0x5a** -```python +```clike # init --- Effective IO: PORTA | PORTC unit_ncir = unit.get(unit.NCIR, unit.PORTA) # tmp: -70°C ~ 382.2°C @@ -167,7 +167,7 @@ tmp = unit_ncir.temperature - Addr: **0x52** -```python +```clike # init --- Effective IO: PORTA | PORTC unit_joystick = unit.get(unit.JOYSTICK, unit.PORTA) # X direction value, 0 ~ 255 @@ -190,7 +190,7 @@ press = unit_joystick.Press - Addr: **0x29** -```python +```clike # init --- Effective IO: PORTA | PORTC unit_tof = unit.get(unit.TOF, unit.PORTA) # distance: 30 ~ 800(mm), other is invalid @@ -205,7 +205,7 @@ distance = unit_tof.distance - Addr: **0x29** -``` python +```clike # init --- Effective IO: PORTB unit_color = unit.get(unit.COLOR, unit.PORTA) @@ -228,7 +228,7 @@ unit_color.blue - Addr: ***0x27*** -```python +```clike # init --- Effective IO: PORTA | PORTC unit_extIO = unit.get(unit.EXT_IO, unit.PORTA) # Method @@ -257,7 +257,7 @@ unit_extIO.digitWrite(pin, value) - Addr: **0x28** -```python +```clike # init --- Effective IO: PORTA | PORTC unit_rfid = unit.get(unit.RFID, unit.PORTA) # if card near return True, else return False @@ -280,7 +280,7 @@ dataStr = unit_rfid.readBlockStr(block) - Addr: ***0x5F*** -```python +```clike # init --- Effective IO: PORTB unit_cardKB = unit.get(unit.CARDKB, unit.PORTA) @@ -300,7 +300,7 @@ unit_cardKB = unit.get(unit.CARDKB, unit.PORTA) - Addr: ***0x5a*** -```python +```clike # init --- Effective IO: PORTA | PORTC unit_track = unit.get(unit.TRACK, unit.PORTA) # pos: 1, 2, 3, 4 @@ -322,7 +322,7 @@ value = unit_track.getDigitalValue(pos) - Addr: **0x51** -```python +```clike # init --- Effective IO: PORTA | PORTC unit_makey = unit.get(unit.MAKEY, unit.PORTA) # data:-1, 0 ~ 15 @@ -337,7 +337,7 @@ data = unit_makey.value - [查看产品详情](zh_CN/unit/pir) -```python +```clike # init --- Effective IO: PORTA | PORTB | PORTC unit_pir = unit.get(unit.PIR, unit.PORTB) # return 0 or 1 @@ -349,7 +349,7 @@ state = pir.state - [查看产品详情](zh_CN/unit/button) -``` python +```clike # init --- Effective IO: PORTA | PORTB | PORTC unit_btn = unit.get(unit.BUTTON, unit.PORTB) @@ -385,7 +385,7 @@ unit_btn.pressFor(1.2, on_pressFor) - [查看产品详情](zh_CN/unit/button) -```python +```clike # init --- Effective IO: PORTA | PORTB | PORTC unit_dualButton = unit.get(unit.DUAL_BUTTON, unit.PORTB) # btnRed, btnRed method like button unit @@ -398,7 +398,7 @@ btnRed = unit_dualButton.btnBlue - [查看产品详情](zh_CN/unit/relay) -```python +```clike # init --- Effective IO: PORTA | PORTB | PORTC unit_relay = unit.get(unit.RELAY, unit.PORTB) # select com connect on @@ -412,7 +412,7 @@ unit_relay.off() - [查看产品详情](zh_CN/unit/ir) -```python +```clike # init --- Effective IO: PORTA | PORTB | PORTC unit_ir = unit.get(unit.IR, unit.PORTB) # ir tx 25hz signal with 38khz signal carrier @@ -428,7 +428,7 @@ value = unit.rxStatus() Analog Device ( [查看产品详情](zh_CN/unit/angle) -``` python +```clike # init --- Effective IO: PORTB unit_angle = unit.get(unit.ANGLE, unit.PORTB) @@ -443,7 +443,7 @@ filterValue = unit_angle.read() - [查看产品详情](zh_CN/unit/light) -```python +```clike # init --- Effective IO: PORTB unit_light = unit.get(unit.LIGHT, unit.PORTB) # adc value, range 0 ~ 1024 @@ -456,7 +456,7 @@ digitalValue = unit_light.digitalValue - [查看产品详情](zh_CN/unit/light) -```python +```clike # init --- Effective IO: PORTB unit_earth = unit.get(unit.LIGHT, unit.PORTB) # adc value, range 0 ~ 1024 @@ -471,7 +471,7 @@ digitalValue = unit_earth.digitalValue - Chip: **SK6812** -```python +```clike # init --- Effective IO: PORTA | PORTB | PORTC, number --> 0 ~ 1023 unit_Neopixel = unit.get(unit.NEOPIXEL, unit.PORTB, number) # pos: 1 ~ number @@ -492,7 +492,7 @@ unit_Neopixel.setBrightness(brightness) - Chip: **SK6812** -```python +```clike # init --- Effective IO: PORTA | PORTB | PORTC unit_Rgb = unit.get(unit.RGB, unit.PORTB) # pos: 1 ~ number @@ -513,7 +513,7 @@ unit_Rgb.setBrightness(brightness) - Chip: **HX711** -```python +```clike # init --- Effective IO: PORTA | PORTB | PORTC unit_weight = unit.get(unit.WEIGHT, unit.PORTA) # 0 ~ 16777216 (24bit) @@ -528,7 +528,7 @@ unit_weight.zero() - [查看产品详情](zh_CN/unit/Servo) -```python +```clike # init --- Effective IO: PORTA | PORTB | PORTC unit_servo = unit.get(unit.SERVO, unit.PORTA) # us: 500 ~ 2500, 50HZ, High level duration @@ -548,7 +548,7 @@ unit_servo.write_angle(degrees) - Chip: **FPC1020A** -```python +```clike # init --- Effective IO: PORTA | PORTC unit_finger = unit.get(unit.FINGER, unit.PORTC) # Method diff --git a/docs/zh_CN/product_list.json b/docs/zh_CN/product_list.json index 76dfff27..2b06b265 100644 --- a/docs/zh_CN/product_list.json +++ b/docs/zh_CN/product_list.json @@ -138,6 +138,7 @@ {"a":"/#/zh_CN/atom/atomic_qr", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atomic_qr_01.webp", "p":"ATOM QR-CODE", "sku":"K041" ,"kw":"ATOM QR CODE SCAN"}, {"a":"/#/zh_CN/atom/atomicgps", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atomicgps_01.webp", "p":"ATOM GPS", "sku":"K043" ,"kw":"ATOM GPS TF"}, {"a":"/#/zh_CN/atom/atomictf", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atomictf_01.webp", "p":"ATOM TF-CARD", "sku":"K044" ,"kw":"ATOM TF"}, + {"a":"/#/zh_CN/atom/atom_spk", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atom_spk_01.webp", "p":"ATOM SPK", "sku":"K054" ,"kw":"ATOM SPK SPEAKER NS4168 TFCard SD"}, {"a":"/#/zh_CN/atom/atomic232", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atom232.webp", "p":"ATOM RS-232", "sku":"K046" ,"kw":"ATOM RS232"}, {"a":"/#/zh_CN/atom/atomic485", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atom485.webp", "p":"ATOM RS-485", "sku":"K045" ,"kw":"ATOM RS485"}, {"a":"/#/zh_CN/atom/atomhub_switch", "img":"https://static-cdn.m5stack.com/image/m5-docs_homepage/atom_base/atomswitch.webp", "p":"ATOM SWITCH", "sku":"K042" ,"kw":"ATOM SWITCH RS485"}, 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 58cd285e..052c0c1f 100644 --- a/docs/zh_CN/quick_start/bala/bala_quick_start.md +++ b/docs/zh_CN/quick_start/bala/bala_quick_start.md @@ -46,7 +46,7 @@ 7. 复制粘贴以下代码,并执行程序. -```python +```clike from m5stack import * from m5ui import * from m5bala import M5Bala @@ -110,7 +110,7 @@ while True: 7. 使用Shell命令下载 **[M5Bala案例程序](https://github.com/m5stack/M5Bala.git)** . *如果你还未安装Git, [请点击此处](https://git-scm.com/download/win) 进行下载.* -```shell +```clike git clone --recursive https://github.com/m5stack/M5Bala.git ``` diff --git a/docs/zh_CN/quick_start/faces/gameboy_burn_a_nes_game.md b/docs/zh_CN/quick_start/faces/gameboy_burn_a_nes_game.md index c78419b5..b1793cb5 100644 --- a/docs/zh_CN/quick_start/faces/gameboy_burn_a_nes_game.md +++ b/docs/zh_CN/quick_start/faces/gameboy_burn_a_nes_game.md @@ -28,7 +28,7 @@ Gameboy 模拟器,固件,下载地址:[Github](https://github.com/m5stack/M5 在终端,进入 `firmware.zip` 所在的路径下,执行以下命令 -```sh +```clike unzip firmware.zip cd firmware esptool.py erase_flash diff --git a/docs/zh_CN/quick_start/m5core/m5stack_core_get_started_Arduino_Windows.md b/docs/zh_CN/quick_start/m5core/m5stack_core_get_started_Arduino_Windows.md index 9a85176b..fd571564 100644 --- a/docs/zh_CN/quick_start/m5core/m5stack_core_get_started_Arduino_Windows.md +++ b/docs/zh_CN/quick_start/m5core/m5stack_core_get_started_Arduino_Windows.md @@ -128,7 +128,7 @@ 复制以下代码到 my_test.ino 文件中 -```arduino +```clike #include // the setup routine runs once when M5Stack starts up diff --git a/docs/zh_CN/quick_start/m5stickv/m5stickv_quick_start_maixpy.md b/docs/zh_CN/quick_start/m5stickv/m5stickv_quick_start_maixpy.md index ffe0bc72..ce0cab0d 100644 --- a/docs/zh_CN/quick_start/m5stickv/m5stickv_quick_start_maixpy.md +++ b/docs/zh_CN/quick_start/m5stickv/m5stickv_quick_start_maixpy.md @@ -84,7 +84,7 @@ >在命令行输入下方代码,M5StickV屏幕将显示"hello world". -``` +```clike import lcd lcd.init() @@ -126,7 +126,7 @@ lcd.draw_string(100, 100, "hello world", lcd.RED, lcd.BLACK) 使用 `exec()` 函数来执行 -```python +```clike with open("hello.py") as f: exec(f.read()) @@ -181,7 +181,7 @@ Linux命令行给运行权限然后,执行命令 固件内置了WS2812 RGB LED驱动库,以下为参考例程: -``` +```clike from modules import ws2812 from fpioa_manager import * fm.register(board_info.CONNEXT_A) @@ -208,7 +208,7 @@ while True: 说明: 使用该API实现按钮短按重置,长按睡眠。传入True或False,True启动按钮检测,False取消检测。 -``` +```clike from pmu import axp192 pmu = axp192() pmu.enablePMICSleepMode(True) diff --git a/docs/zh_CN/quick_start/timer_cam/quick_start_uiflow.md b/docs/zh_CN/quick_start/timer_cam/quick_start_uiflow.md index 96192527..13b1f6c3 100644 --- a/docs/zh_CN/quick_start/timer_cam/quick_start_uiflow.md +++ b/docs/zh_CN/quick_start/timer_cam/quick_start_uiflow.md @@ -60,7 +60,7 @@ ## Core2 代码示例 -```Python +```clike import urequests import time import wifiCfg diff --git a/docs/zh_CN/quick_start/unitv/unitv_quick_start_maixpy.md b/docs/zh_CN/quick_start/unitv/unitv_quick_start_maixpy.md index f5c543cc..00f410a2 100644 --- a/docs/zh_CN/quick_start/unitv/unitv_quick_start_maixpy.md +++ b/docs/zh_CN/quick_start/unitv/unitv_quick_start_maixpy.md @@ -5,7 +5,7 @@ - +点击下载EasyLoader >1.EasyLoader是一个简洁快速的程序烧录器,每一个产品页面里的EasyLoader都提供了一个与产品相关的案例程序,对于不需要对固件进行定制或进行其他操作的用户,使用EasyLoader为UnitV烧录固件,会是一个最简洁的方案(**目前EasyLoader仅适用于Windows操作系统**). @@ -16,7 +16,7 @@ > 需要指定烧录文件的用户也可以选用**Kflash**进行固件烧录. - +点击下载固件文件 >1.点击下方对应自己操作系统的 Kflash_GUI烧录工具进行下载. @@ -100,7 +100,7 @@ 使用 `exec()` 函数来执行 -```python +```clike with open("hello.py") as f: exec(f.read()) @@ -147,7 +147,7 @@ Linux命令行给运行权限然后,执行命令 固件内置了WS2812 RGB LED驱动库,以下为参考例程. 注意:由于UnitV的拓展端口不具备驱动负载功能,因此该程序仅适用于驱动内置的RGB LED: -``` +```clike from modules import ws2812 from fpioa_manager import * fm.register(8) diff --git a/docs/zh_CN/quick_start/unitv/v_function.md b/docs/zh_CN/quick_start/unitv/v_function.md index 79225a27..3f76896d 100644 --- a/docs/zh_CN/quick_start/unitv/v_function.md +++ b/docs/zh_CN/quick_start/unitv/v_function.md @@ -139,7 +139,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 回传JSON -``` +```clike { "FUNC": "MOTION DETECT V1.0", "DIFF TOTAL": 10000, //画面变动率 @@ -172,7 +172,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 设置JSON -``` +```clike { "MOTION DETECT": 1.0, //功能标记,不可缺省 "mode": "COMPUTE_MODE_STATIC", //可缺省 "COMPUTE_MODE_STATIC" 静态检测模式 or "COMPUTE_MODE_DYNAMIC" 动态检测模式 @@ -216,7 +216,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 回传JSON -``` +```clike { "FUNC": "TARGET TRACKER V1.0", "x": 282, @@ -228,7 +228,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** ``` #### 设置JSON -``` +```clike { "TARGET TRACKER": " V1.0", "x": 282, //xywh均不可缺省 @@ -298,7 +298,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 回传JSON -``` +```clike { "FUNC": "COLOR TRACKER V1.0", "TOTAL": 3, //边界框数量 @@ -328,7 +328,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** ``` #### 设置JSON -``` +```clike { "COLOR TRACKER": 1.0, //功能标记,不可缺省 "thr_w": 20, //可缺省 边界框宽阈值,[3,200] @@ -374,7 +374,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 回传JSON -``` +```clike { "FUNC": "FACE DETECT", // 功能说明 "count": 3, // 识别到的人脸数量 @@ -433,7 +433,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 回传JSON -``` +```clike { "count": 1, "FUNC": "FIND QRCODE", @@ -478,7 +478,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 回传JSON -``` +```clike { "0": { "x": 62, @@ -518,7 +518,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 回传JSON -``` +```clike { "0": { "x": 20, @@ -561,7 +561,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 回传JSON -``` +```clike { "0": { "x": 71, @@ -592,7 +592,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** >以上多个识别码功能,均使用同一个固件`Find Code`实现,用户可以通过发送下方JSON数据,配置模式切换。 -``` +```clike { "FIND CODE": 1.0, @@ -628,7 +628,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** -``` +```clike 00000000 00000000 00111100 00@@@@00 @@@@ 01000010 0@0000@0 @ @ @@ -650,7 +650,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 回传JSON -``` +```clike { "FUNC": "TAG READER V2.0", "TOTAL": 1, @@ -721,7 +721,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 回传JSON -``` +```clike { "FUNC": "LINE TRACKER V1.0", "angle": 3.8593475818634033 //小车转弯的角度 @@ -731,7 +731,7 @@ V-Function是由M5Stack团队针对V系列设备开发的多个**视觉识别** #### 设置JSON -``` +```clike { "LINE TRACKER": 1.0, //功能标记,不可缺省 "thr_w": 20, //可缺省 边界框宽阈值,[3,200] diff --git a/docs/zh_CN/related_documents/M5Burner.md b/docs/zh_CN/related_documents/M5Burner.md index 97561f5a..0a11529a 100644 --- a/docs/zh_CN/related_documents/M5Burner.md +++ b/docs/zh_CN/related_documents/M5Burner.md @@ -99,19 +99,19 @@ * Centos7: -```shell +```clike sudo yum install python-pip ``` * Ubuntu and Debian: -```shell +```clike sudo apt-get install python-pip ``` * Arch: -```shell +```clike sudo pacman -S --needed python-pip ``` diff --git a/docs/zh_CN/related_documents/M5StickV-Maixpy.md b/docs/zh_CN/related_documents/M5StickV-Maixpy.md index 253b3f88..84c11969 100644 --- a/docs/zh_CN/related_documents/M5StickV-Maixpy.md +++ b/docs/zh_CN/related_documents/M5StickV-Maixpy.md @@ -6,7 +6,7 @@ **example** -```python +```clike import lcd from Maix import I2S, GPIO @@ -43,7 +43,7 @@ while(True): **example** -```python +```clike from fpioa_manager import * from Maix import GPIO @@ -96,7 +96,7 @@ while(True): **example** -```python +```clike import time,math from machine import Timer,PWM from fpioa_manager import fm @@ -116,7 +116,7 @@ while(True): **example** -```python +```clike from machine import I2C i2c = I2C(I2C.I2C0, freq=100000, scl=28, sda=29) @@ -127,7 +127,7 @@ print(devices) ## MPU6886 **example** -```python +```clike from machine import I2C import lcd @@ -204,7 +204,7 @@ while True: **example** -```python +```clike from machine import I2C import lcd @@ -308,7 +308,7 @@ while True: **example** -```python +```clike import pmu,lcd lcd.init() @@ -340,7 +340,7 @@ while True: **example** -```python +```clike import lcd #for test from machine import I2C AXP192_ADDR=0x34 @@ -357,7 +357,7 @@ i2c.writeto_mem(AXP192_ADDR, Backlight_ADDR,int(val)) **example** -```python +```clike import sensor,image,lcd lcd.init() lcd.rotation(2) @@ -375,7 +375,7 @@ while True: **example** -```python +```clike import sensor, image, lcd, os from Maix import I2S, GPIO @@ -437,7 +437,7 @@ while True: **example** -```python +```clike import sensor,image,lcd,gc,time,uos from fpioa_manager import * @@ -529,7 +529,7 @@ while True: **example** -```python +```clike import sensor, image, lcd, time from fpioa_manager import fm @@ -579,7 +579,7 @@ while True: **example** -```python +```clike import os devices = os.listdir("/") @@ -601,7 +601,7 @@ if "sd" in devices: **example** -```python +```clike from fpioa_manager import * from Maix import I2S, GPIO @@ -654,7 +654,7 @@ player.finish() **example** -```python +```clike fimport lcd,math,image lcd.init() @@ -727,7 +727,7 @@ while True: **example** -```python +```clike import sensor, image, time clock = time.clock() @@ -741,7 +741,7 @@ sys.exit() **example** -```python +```clike ## M5StickV Mic Record and Speaker Play ## A button is Play diff --git a/docs/zh_CN/related_documents/v-training.md b/docs/zh_CN/related_documents/v-training.md index 514645db..4b528bd5 100644 --- a/docs/zh_CN/related_documents/v-training.md +++ b/docs/zh_CN/related_documents/v-training.md @@ -150,7 +150,7 @@ **以下为添加了串口打印程序的boot程序,仅作部分内容注释,并非完整程序,实际使用请基于训练返回的boot程序文件修改** -``` +```clike ... task = kpu.load("/sd/c33723fb62faf1be_mbnet10_quant.kmodel")//载入模型文件 @@ -185,13 +185,13 @@ >拍摄完成后,我们借助标注工具LabelIMG对素材中的识别对象进行标记,并生成标记文件。用户可自行安装Python环境,在命令行中运行下方指令,通过其自带的pip包管理工具安装LabelIMG。 -``` +```clike pip install LabelIMG ``` >安装完成后,命令行运行"LabelIMG"既可打开标记工具。 -``` +```clike LabelIMG ``` @@ -205,14 +205,14 @@ LabelIMG >除了添加标记文件以外,我们还需要手动添加一个v-training.config配置文件,用来告诉训练服务,我们这次的训练中包含了多少个识别对象。(如上方图案例中标记两个识别对象,我们则需要在配置文件中填写类目数量为2,格式如下) -``` +```clike { "classes":2 } ``` >完成以上操作,将所有素材放置至同一个文件夹,参考下方目录结构。全选所有文件,压缩成zip格式的压缩包,用于上传训练。 -``` +```clike folder---------------------- |--v-training.config |--1.jpg diff --git a/docs/zh_CN/uiflow/RS485.md b/docs/zh_CN/uiflow/RS485.md index 1623d6f5..6e2e5c06 100644 --- a/docs/zh_CN/uiflow/RS485.md +++ b/docs/zh_CN/uiflow/RS485.md @@ -35,7 +35,7 @@ Serial2.print("97");或者Serial2.write("97"); > *以下基本代码仅供参考 -```arduino +```clike #include #define RX_PIN 16 @@ -69,7 +69,7 @@ void loop() { >具体细节参考RS485示例,以下为示范代码 -```arduino +```clike #include #define RX_PIN 16 diff --git a/docs/zh_CN/uiflow/uiflow_home_page.md b/docs/zh_CN/uiflow/uiflow_home_page.md index 4e8163eb..c200d05c 100644 --- a/docs/zh_CN/uiflow/uiflow_home_page.md +++ b/docs/zh_CN/uiflow/uiflow_home_page.md @@ -18,7 +18,7 @@ {{item.title}}
-
+ diff --git a/docs/zh_CN/unit/4relay.md b/docs/zh_CN/unit/4relay.md index 95e997ca..ebbaa311 100644 --- a/docs/zh_CN/unit/4relay.md +++ b/docs/zh_CN/unit/4relay.md @@ -13,7 +13,7 @@ - 4路继电器 - AC-250V/10A - 状态指示灯 -- IIC通讯 +- I2C通讯 ## 包含 diff --git a/docs/zh_CN/unit/cardkb.md b/docs/zh_CN/unit/cardkb.md index 20a2880c..ca69dd87 100644 --- a/docs/zh_CN/unit/cardkb.md +++ b/docs/zh_CN/unit/cardkb.md @@ -8,7 +8,7 @@ **CardKB** 是一款功能齐全的QWERTY键盘.如果你想要实现一些复杂的键盘输入交互,仅仅依靠M5Core上的3个按键恐怕有些难度.面对这一难题 CardKB ,横空出世. -使用 CardKB Unit 不仅能够实现全键盘输入,还支持多种按键组合(Sym + Key,Shift + Key,Fn + Key)输出更丰富的键值.该 Unit 通过PORT A端口(IIC接口)与M5Core通信. I2C地址为0x5F. +使用 CardKB Unit 不仅能够实现全键盘输入,还支持多种按键组合(Sym + Key,Shift + Key,Fn + Key)输出更丰富的键值.该 Unit 通过PORT A端口(I2C接口)与M5Core通信. I2C地址为0x5F. **1. 按钮组合说明:** diff --git a/docs/zh_CN/unit/dds.md b/docs/zh_CN/unit/dds.md index 75bedf8d..2a0ecf3c 100644 --- a/docs/zh_CN/unit/dds.md +++ b/docs/zh_CN/unit/dds.md @@ -132,7 +132,7 @@ >写寄存器时,需要将最高位置1。mclk置1将保持输出最后一个信号幅值,DAC置1将停止Unit输出。 -``` +```clike /*--------------------------------------------------------------------------------------------------*/ // | DDS CTRL REG | 0x20 // | ------------------------------------------------------------------------------------------------ diff --git a/docs/zh_CN/unit/envII.md b/docs/zh_CN/unit/envII.md index c230ae9e..ed88ef47 100644 --- a/docs/zh_CN/unit/envII.md +++ b/docs/zh_CN/unit/envII.md @@ -130,7 +130,7 @@
@@ -163,13 +163,36 @@ ## 案例程序 -### 1. Arduino -该案例将使用 ENVII Unit ,实现温度、湿度、大气压数据的读取. -1, 在进行程序编译前,请安装`Adafruit BMP280 Library` -2, 并将`Adafruit_Sensor.h`复制至`C:\Users\\Documents\Arduino\libraries\Adafruit_BMP280_Library` +?>该案例使用ENVII Unit,实现温度、湿度、大气压数据的读取。 请据你所使用的设备选择下方对应的案例程序。 -- [点击此处获取Arduino示例程序](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/ENVII/Arduino) + +
+ Arduino + +
+
+
+ Core2 +
+ + +>注意: 1, 在进行程序编译前,请安装[Adafruit BMP280 Library](https://github.com/adafruit/Adafruit_BMP280_Library) + +```clike +SHT3X.h - API + // + float cTemp=0; + float fTemp=0; + float humidity=0 + +Adafruit_BMP280.h - API + + float readPressure(void); + +``` ### 2. UIFlow diff --git a/docs/zh_CN/unit/extio.md b/docs/zh_CN/unit/extio.md index a94e9120..1f02526f 100644 --- a/docs/zh_CN/unit/extio.md +++ b/docs/zh_CN/unit/extio.md @@ -29,7 +29,7 @@
- + diff --git a/docs/zh_CN/unit/hub.md b/docs/zh_CN/unit/hub.md index 635b6337..5675c629 100644 --- a/docs/zh_CN/unit/hub.md +++ b/docs/zh_CN/unit/hub.md @@ -6,7 +6,7 @@ ## 描述 -**HUB** 是一款 HY2.0-4P 接口的拓展器,其功能是能将 1个 HY2.0-4P 接口拓展为3个,使得能够同时连接更多的Unit传感器,比如不同IIC地址的传感器或同时向3个设备输出电平。 +**HUB** 是一款 HY2.0-4P 接口的拓展器,其功能是能将 1个 HY2.0-4P 接口拓展为3个,使得能够同时连接更多的Unit传感器,比如不同I2C地址的传感器或同时向3个设备输出电平。 **注意:** 同时连接 2 - 3 个 I2C 接口 (红色接口) 同样的Unit 的话,将会引起 I2C 地址冲突.使用 I2C HUB Unit 取代 HUB Unit 能够以避免 I2C 地址冲突的发生. diff --git a/docs/zh_CN/unit/sonic.md b/docs/zh_CN/unit/sonic.md index b8ed0427..cf1d5995 100644 --- a/docs/zh_CN/unit/sonic.md +++ b/docs/zh_CN/unit/sonic.md @@ -6,14 +6,14 @@ ## 描述 -**Ultrasonic** 是一款超声波测距传感器单元,采用收发分体式设计,其中超声波探头的声波频率40Khz,方向角±20°,精度可达1mm,内部由RCWL-9600超声波测距芯片运算,通过IIC接口(0x57)可直接获得测量结果。测量有效距离为20-1500mm。 +**Ultrasonic** 是一款超声波测距传感器单元,采用收发分体式设计,其中超声波探头的声波频率40Khz,方向角±20°,精度可达1mm,内部由RCWL-9600超声波测距芯片运算,通过I2C接口(0x57)可直接获得测量结果。测量有效距离为20-1500mm。 ## 产品特性 - 分体式收发 - 有效距离1500mm - 方向角范围广 -- IIC通讯,结果直接输出 +- I2C通讯,结果直接输出 ## 包含 diff --git a/docs/zh_CN/unit/vmeter.md b/docs/zh_CN/unit/vmeter.md index 9500dd75..09975509 100644 --- a/docs/zh_CN/unit/vmeter.md +++ b/docs/zh_CN/unit/vmeter.md @@ -75,7 +75,7 @@ **不同的量程分辨率不同,获得的结果误差值不同,请根据需要设置合适的量程。请勿对EEPROM进行写操作,如果确实希望将自定义校准值保存至EEPROM,使用下列语句,一旦写入后出厂数据将丢失** -```Arduino +```clike bool Voltmeter::saveCalibration2EEPROM(voltmeterGain_t gain, int16_t hope, int16_t actual)
参数
IIC地址I2C地址 0x27