mirror of
https://github.com/EyeTrackVR/EyeTrackVR-Docs.git
synced 2025-09-26 23:09:15 +08:00
50 lines
60 KiB
HTML
50 lines
60 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en-US" dir="ltr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>REST API | EyeTrackVR Docs</title>
|
||
<meta name="description" content="Official documentation for EyeTrackVR. Fully open-source and affordable VR eye tracking platform.">
|
||
<link rel="preload stylesheet" href="/assets/style.78a19c9c.css" as="style">
|
||
|
||
<script type="module" src="/assets/app.b05231e0.js"></script>
|
||
<link rel="preload" href="/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
|
||
<link rel="modulepreload" href="/assets/chunks/framework.47aa8d5b.js">
|
||
<link rel="modulepreload" href="/assets/chunks/theme.cd06fb64.js">
|
||
<link rel="modulepreload" href="/assets/firmware_guide_rest_api.md.8a0ea54a.lean.js">
|
||
<script async src="/src/assets/diy.js"></script>
|
||
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
||
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
||
</head>
|
||
<body>
|
||
<div id="app"><div class="Layout" data-v-527a0310><!--[--><!--]--><!--[--><span tabindex="-1" data-v-b22defb4></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-b22defb4> Skip to content </a><!--]--><!----><header class="VPNav" data-v-527a0310 data-v-a46e73f0><div class="VPNavBar" data-v-a46e73f0 data-v-dfeca417><div class="container" data-v-dfeca417><div class="title" data-v-dfeca417><div class="VPNavBarTitle has-sidebar" data-v-dfeca417 data-v-2d6ff155><a class="title" href="/" data-v-2d6ff155><!--[--><!--]--><!--[--><!--[--><!--[--><img class="VPImage dark logo" src="/logo.svg" alt="EyeTrackVR Logo" data-v-4d414b82><!--]--><!--[--><img class="VPImage light logo" src="/logo_light.png" alt="EyeTrackVR Logo" data-v-4d414b82><!--]--><!--]--><!--]--><!--[-->EyeTrackVR Docs<!--]--><!--[--><!--]--></a></div></div><div class="content" data-v-dfeca417><div class="curtain" data-v-dfeca417></div><div class="content-body" data-v-dfeca417><!--[--><!--]--><div class="VPNavBarSearch search" data-v-dfeca417><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg class="DocSearch-Search-Icon" width="20" height="20" viewBox="0 0 20 20" aria-label="search icon"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-dfeca417 data-v-c6c3e6d4><span id="main-nav-aria-label" class="visually-hidden" data-v-c6c3e6d4>Main Navigation</span><!--[--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-c6c3e6d4 data-v-1a2ceba0><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-1a2ceba0><span class="text" data-v-1a2ceba0><!----><span data-v-1a2ceba0>About</span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-1a2ceba0><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-1a2ceba0><div class="VPMenu" data-v-1a2ceba0 data-v-7bffa9cd><div class="items" data-v-7bffa9cd><!--[--><!--[--><div class="VPMenuLink" data-v-7bffa9cd data-v-71c5411b><a class="VPLink link" href="/about" data-v-71c5411b><!--[-->About Us<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-7bffa9cd data-v-71c5411b><a class="VPLink link" href="/dev_roadmap" data-v-71c5411b><!--[-->Development Road Map<!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/contact" tabindex="0" data-v-c6c3e6d4 data-v-97d30ef6><!--[--><span data-v-97d30ef6>Contact</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-dfeca417 data-v-f774fc1d><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-f774fc1d data-v-fdee46ce data-v-0b5e260c><span class="check" data-v-0b5e260c><span class="icon" data-v-0b5e260c><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-fdee46ce><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-fdee46ce><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-dfeca417 data-v-08b35e6f data-v-f2234a39><!--[--><a class="VPSocialLink no-icon" href="https://github.com/EyeTrackVR" aria-label="github" target="_blank" rel="noopener" data-v-f2234a39 data-v-efc53bd4><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink no-icon" href="https://discord.gg/kkXYbVykZX" aria-label="discord" target="_blank" rel="noopener" data-v-f2234a39 data-v-efc53bd4><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Discord</title><path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-dfeca417 data-v-47bb42ad data-v-1a2ceba0><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-1a2ceba0><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-1a2ceba0><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-1a2ceba0><div class="VPMenu" data-v-1a2ceba0 data-v-7bffa9cd><!----><!--[--><!--[--><!----><div class="group" data-v-47bb42ad><div class="item appearance" data-v-47bb42ad><p class="label" data-v-47bb42ad>Appearance</p><div class="appearance-action" data-v-47bb42ad><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-47bb42ad data-v-fdee46ce data-v-0b5e260c><span class="check" data-v-0b5e260c><span class="icon" data-v-0b5e260c><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-fdee46ce><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-fdee46ce><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="group" data-v-47bb42ad><div class="item social-links" data-v-47bb42ad><div class="VPSocialLinks social-links-list" data-v-47bb42ad data-v-f2234a39><!--[--><a class="VPSocialLink no-icon" href="https://github.com/EyeTrackVR" aria-label="github" target="_blank" rel="noopener" data-v-f2234a39 data-v-efc53bd4><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink no-icon" href="https://discord.gg/kkXYbVykZX" aria-label="discord" target="_blank" rel="noopener" data-v-f2234a39 data-v-efc53bd4><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Discord</title><path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-dfeca417 data-v-670493dd><span class="container" data-v-670493dd><span class="top" data-v-670493dd></span><span class="middle" data-v-670493dd></span><span class="bottom" data-v-670493dd></span></span></button></div></div></div></div><!----></header><div class="VPLocalNav reached-top" data-v-527a0310 data-v-3c3d80ab><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-3c3d80ab><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="menu-icon" data-v-3c3d80ab><path d="M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"></path><path d="M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"></path><path d="M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"></path><path d="M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"></path></svg><span class="menu-text" data-v-3c3d80ab>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-3c3d80ab data-v-2c1007a4><button data-v-2c1007a4>Return to top</button><!----></div></div><aside class="VPSidebar" data-v-527a0310 data-v-45ef976a><div class="curtain" data-v-45ef976a></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-45ef976a><span class="visually-hidden" id="sidebar-aria-label" data-v-45ef976a> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-45ef976a><section class="VPSidebarItem level-0" data-v-45ef976a data-v-f0f37ff4><div class="item" role="button" tabindex="0" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><h2 class="text" data-v-f0f37ff4>Getting Started</h2><!----></div><div class="items" data-v-f0f37ff4><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/getting_started/intro" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Introduction</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/getting_started/things_to_know" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Things to know before you start</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/getting_started/led_safety" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>LED Safety</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-45ef976a><section class="VPSidebarItem level-0" data-v-45ef976a data-v-f0f37ff4><div class="item" role="button" tabindex="0" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><h2 class="text" data-v-f0f37ff4>How to Build</h2><!----></div><div class="items" data-v-f0f37ff4><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/how_to_build/part_list" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Parts List</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/how_to_build/preparing_cameras" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Preparing Cameras</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/how_to_build/preparing_xiao" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Preparing XIAO Sense ESP32</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/how_to_build/led_setup" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Preparing V4 LEDs</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/how_to_build/3d_printed_mounts" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>3D Printed Mounts</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/how_to_build/creating_your_own_mount" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>How to Create your own Camera Mount</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/how_to_build/v4_full_build" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>V4 Full Build Guide WIP</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-45ef976a><section class="VPSidebarItem level-0" data-v-45ef976a data-v-f0f37ff4><div class="item" role="button" tabindex="0" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><h2 class="text" data-v-f0f37ff4>Headset Guides</h2><!----></div><div class="items" data-v-f0f37ff4><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/headset_guides/what_is_this" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>What is This?</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/headset_guides/valve_index" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Valve Index</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-45ef976a><section class="VPSidebarItem level-0 has-active" data-v-45ef976a data-v-f0f37ff4><div class="item" role="button" tabindex="0" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><h2 class="text" data-v-f0f37ff4>Firmware Guide</h2><!----></div><div class="items" data-v-f0f37ff4><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/firmware_guide/firmware" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Introduction</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/firmware_guide/flashing_tool" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Flashing Tool</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/firmware_guide/mdns" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>MDNS</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/firmware_guide/rest_api" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>REST API</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-45ef976a><section class="VPSidebarItem level-0" data-v-45ef976a data-v-f0f37ff4><div class="item" role="button" tabindex="0" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><h2 class="text" data-v-f0f37ff4>Software Guide</h2><!----></div><div class="items" data-v-f0f37ff4><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/software_guide/eyetrackvr_app_guide" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Installing and setting up the ETVR App</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/software_guide/build_software" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Building the app from source</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/software_guide/osc_setup" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Setting up OSC recenter/recalibrate</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/software_guide/VRCFT_tracking_module" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Setting up VRCFT - VRCFT Module</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-45ef976a><section class="VPSidebarItem level-0" data-v-45ef976a data-v-f0f37ff4><div class="item" role="button" tabindex="0" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><h2 class="text" data-v-f0f37ff4>Miscellaneous</h2><!----></div><div class="items" data-v-f0f37ff4><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/misc/jlc3dp" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>JLC3DP 3D Printing Service</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/misc/vrc_avatar_setup" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>VR Chat Avatar Setup</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/misc/faq" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>FAQ</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-45ef976a><section class="VPSidebarItem level-0" data-v-45ef976a data-v-f0f37ff4><div class="item" role="button" tabindex="0" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><h2 class="text" data-v-f0f37ff4>Development</h2><!----></div><div class="items" data-v-f0f37ff4><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/development/docs/dev_docs" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Docs</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/development/docs/pages" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Edit Docs</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/development/docs/standards" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Standards</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-45ef976a><section class="VPSidebarItem level-0" data-v-45ef976a data-v-f0f37ff4><div class="item" role="button" tabindex="0" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><h2 class="text" data-v-f0f37ff4>Archive</h2><!----></div><div class="items" data-v-f0f37ff4><!--[--><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/firmware_guide/setup_vscode" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Setup Visual Studio Code environment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/firmware_guide/configure_firmware" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Configuring Firmware</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/firmware_guide/environments" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Firmware Environments</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/firmware_guide/upload_and_update_firmware" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Uploading and Updating the Firmware</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/firmware_guide/update_platformio" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Updating PlatformIO</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/archive/fox_ir_v2_build_instructions" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Prepare to solder IR LED PCB V2's</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/how_to_build/full_build" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>V3 Full Build Guide</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-f0f37ff4 data-v-f0f37ff4><div class="item" data-v-f0f37ff4><div class="indicator" data-v-f0f37ff4></div><a class="VPLink link link" href="/how_to_build/parts_list" data-v-f0f37ff4><!--[--><p class="text" data-v-f0f37ff4>Part List (legacy)</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-527a0310 data-v-b7946bfc><div class="VPDoc has-sidebar has-aside" data-v-b7946bfc data-v-281cfc61><!--[--><!--]--><div class="container" data-v-281cfc61><div class="aside" data-v-281cfc61><div class="aside-curtain" data-v-281cfc61></div><div class="aside-container" data-v-281cfc61><div class="aside-content" data-v-281cfc61><div class="VPDocAside" data-v-281cfc61 data-v-79cae1a0><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" role="navigation" data-v-79cae1a0 data-v-d8517c5e><div class="content" data-v-d8517c5e><div class="outline-marker" data-v-d8517c5e></div><div class="outline-title" role="heading" aria-level="2" data-v-d8517c5e>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-d8517c5e><span class="visually-hidden" id="doc-outline-aria-label" data-v-d8517c5e> Table of Contents for current page </span><ul class="root" data-v-d8517c5e data-v-74479eb5><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-79cae1a0></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-281cfc61><div class="content-container" data-v-281cfc61><!--[--><!--]--><!----><main class="main" data-v-281cfc61><div style="position:relative;" class="vp-doc _firmware_guide_rest_api" data-v-281cfc61><div><h1 class="text-[var(--font-accent)]" id="rest-api" tabindex="-1">REST API <a class="header-anchor" href="#rest-api" aria-label="Permalink to "REST API {.text-[var(--font-accent)]}""></a></h1><h2 id="what-is-it" tabindex="-1">What is it? <a class="header-anchor" href="#what-is-it" aria-label="Permalink to "What is it?""></a></h2><p>A REST API is a way to communicate with the ESP devices using HTTP requests. This is useful if you want to control the device from a computer or a mobile device.</p><p>We developed a REST API for this project so that we can control the devices more easily from our new app.</p><h2 id="how-to-use-it" tabindex="-1">How to use it <a class="header-anchor" href="#how-to-use-it" aria-label="Permalink to "How to use it""></a></h2><h3 id="rest-api-client" tabindex="-1">REST API Client <a class="header-anchor" href="#rest-api-client" aria-label="Permalink to "REST API Client""></a></h3><p>Any REST API client can be used to communicate with the ESP devices. We recommend using <a href="https://www.thunderclient.com/" target="_blank" rel="noreferrer">Thunder Client</a> to test the REST API, as it's free and is a vscode extension.</p><p>For basic <code>GET</code> requests, you can use your browser of choice.</p><h3 id="standard" tabindex="-1">Standard <a class="header-anchor" href="#standard" aria-label="Permalink to "Standard""></a></h3><p>The REST API follows the following standard:</p><div class="language-txt line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">txt</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#babed8;">http://{device_name}.local:81/control/builtin/command/{endpoint}?{param}={value}&{param}={value}</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><blockquote><p>For example, if the name of the device is <code>esp32</code>, you can connect to the device using <code>http://esp32.local:81/control/builtin/command/<endpoint></code>.</p></blockquote><h3 id="endpoints" tabindex="-1">Endpoints <a class="header-anchor" href="#endpoints" aria-label="Permalink to "Endpoints""></a></h3><div class="info custom-block"><p class="custom-block-title">Note</p><p>Any endpoint marked with <code>**</code> is currently not implemented, and will be implemented in the future.</p><p>If you would like to help us implement these endpoints, please contact us.</p><p>We are also open to suggestions for new endpoints.</p><blockquote><p><strong>Note</strong>: Any endpoint that makes changes to the config will require a call to <code>/save</code> to write the changes to the flash. This is to prevent the flash from being written to too often, which can cause the flash to wear out. The device will write the changes to the flash and then restart itself after a call to <code>/save</code>.</p></blockquote></div><p>The REST API has the following endpoints:</p><table><thead><tr><th style="text-align:center;">Endpoint</th><th style="text-align:center;">Method</th><th style="text-align:center;">Description</th></tr></thead><tbody><tr><td style="text-align:center;">/ping</td><td style="text-align:center;">GET</td><td style="text-align:center;">Returns the status of the device.</td></tr><tr><td style="text-align:center;">/save</td><td style="text-align:center;">GET</td><td style="text-align:center;">Writes any changes to the flash.</td></tr><tr><td style="text-align:center;">/restartDevice</td><td style="text-align:center;">GET</td><td style="text-align:center;">Restarts the ESP itself.</td></tr><tr><td style="text-align:center;">/restartCamera</td><td style="text-align:center;">GET</td><td style="text-align:center;">Restarts the camera.</td></tr><tr><td style="text-align:center;">/resetConfig</td><td style="text-align:center;">GET</td><td style="text-align:center;">Clears the current config in memory and RAM</td></tr><tr><td style="text-align:center;">/getStoredConfig</td><td style="text-align:center;">GET</td><td style="text-align:center;">Returns a <em>JSON</em> object of the devices current config.</td></tr><tr><td style="text-align:center;">/setTxPower</td><td style="text-align:center;">POST</td><td style="text-align:center;">Sets the Transmission Power of the ESPs</td></tr><tr><td style="text-align:center;">/setDevice</td><td style="text-align:center;">POST</td><td style="text-align:center;">Sets the <code>OTA</code> and <code>mDNS</code> settings</td></tr><tr><td style="text-align:center;">/setCamera</td><td style="text-align:center;">POST</td><td style="text-align:center;">Sets all of the camera settings</td></tr><tr><td style="text-align:center;">/wifi</td><td style="text-align:center;">POST</td><td style="text-align:center;">Adds a new wifi network, or writes over an existing one</td></tr><tr><td style="text-align:center;">/wifi</td><td style="text-align:center;">DELETE</td><td style="text-align:center;">Deletes a wifi network <code>**</code></td></tr></tbody></table><div class="info custom-block"><p class="custom-block-title">Note</p><p><code>/wifi</code> uses the <code>POST</code> method to add a new wifi network, and the <code>DELETE</code> method to delete a wifi network.</p></div><h3 id="params" tabindex="-1">Params <a class="header-anchor" href="#params" aria-label="Permalink to "Params""></a></h3><p>The REST API has the following params:</p><div class="danger custom-block"><p class="custom-block-title">Feature not a bug</p><p>All params for a given URL are required, even if you are not changing that params value.</p><p>If you do not supply a param, that param will be set to default settings.</p></div><p>URL params are passed in the URL as a query string, using the following format:</p><p><code>http://<device_name>.local:81/control/builtin/command/<endpoint>?<param>=<value>&<param>=<value></code></p><h4 id="wifi" tabindex="-1">/wifi <a class="header-anchor" href="#wifi" aria-label="Permalink to "/wifi""></a></h4><div class="info custom-block"><p class="custom-block-title">Note</p><p>We allow you to store up to 3 wifi networks in memory. If you try to add more than 3, the oldest network will be overwritten.</p></div><table><thead><tr><th style="text-align:center;">Param</th><th style="text-align:center;">Description</th></tr></thead><tbody><tr><td style="text-align:center;"><code>ssid</code></td><td style="text-align:center;">The ssid of the network.</td></tr><tr><td style="text-align:center;"><code>password</code></td><td style="text-align:center;">The password of the network.</td></tr><tr><td style="text-align:center;"><code>networkName</code></td><td style="text-align:center;">The unique name (given by you) to refer to that network in memory.</td></tr><tr><td style="text-align:center;"><code>channel</code></td><td style="text-align:center;">The channel for the wifi network to broadcast on <br> only <code>1 - 14</code> are allowed.</td></tr><tr><td style="text-align:center;"><code>power</code></td><td style="text-align:center;">The Transmittion power of the ESP for that network config.</td></tr><tr><td style="text-align:center;"><code>adhoc</code></td><td style="text-align:center;">Whether to enable AP mode or not.</td></tr></tbody></table><div class="info custom-block"><p class="custom-block-title">Note - Transmission Power</p><p>You must follow the following format for the <code>power</code> param:</p><p>Using the following enum, you pass the <em>number</em> to the right of the <code>=</code> sign that corresponds with the power in <code>dBm</code> that you wish to use.</p><div class="language-cpp line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">cpp</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F78C6C;">typedef</span><span style="color:#BABED8;"> </span><span style="color:#C792EA;">enum</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">{</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_19_5dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">78</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 19.5dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_19dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">76</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 19dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_18_5dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">74</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 18.5dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_17dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">68</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 17dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_15dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">60</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 15dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_13dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">52</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 13dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_11dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">44</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 11dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_8_5dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">34</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 8.5dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_7dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">28</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 7dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_5dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">20</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 5dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_2dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">8</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 2dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_MINUS_1dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">-</span><span style="color:#F78C6C;">4</span><span style="color:#676E95;font-style:italic;">// -1dBm</span></span>
|
||
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#F07178;"> </span><span style="color:#FFCB6B;">wifi_power_t</span><span style="color:#89DDFF;">;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br></div></div></div><h4 id="setdevice" tabindex="-1">/setDevice <a class="header-anchor" href="#setdevice" aria-label="Permalink to "/setDevice""></a></h4><table><thead><tr><th style="text-align:center;">Param</th><th style="text-align:center;">Description</th></tr></thead><tbody><tr><td style="text-align:center;"><code>hostname</code></td><td style="text-align:center;">The hostname for the ESP <br> used by <code>OTA</code> and <code>mDNS</code>.</td></tr><tr><td style="text-align:center;"><code>service</code></td><td style="text-align:center;">The service to look for when scanning <code>mDNS</code> devices on the network <br> this should be set to <code>openiristracker</code> in order to look for <code>EyeTrackVR</code> devices</td></tr><tr><td style="text-align:center;"><code>ota_password</code></td><td style="text-align:center;">The password for the <code>OTA</code> service.</td></tr><tr><td style="text-align:center;"><code>ota_port</code></td><td style="text-align:center;">The port for the <code>OTA</code> service.</td></tr><tr><td style="text-align:center;"><code>firmware_name</code></td><td style="text-align:center;">The name of the binary file for <code>OTA</code> <br> depricated and will be removed</td></tr></tbody></table><h4 id="settxpower" tabindex="-1">/setTxPower <a class="header-anchor" href="#settxpower" aria-label="Permalink to "/setTxPower""></a></h4><div class="info custom-block"><p class="custom-block-title">Note</p><p>You must follow the following format for the <code>txPower</code> param:</p><p>Using the following enum, you pass the <em>number</em> to the right of the <code>=</code> sign.</p><div class="language-cpp line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">cpp</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#F78C6C;">typedef</span><span style="color:#BABED8;"> </span><span style="color:#C792EA;">enum</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">{</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_19_5dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">78</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 19.5dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_19dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">76</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 19dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_18_5dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">74</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 18.5dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_17dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">68</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 17dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_15dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">60</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 15dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_13dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">52</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 13dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_11dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">44</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 11dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_8_5dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">34</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 8.5dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_7dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">28</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 7dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_5dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">20</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 5dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_2dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#F78C6C;">8</span><span style="color:#89DDFF;">,</span><span style="color:#676E95;font-style:italic;">// 2dBm</span></span>
|
||
<span class="line"><span style="color:#F07178;"> </span><span style="color:#BABED8;">WIFI_POWER_MINUS_1dBm</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">-</span><span style="color:#F78C6C;">4</span><span style="color:#676E95;font-style:italic;">// -1dBm</span></span>
|
||
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#F07178;"> </span><span style="color:#FFCB6B;">wifi_power_t</span><span style="color:#89DDFF;">;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br></div></div></div><table><thead><tr><th style="text-align:center;">Param</th><th style="text-align:center;">Description</th></tr></thead><tbody><tr><td style="text-align:center;"><code>txPower</code></td><td style="text-align:center;">The power level to set.</td></tr></tbody></table><h3 id="camera-params" tabindex="-1">Camera Params <a class="header-anchor" href="#camera-params" aria-label="Permalink to "Camera Params""></a></h3><table><thead><tr><th style="text-align:center;">Param</th><th style="text-align:center;">Description</th><th style="text-align:center;">Value Effect</th></tr></thead><tbody><tr><td style="text-align:center;"><code>vflip</code></td><td style="text-align:center;">Whether to flip the frames vertically.</td><td style="text-align:center;">0 or 1</td></tr><tr><td style="text-align:center;"><code>framesize</code></td><td style="text-align:center;">A value between 0-7 indicating the frame resolution.</td><td style="text-align:center;">Larger number - higher resolution.</td></tr><tr><td style="text-align:center;"><code>hflip</code></td><td style="text-align:center;">Whether to flip the frames horizontally.</td><td style="text-align:center;">0 or 1</td></tr><tr><td style="text-align:center;"><code>quality</code></td><td style="text-align:center;">The JPEG quality level: 1-63?</td><td style="text-align:center;"><strong>Smaller</strong> number = higher quality, more latency and less fps</td></tr><tr><td style="text-align:center;"><code>brightness</code></td><td style="text-align:center;">The <code>agc_gain</code> of the camera.</td><td style="text-align:center;">Larger number = more bright.</td></tr></tbody></table></div></div></main><footer class="VPDocFooter" data-v-281cfc61 data-v-67de71aa><!--[--><!--]--><div class="edit-info" data-v-67de71aa><!----><div class="last-updated" data-v-67de71aa><p class="VPLastUpdated" data-v-67de71aa data-v-5be60f87>Last updated: <time datetime="2024-06-17T18:43:25.000Z" data-v-5be60f87></time></p></div></div><nav class="prev-next" data-v-67de71aa><div class="pager" data-v-67de71aa><a class="pager-link prev" href="/firmware_guide/mdns" data-v-67de71aa><span class="desc" data-v-67de71aa>Previous page</span><span class="title" data-v-67de71aa>MDNS</span></a></div><div class="pager" data-v-67de71aa><a class="pager-link next" href="/software_guide/eyetrackvr_app_guide" data-v-67de71aa><span class="desc" data-v-67de71aa>Next page</span><span class="title" data-v-67de71aa>Installing and setting up the ETVR App</span></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-527a0310 data-v-04a39284><div class="container" data-v-04a39284><p class="message" data-v-04a39284>Released under the MIT License.</p><p class="copyright" data-v-04a39284>Copyright © 2022-present ETVR</p></div></footer><!--[--><!--]--></div></div>
|
||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"contact.md\":\"034a53d4\",\"firmware_guide_firmware.md\":\"6c8e1ae6\",\"firmware_guide_environments.md\":\"6b0604e7\",\"firmware_guide_flashing_tool.md\":\"c180a2ca\",\"firmware_guide_mdns.md\":\"8a95e855\",\"archive_fox_ir_v2_build_instructions.md\":\"ebf3c880\",\"getting_started_led_safety.md\":\"78277ff3\",\"how_to_build_parts_list.md\":\"d57cd54a\",\"how_to_build_creating_your_own_mount.md\":\"70ac1088\",\"how_to_build_full_build.md\":\"f324b1f6\",\"getting_started_intro.md\":\"d6d8f855\",\"firmware_guide_rest_api.md\":\"8a0ea54a\",\"getting_started_things_to_know.md\":\"4cd89e47\",\"headset_guides_valve_index.md\":\"891da17f\",\"headset_guides_what_is_this.md\":\"60052a7d\",\"dev_roadmap.md\":\"2f96c918\",\"firmware_guide_upload_and_update_firmware.md\":\"0806ea0f\",\"how_to_build_3d_printed_mounts.md\":\"5d2aa5cb\",\"software_guide_vrcft_tracking_module.md\":\"d148b9dc\",\"software_guide_build_software.md\":\"b0d1c681\",\"development_docs_pages.md\":\"85e22694\",\"how_to_build_v4_full_build.md\":\"0dd3c5e7\",\"misc_jlc3dp.md\":\"5e8875c4\",\"development_docs_standards.md\":\"f9558435\",\"development_docs_dev_docs.md\":\"b7b0d76e\",\"how_to_build_part_list.md\":\"3640f4dd\",\"how_to_build_preparing_cameras.md\":\"0a4aab5a\",\"how_to_build_preparing_xiao.md\":\"fcacda59\",\"how_to_build_led_setup.md\":\"6d99addb\",\"index.md\":\"269511a8\",\"misc_faq.md\":\"8d641c6c\",\"misc_vrc_avatar_setup.md\":\"2d1bc492\",\"about.md\":\"055b7111\",\"software_guide_osc_setup.md\":\"af1d1fce\",\"firmware_guide_setup_vscode.md\":\"fefbbc55\",\"firmware_guide_update_platformio.md\":\"d52a99e0\",\"firmware_guide_configure_firmware.md\":\"4eb536cf\",\"software_guide_eyetrackvr_app_guide.md\":\"dce4a9fb\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"EyeTrackVR Docs\",\"description\":\"Official documentation for EyeTrackVR. Fully open-source and affordable VR eye tracking platform.\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"logo\":{\"light\":\"/logo_light.png\",\"dark\":\"/logo.svg\",\"alt\":\"EyeTrackVR Logo\"},\"siteTitle\":\"EyeTrackVR Docs\",\"search\":{\"provider\":\"local\"},\"outline\":\"deep\",\"footer\":{\"message\":\"Released under the MIT License.\",\"copyright\":\"Copyright © 2022-present ETVR\"},\"nav\":[{\"text\":\"About\",\"items\":[{\"text\":\"About Us\",\"link\":\"/about\"},{\"text\":\"Development Road Map\",\"link\":\"/dev_roadmap\"}]},{\"text\":\"Contact\",\"link\":\"/contact\"}],\"sidebar\":[{\"text\":\"Getting Started\",\"collapsible\":true,\"items\":[{\"text\":\"Introduction\",\"link\":\"/getting_started/intro\"},{\"text\":\"Things to know before you start\",\"link\":\"/getting_started/things_to_know\"},{\"text\":\"LED Safety\",\"link\":\"/getting_started/led_safety\"}]},{\"text\":\"How to Build\",\"collapsible\":true,\"items\":[{\"text\":\"Parts List\",\"link\":\"/how_to_build/part_list\"},{\"text\":\"Preparing Cameras\",\"link\":\"/how_to_build/preparing_cameras\"},{\"text\":\"Preparing XIAO Sense ESP32\",\"link\":\"/how_to_build/preparing_xiao\"},{\"text\":\"Preparing V4 LEDs\",\"link\":\"/how_to_build/led_setup\"},{\"text\":\"3D Printed Mounts\",\"link\":\"/how_to_build/3d_printed_mounts\"},{\"text\":\"How to Create your own Camera Mount\",\"link\":\"/how_to_build/creating_your_own_mount\"},{\"text\":\"V4 Full Build Guide WIP\",\"link\":\"/how_to_build/v4_full_build\"}]},{\"text\":\"Headset Guides\",\"collapsible\":true,\"items\":[{\"text\":\"What is This?\",\"link\":\"/headset_guides/what_is_this.md\"},{\"text\":\"Valve Index\",\"link\":\"/headset_guides/valve_index.md\"}]},{\"text\":\"Firmware Guide\",\"collapsible\":true,\"items\":[{\"text\":\"Introduction\",\"link\":\"/firmware_guide/firmware\"},{\"text\":\"Flashing Tool\",\"link\":\"/firmware_guide/flashing_tool.md\"},{\"text\":\"MDNS\",\"link\":\"/firmware_guide/mdns\"},{\"text\":\"REST API\",\"link\":\"/firmware_guide/rest_api\"}]},{\"text\":\"Software Guide\",\"collapsible\":true,\"items\":[{\"text\":\"Installing and setting up the ETVR App\",\"link\":\"/software_guide/eyetrackvr_app_guide\"},{\"text\":\"Building the app from source\",\"link\":\"/software_guide/build_software\"},{\"text\":\"Setting up OSC recenter/recalibrate\",\"link\":\"/software_guide/osc_setup\"},{\"text\":\"Setting up VRCFT - VRCFT Module\",\"link\":\"/software_guide/VRCFT_tracking_module\"}]},{\"text\":\"Miscellaneous\",\"collapsible\":true,\"items\":[{\"text\":\"JLC3DP 3D Printing Service\",\"link\":\"/misc/jlc3dp\"},{\"text\":\"VR Chat Avatar Setup\",\"link\":\"/misc/vrc_avatar_setup\"},{\"text\":\"FAQ\",\"link\":\"/misc/faq\"}]},{\"text\":\"Development\",\"collapsible\":true,\"items\":[{\"text\":\"Docs\",\"link\":\"/development/docs/dev_docs\"},{\"text\":\"Edit Docs\",\"link\":\"/development/docs/pages\"},{\"text\":\"Standards\",\"link\":\"/development/docs/standards\"}]},{\"text\":\"Archive\",\"collapsible\":true,\"items\":[{\"text\":\"Setup Visual Studio Code environment\",\"link\":\"/firmware_guide/setup_vscode\"},{\"text\":\"Configuring Firmware\",\"link\":\"/firmware_guide/configure_firmware\"},{\"text\":\"Firmware Environments\",\"link\":\"/firmware_guide/environments\"},{\"text\":\"Uploading and Updating the Firmware\",\"link\":\"/firmware_guide/upload_and_update_firmware\"},{\"text\":\"Updating PlatformIO\",\"link\":\"/firmware_guide/update_platformio\"},{\"text\":\"Prepare to solder IR LED PCB V2's\",\"link\":\"/archive/fox_ir_v2_build_instructions\"},{\"text\":\"V3 Full Build Guide\",\"link\":\"/how_to_build/full_build\"},{\"text\":\"Part List (legacy)\",\"link\":\"/how_to_build/parts_list\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/EyeTrackVR\"},{\"icon\":\"discord\",\"link\":\"https://discord.gg/kkXYbVykZX\"}]},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":true}");</script>
|
||
|
||
</body>
|
||
</html> |