Skip to content

EyeTrackVR/FirmwareFlashingTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

153 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Firmware Flashing Tool

This is a streamlined Tauri app using Vite and SolidJS.

A firmware flashing tool for the Open Source EyeTrackVR hardware project.

This repo includes:

Usage

Warning

This project uses pnpm by default, and utilizes pnpm workspaces. If you do not have pnpm installed, you can install it with npm install -g pnpm.

You can use yarn or npm, however, you will need to modify the project to remove the pnpm specific commands and workspace.

Setup

Step 1 - setup node environment

pnpm run setup

Step 2 - setting up the backend binary

To actually compile the project, you'll also need a binary of the ETVR backend from here.

Clone the project, follow its readme to set it up and build the binary. Once done, copy the result into backend_bin and rename it to ETVR-<target-triple>

The target triple can be obtained by running

rustc -Vv

The info you're looking for will be stored under host:, for example host: x86_64-pc-windows-msvc So the copied binary should be named like ETVR-x86_64-pc-windows-msvc

Step 3

Run the project

pnpm tauri dev

Available Scripts

See the package.json for all available scripts.

pnpm tauri dev

Runs the app in the development mode.

An app should launch on your desktop.

The page will reload if you make edits.

pnpm docs

Uses JSDoc to build a documentation website based on the projects documentation.

pnpm lint

Runs eslint on all of the included files.

pnpm format

Uses Prettier and the above pnpm lint command to lint and then format all included file types.

Development

This project follows the architecture Tauri laid down - Tauri Plugins and commands, to communicate with the hardware. These plugins are located in the src-tauri/src/lib folder.

Deployment

To build the app, run the following:

pnpm tauri build

Builds the app for production to the src-tauri/target folder.
This will correctly bundle Solid in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.

Updating version for CI

Requirements

Install UV:

Then, in the project root run:

uv sync

Beta version

First, make sure your changes are merged into the beta branch and that you're currently checked out on it. Once done, run:

uv run bumpver update --tag-num --tag beta --dry

Check if your changes look good, and if so:

uv run bumpver update --tag-num --tag beta

This will push the new bump commit with a special tag that will trigger a fresh beta build

Release version

Follow the same steps as for Beta version but instead of tag beta use one of the following

  • --patch - for patch updates
  • --minor - for minor changes
  • --major - for breaking changes

Pushing the new version to Github

Unfortunately, since bumpver doesn't support setting v in git tags, we have to do one more step

git tag v<new_tag> <bumpver_tag>

for example

git tag v1.7.1-beta.2 1.7.1-beta.2

Once done:

git push --follow-tags