GithubHelp home page GithubHelp logo

libsurvive's Introduction

libsurvive

WARNING PROJECT NOT YET IN EXPERIMENTAL PHASE

First livestream: https://www.youtube.com/watch?v=sv_AVI9kHN4

Second livestream: https://www.youtube.com/watch?v=gFyEbGQ88s4

Notes from second livestream trying to reverse engineer the watchman protocol: https://gist.github.com/cnlohr/581c433f36f4249f8bbc9c2b6450ef0e

Introduction

High-performance HTC Vive Library

I say "high-performance" really this project is based tightly off of OSVR-Vive-Libre, but, specifically is an attempt to:

  1. Minimize external libraries. Actual reason for starting this: Downloading all of the libraries needed for OSVR-Vive-Libre maxed out my data plan.
  2. Put it under an open-source instead of a force-source license. (GPL to MIT/X11)
  3. Write it in C.
  4. Avoid extra layers where convenient.
  5. (long shot) Make the vive vivable for use with Intel Integrated Graphics systems.

Will I succeed? Probably not.

Definitely going to try!

External dependencies

  • libUSB
  • pthread
  • (planned, may not be needed) lapack

If I ever get to video output... OpenGL.

Architecture

There is an internal representation and an external representation. These lines may get blurred. Internal representation lives in .h files in the src/ folder. External lives in include/ folder.

It is written in some fairly stout "layers" which are basically just function calls:

Layer Description Status
survive_usb.c Data is taken in at "survive_usb.c" from libusb. Done
survive_data.c Raw HID messages are processed into logical "light" "analog" and "imu" messages. Mostly done, Missing light data from controllers, and lighthouse data.
survive_process.c Process the high-level data into solutions for Not yet started. Will be done by ultramn

I may or may not read data from the Vive regarding configuration. If I do, it would be added to the survive_usb.c

libsurvive's People

Contributors

cnlohr avatar

Watchers

James Cloos avatar Josef Kuchař avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.