[{"data":1,"prerenderedAt":401},["ShallowReactive",2],{"navigation":3,"\u002Fgetting-started\u002Finstallation":116,"\u002Fgetting-started\u002Finstallation-surround":396},[4,27,53,74,108,112],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":23,"path":24,"stem":25},"Example app and development","\u002Fgetting-started\u002Fdevelopment","1.getting-started\u002F4.development",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Guides","i-lucide-book-open","\u002Fguides","2.guides",[33,37,41,45,49],{"title":34,"path":35,"stem":36},"JavaScript API","\u002Fguides\u002Fjavascript-api","2.guides\u002F1.javascript-api",{"title":38,"path":39,"stem":40},"AT commands, exchange and CMUX","\u002Fguides\u002Fat-commands","2.guides\u002F2.at-commands",{"title":42,"path":43,"stem":44},"Rust","\u002Fguides\u002Frust","2.guides\u002F3.rust",{"title":46,"path":47,"stem":48},"Permissions","\u002Fguides\u002Fpermissions","2.guides\u002F4.permissions",{"title":50,"path":51,"stem":52},"Parsers","\u002Fguides\u002Fparsers","2.guides\u002F5.parsers",{"title":54,"icon":55,"path":56,"stem":57,"children":58,"page":26},"API reference","i-lucide-file-code","\u002Freference","3.reference",[59,63,67,71],{"title":60,"path":61,"stem":62},"SerialPort","\u002Freference\u002Fserial-port","3.reference\u002F1.serial-port",{"title":64,"path":65,"stem":66},"Types","\u002Freference\u002Ftypes","3.reference\u002F2.types",{"title":68,"path":69,"stem":70},"Tauri commands","\u002Freference\u002Fcommands","3.reference\u002F3.commands",{"title":46,"path":72,"stem":73},"\u002Freference\u002Fpermissions","3.reference\u002F4.permissions",{"title":75,"icon":76,"path":77,"stem":78,"children":79,"page":26},"Platforms","i-lucide-monitor-smartphone","\u002Fplatforms","4.platforms",[80,84,88,92,96,100,104],{"title":81,"path":82,"stem":83},"Overview","\u002Fplatforms\u002Foverview","4.platforms\u002F1.overview",{"title":85,"path":86,"stem":87},"Desktop","\u002Fplatforms\u002Fdesktop","4.platforms\u002F2.desktop",{"title":89,"path":90,"stem":91},"Android (USB)","\u002Fplatforms\u002Fandroid","4.platforms\u002F3.android",{"title":93,"path":94,"stem":95},"iOS","\u002Fplatforms\u002Fios","4.platforms\u002F4.ios",{"title":97,"path":98,"stem":99},"Serial over TCP","\u002Fplatforms\u002Ftcp","4.platforms\u002F5.tcp",{"title":101,"path":102,"stem":103},"Bluetooth LE (BLE)","\u002Fplatforms\u002Fble","4.platforms\u002F6.ble",{"title":105,"path":106,"stem":107},"DTR \u002F RTS on open","\u002Fplatforms\u002Fdtr-rts","4.platforms\u002F7.dtr-rts",{"title":109,"path":110,"stem":111},"Migration guide","\u002Fmigration","5.migration",{"title":113,"path":114,"stem":115},"Changelog","\u002Fchangelog","9.changelog",{"id":117,"title":15,"body":118,"description":389,"extension":390,"generated":26,"links":391,"meta":392,"navigation":393,"path":16,"seo":394,"stem":17,"__hash__":395},"docs\u002F1.getting-started\u002F2.installation.md",{"type":119,"value":120,"toc":387},"minimark",[121,154,158,189,192,283,372,383],[122,123,128],"pre",{"className":124,"code":125,"language":126,"meta":127,"style":127},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm tauri add serialplugin     # or: npm run tauri add serialplugin \u002F cargo tauri add serialplugin\n","bash","",[129,130,131],"code",{"__ignoreMap":127},[132,133,136,140,144,147,150],"span",{"class":134,"line":135},"line",1,[132,137,139],{"class":138},"sBMFI","pnpm",[132,141,143],{"class":142},"sfazB"," tauri",[132,145,146],{"class":142}," add",[132,148,149],{"class":142}," serialplugin",[132,151,153],{"class":152},"sHwdD","     # or: npm run tauri add serialplugin \u002F cargo tauri add serialplugin\n",[155,156,157],"p",{},"or by hand:",[122,159,161],{"className":124,"code":160,"language":126,"meta":127,"style":127},"cargo add tauri-plugin-serialplugin --manifest-path src-tauri\u002FCargo.toml\npnpm add tauri-plugin-serialplugin-api\n",[129,162,163,179],{"__ignoreMap":127},[132,164,165,168,170,173,176],{"class":134,"line":135},[132,166,167],{"class":138},"cargo",[132,169,146],{"class":142},[132,171,172],{"class":142}," tauri-plugin-serialplugin",[132,174,175],{"class":142}," --manifest-path",[132,177,178],{"class":142}," src-tauri\u002FCargo.toml\n",[132,180,182,184,186],{"class":134,"line":181},2,[132,183,139],{"class":138},[132,185,146],{"class":142},[132,187,188],{"class":142}," tauri-plugin-serialplugin-api\n",[155,190,191],{},"Register the plugin and allow it in a capability:",[122,193,198],{"className":194,"code":195,"filename":196,"language":197,"meta":127,"style":127},"language-rust shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","tauri::Builder::default()\n    .plugin(tauri_plugin_serialplugin::init())\n    .run(tauri::generate_context!())\n    .expect(\"error while running tauri application\");\n","src-tauri\u002Fsrc\u002Flib.rs","rust",[129,199,200,221,243,262],{"__ignoreMap":127},[132,201,202,205,209,212,214,218],{"class":134,"line":135},[132,203,204],{"class":138},"tauri",[132,206,208],{"class":207},"sMK4o","::",[132,210,211],{"class":138},"Builder",[132,213,208],{"class":207},[132,215,217],{"class":216},"s2Zo4","default",[132,219,220],{"class":207},"()\n",[132,222,223,226,229,232,235,237,240],{"class":134,"line":181},[132,224,225],{"class":207},"    .",[132,227,228],{"class":216},"plugin",[132,230,231],{"class":207},"(",[132,233,234],{"class":138},"tauri_plugin_serialplugin",[132,236,208],{"class":207},[132,238,239],{"class":216},"init",[132,241,242],{"class":207},"())\n",[132,244,246,248,251,253,255,257,260],{"class":134,"line":245},3,[132,247,225],{"class":207},[132,249,250],{"class":216},"run",[132,252,231],{"class":207},[132,254,204],{"class":138},[132,256,208],{"class":207},[132,258,259],{"class":216},"generate_context!",[132,261,242],{"class":207},[132,263,265,267,270,272,275,278,280],{"class":134,"line":264},4,[132,266,225],{"class":207},[132,268,269],{"class":216},"expect",[132,271,231],{"class":207},[132,273,274],{"class":207},"\"",[132,276,277],{"class":142},"error while running tauri application",[132,279,274],{"class":207},[132,281,282],{"class":207},");\n",[122,284,289],{"className":285,"code":286,"filename":287,"language":288,"meta":127,"style":127},"language-jsonc shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{ \"identifier\": \"default\", \"windows\": [\"main\"], \"permissions\": [\"core:default\", \"serialplugin:default\"] }\n","src-tauri\u002Fcapabilities\u002Fdefault.json","jsonc",[129,290,291],{"__ignoreMap":127},[132,292,293,296,299,303,305,308,310,312,314,317,319,322,324,326,329,331,334,336,339,341,344,346,348,350,352,355,357,359,361,364,366,369],{"class":134,"line":135},[132,294,295],{"class":207},"{",[132,297,298],{"class":207}," \"",[132,300,302],{"class":301},"spNyl","identifier",[132,304,274],{"class":207},[132,306,307],{"class":207},":",[132,309,298],{"class":207},[132,311,217],{"class":142},[132,313,274],{"class":207},[132,315,316],{"class":207},",",[132,318,298],{"class":207},[132,320,321],{"class":301},"windows",[132,323,274],{"class":207},[132,325,307],{"class":207},[132,327,328],{"class":207}," [",[132,330,274],{"class":207},[132,332,333],{"class":142},"main",[132,335,274],{"class":207},[132,337,338],{"class":207},"],",[132,340,298],{"class":207},[132,342,343],{"class":301},"permissions",[132,345,274],{"class":207},[132,347,307],{"class":207},[132,349,328],{"class":207},[132,351,274],{"class":207},[132,353,354],{"class":142},"core:default",[132,356,274],{"class":207},[132,358,316],{"class":207},[132,360,298],{"class":207},[132,362,363],{"class":142},"serialplugin:default",[132,365,274],{"class":207},[132,367,368],{"class":207},"]",[132,370,371],{"class":207}," }\n",[155,373,374,375,379,380,382],{},"Requires Rust 1.90+ and Tauri 2. Android needs no extra setup; for BLE see\n",[376,377,378],"a",{"href":102},"Bluetooth LE",". Narrower capabilities are described in\n",[376,381,46],{"href":47},".",[384,385,386],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":127,"searchDepth":181,"depth":245,"links":388},[],"Add the crate and the npm package, register the plugin and allow it in a capability.","md",null,{},true,{"title":15,"description":389},"eJLLVrs5v69VrjRl2a-sU4KD8lCFoeQDIqOQSJ0nD4k",[397,399],{"title":11,"path":12,"stem":13,"description":398,"children":-1},"What the plugin does and where each transport works.",{"title":19,"path":20,"stem":21,"description":400,"children":-1},"List ports, open one, stream data, talk to a modem and survive unplugs.",1794158001815]