Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for more interfaces / multiple interfaces at once #4

Merged
merged 2 commits into from
Oct 9, 2016

Conversation

simlrh
Copy link
Contributor

@simlrh simlrh commented Oct 8, 2016

Hello, I've added in support for different kinds of OSVR interfaces (analog, buttons, locomotion etc), as well as changed the API so you can request and save multiple different sources of information in a FreePIE script (see README and examples).

I know these are quite extensive changes so I'm happy if you just want to keep these as two separate plugins rather than maintain someone else's code.

@thomasgauthier
Copy link
Owner

I'm happy to merge it, this is a way more complete plugin and it provides an API more in line with the OSVR system as it is intended to be used.

@thomasgauthier thomasgauthier merged commit 99a4ac3 into thomasgauthier:master Oct 9, 2016
@thomasgauthier
Copy link
Owner

Do you have an idea of how we could implement a write functionality, so that a FreePIE script could act as an OSVR device?

@simlrh
Copy link
Contributor Author

simlrh commented Oct 9, 2016

I've been thinking about that this weekend. Since the running FreePIE app needs to communicate with an OSVR plugin dll, I think it needs to use memory mapped files for IPC the same way HydraSpoof.cs does in the FreePIE core plugins / Lib. But it should be dynamic rather than providing a fixed number of devices like hydra does, so maybe a named pipe which sends info from FreePIE to OSVR telling it what interfaces to look for, then OSVR can open those memory mapped files.

I picture the FreePIE api being like

osvrtrackir = OSVR.device("TrackIR")
osvrtrackir.tracker[0].x = 3.0f

And so on, and it creates the interfaces automatically as required. Then in OSVR you'd access that data as "/com.freepie.osvr/TrackIR/tracker/0"

@thomasgauthier
Copy link
Owner

This seems like a good starting point. Let's move the conversation to #5.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants