[{"data":1,"prerenderedAt":319},["ShallowReactive",2],{"navigation":3,"\u002Fgetting-started\u002Fproject-setup":42,"\u002Fgetting-started\u002Fproject-setup-surround":314},[4,33],{"title":5,"path":6,"stem":7,"children":8,"icon":32},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17,22,27],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Project Setup","\u002Fgetting-started\u002Fproject-setup","1.getting-started\u002F2.project-setup","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Running a Demo","\u002Fgetting-started\u002Frunning-demo","1.getting-started\u002F3.running-demo","i-lucide-rocket",{"title":23,"path":24,"stem":25,"icon":26},"Project Workflow","\u002Fgetting-started\u002Fproject-workflow","1.getting-started\u002F4.project-workflow","i-lucide-lightbulb",{"title":28,"path":29,"stem":30,"icon":31},"Roadmap","\u002Fgetting-started\u002Froadmap","1.getting-started\u002F5.roadmap","i-lucide-route",false,{"title":34,"icon":32,"path":35,"stem":36,"children":37,"page":32},"Custom Tooling","\u002Fcustom-tooling","2.custom-tooling",[38],{"title":39,"path":40,"stem":41},"Intro","\u002Fcustom-tooling\u002Fintro","2.custom-tooling\u002F1.intro",{"id":43,"title":13,"body":44,"description":307,"extension":308,"links":309,"meta":310,"navigation":311,"path":14,"seo":312,"stem":15,"__hash__":313},"docs\u002F1.getting-started\u002F2.project-setup.md",{"type":45,"value":46,"toc":300},"minimark",[47,52,56,82,86,89,100,103,143,167,171,174,200,204,211,283,287,290,296],[48,49,51],"h2",{"id":50},"clone-repo","Clone Repo",[53,54,55],"p",{},"To get started clone the repo onto your system:",[57,58,63],"pre",{"className":59,"code":60,"language":61,"meta":62,"style":62},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","git clone https:\u002F\u002Fgithub.com\u002FPico-Router\u002FPico-Router.git\n","bash","",[64,65,66],"code",{"__ignoreMap":62},[67,68,71,75,79],"span",{"class":69,"line":70},"line",1,[67,72,74],{"class":73},"sBMFI","git",[67,76,78],{"class":77},"sfazB"," clone",[67,80,81],{"class":77}," https:\u002F\u002Fgithub.com\u002FPico-Router\u002FPico-Router.git\n",[48,83,85],{"id":84},"dev-container","Dev Container",[53,87,88],{},"For an easier introduction to the project it is heavily encouraged to use the pre-made Dev Container as it includes all the necessary depencies and toolchains.",[90,91,92],"note",{},[53,93,94,95,99],{},"Make sure that alongside Docker Desktop you have at least ",[96,97,98],"strong",{},"8GB of free disk space"," on your system to comfortably build and run the container.",[53,101,102],{},"Build the Dev Container image from project root using:",[57,104,106],{"className":59,"code":105,"language":61,"meta":62,"style":62},"docker buildx build --platform linux\u002Famd64 --load -t pico-router-dev:latest -f .devcontainer\u002FDockerfile .\n",[64,107,108],{"__ignoreMap":62},[67,109,110,113,116,119,122,125,128,131,134,137,140],{"class":69,"line":70},[67,111,112],{"class":73},"docker",[67,114,115],{"class":77}," buildx",[67,117,118],{"class":77}," build",[67,120,121],{"class":77}," --platform",[67,123,124],{"class":77}," linux\u002Famd64",[67,126,127],{"class":77}," --load",[67,129,130],{"class":77}," -t",[67,132,133],{"class":77}," pico-router-dev:latest",[67,135,136],{"class":77}," -f",[67,138,139],{"class":77}," .devcontainer\u002FDockerfile",[67,141,142],{"class":77}," .\n",[53,144,145,146,150,151,154,155,159,160,159,163,166],{},"To open the project in the Dev Container on VS Code you'll need Microsoft's ",[147,148,149],"em",{},"Dev Containers"," extension. After that's installed run ",[64,152,153],{},"Dev Containers: Reopen in Container"," in the command pallet ( ",[156,157,158],"u-kbd",{},"Ctrl"," ",[156,161,162],{},"⇧",[156,164,165],{},"P"," ) to reopen the project in the container.",[48,168,170],{"id":169},"manual-setup","Manual Setup",[53,172,173],{},"In case you decide to work with Pico Router without the Dev Container make sure you have at least the following dependencies installed:",[175,176,177,181,184,190,197],"ul",{},[178,179,180],"li",{},"CMake 3.13+",[178,182,183],{},"A C++17-capable compiler",[178,185,186,187],{},"The Raspberry Pi Pico SDK available through ",[64,188,189],{},"PICO_SDK_PATH",[178,191,192,193,196],{},"The ",[64,194,195],{},"arm-none-eabi"," toolchain for Pico builds",[178,198,199],{},"Python 3 for custom tooling",[48,201,203],{"id":202},"firmware-builds","Firmware Builds",[53,205,206,207,210],{},"To build the Pico Router firmware from source you have two options. You can either build the firmware for the Raspberry Pi Pico 2 hardware target or you can build the binary for your host system for testing. To distinguish between the two build targets the CMake ",[64,208,209],{},"-DBUILD_PICO=ON"," build flag is used.",[212,213,214,251],"code-group",{},[57,215,218],{"className":59,"code":216,"filename":217,"language":61,"meta":62,"style":62},"cmake -S . -B build-pico -DBUILD_PICO=ON\ncmake --build build-pico\n","Pico Target",[64,219,220,240],{"__ignoreMap":62},[67,221,222,225,228,231,234,237],{"class":69,"line":70},[67,223,224],{"class":73},"cmake",[67,226,227],{"class":77}," -S",[67,229,230],{"class":77}," .",[67,232,233],{"class":77}," -B",[67,235,236],{"class":77}," build-pico",[67,238,239],{"class":77}," -DBUILD_PICO=ON\n",[67,241,243,245,248],{"class":69,"line":242},2,[67,244,224],{"class":73},[67,246,247],{"class":77}," --build",[67,249,250],{"class":77}," build-pico\n",[57,252,255],{"className":59,"code":253,"filename":254,"language":61,"meta":62,"style":62},"cmake -S . -B build-host # BUILD_PICO is OFF by default\ncmake --build build-host\n","Host Target",[64,256,257,274],{"__ignoreMap":62},[67,258,259,261,263,265,267,270],{"class":69,"line":70},[67,260,224],{"class":73},[67,262,227],{"class":77},[67,264,230],{"class":77},[67,266,233],{"class":77},[67,268,269],{"class":77}," build-host",[67,271,273],{"class":272},"sHwdD"," # BUILD_PICO is OFF by default\n",[67,275,276,278,280],{"class":69,"line":242},[67,277,224],{"class":73},[67,279,247],{"class":77},[67,281,282],{"class":77}," build-host\n",[48,284,286],{"id":285},"running-unit-tests","Running Unit Tests",[53,288,289],{},"Pico Router uses GTest as its main testing framework.",[291,292,293],"warning",{},[53,294,295],{},"TODO: add basic unit test explainer",[297,298,299],"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 .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 .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}",{"title":62,"searchDepth":70,"depth":242,"links":301},[302,303,304,305,306],{"id":50,"depth":242,"text":51},{"id":84,"depth":242,"text":85},{"id":169,"depth":242,"text":170},{"id":202,"depth":242,"text":203},{"id":285,"depth":242,"text":286},"How to setup the project locally.","md",null,{},{"icon":16},{"title":13,"description":307},"qJToaNJAlRuiKvy02yH1alQo2T4_Pejd6ppBARCzt0I",[315,317],{"title":10,"path":6,"stem":7,"description":316,"icon":11,"children":-1},"Welcome to Pico Router.",{"title":18,"path":19,"stem":20,"description":318,"icon":21,"children":-1},"Run your first demo on your Pico or on your system.",1784645802809]