import{_ as r,a as i}from"./chunks/index.5b1f69a8.js";import{_ as n,i as s}from"./chunks/index.1d77087a.js";import{o as u,c as p,a as e,w as l,u as o,h as t,g as a}from"./app.ffc675f3.js";const d=t('
Uploading your firmware must initially be done over cable. Once you have the tracker connected to your WiFi after your first firmware update, you can opt to use OTA in the future.
First, connect your ESP32-Cam to your programmer. In the case of the ESP32-Cam-MB board, it's as simple as sticking it into the socket the way it came in the package and then connecting it to your PC with a micro-USB cable. In some cases, there is a button labeled IOO on the programmer. If that button exists make sure to hold it in while you plug the programmer into your pc, once plugged in you can release the button.
In the case of an FTDI programmer, the steps aren't as easy, so grab this guide for how to set it up.
This builds the firmware, but does not send it to the ESP yet.

If you are using the OTA method, first make sure the tracker you wish to flash is turned on and connected to your network, then skip to the OTA section below.
Once the firmware has been built, press the upload button to upload the firmware.
This sends the firmware to the ESP. 
If the upload is successful, you should get an output that looks like this:

Congratulations! You have now successfully uploaded the firmware to your EyeTrackVR Tracker!
If you have trouble with uploading your firmware over cable check the following:
Additionally, this can be caused by software hogging COM ports (VSCode and Cura can be the cause of this).
OTA stands for Over The Air, and it is a way to update your firmware without having to connect your device to your computer.
To use OTA, you need to have working firmware on your ESPs first.
Once you have mnually flashed the firmware at least once, you can use the OTA environment to upate your ESPs.
Coming Soon
Currently, we only support OTA using platformio and Visual Studio Code. We are working on a new app, where you can upload your firmware to your ESPs over WiFi straight from the app.
To do this, you need to change your environment to the OTA version of your working environment.
For example, if you have a working esp32AIThinker environment, you would change your environment to esp32AIThinker_OTA.
Once you have changed your environment, you can upload your firmware to your ESPs using the upload button, as you would normally.
Once you have successfully connected your trackers to your WiFi, you can use OTA to handle all future firmware updates.
ini/user_config.ini file: [ota]
enableota = 1
otaserverip = "openiristrackerL.local" # here we use a custom mDNS name
otapassword = "12345678"
otaserverport = 3232

Connect your tracker to your PC and then open a serial monitor in VSC by pressing the plug icon.
The text, highlighted in green for demonstration, is the stream address of the camera. Take note of this for input into the software.
Keep in mind while testing and getting set up, the ESP can only have one client, to use the camera in the app, make sure you close the browser tab you tested it in.
To update the firmware you'll need to follow a couple of steps.
Open a terminal and enter the directory you've cloned OpenIris into, for example cd D:/OpenIris/
Save your current changes to the config using git stash
Download the newest changes from the repo using git pull
Apply your saved changes so that you don't have to retype your WI-FI credentials using git stash apply
4.1. If anything went wrong, you can reset everything to the default state using git reset --hard and then retyping your credentials
If you encountered an issue while following these steps check the FAQ.
If you don't find an answer to your question there ask in #questions channel in the discord, we will be happy to help.
Adapted from the SlimeVR docs, Some Credit goes to the SlimeVR team here
',6),A=JSON.parse('{"title":"Building and uploading the firmware manually","description":"","frontmatter":{},"headers":[{"level":2,"title":"1. Connect your tracker to your PC via the programmer","slug":"_1-connect-your-tracker-to-your-pc-via-the-programmer","link":"#_1-connect-your-tracker-to-your-pc-via-the-programmer","children":[]},{"level":2,"title":"2. Build your firmware","slug":"_2-build-your-firmware","link":"#_2-build-your-firmware","children":[]},{"level":2,"title":"3. Upload your firmware","slug":"_3-upload-your-firmware","link":"#_3-upload-your-firmware","children":[]},{"level":2,"title":"Uploading via OTA","slug":"uploading-via-ota","link":"#uploading-via-ota","children":[{"level":3,"title":"What is it?","slug":"what-is-it","link":"#what-is-it","children":[]},{"level":3,"title":"How do I use it?","slug":"how-do-i-use-it","link":"#how-do-i-use-it","children":[]}]},{"level":2,"title":"Finding the IP address of your tracker","slug":"finding-the-ip-address-of-your-tracker","link":"#finding-the-ip-address-of-your-tracker","children":[]},{"level":2,"title":"Troubleshooting","slug":"troubleshooting","link":"#troubleshooting","children":[]}],"relativePath":"firmware_guide/upload_and_update_firmware.md","lastUpdated":1678402493000}'),_={name:"firmware_guide/upload_and_update_firmware.md"},D=Object.assign(_,{setup(w){return(b,k)=>(u(),p("div",null,[d,e(r,{options:o(i).upload_firmware_one},{content:l(()=>[h]),_:1},8,["options"]),c,e(n,{options:o(s).upload_firmware_image_one},null,8,["options"]),m,e(n,{options:o(s).upload_firmware_image_two},null,8,["options"]),g,e(r,{options:o(i).user_warning},{content:l(()=>[y]),_:1},8,["options"]),f]))}});export{A as __pageData,D as default};