Go Down

Topic: Vjoy emulation using Arduino serial statements (Arduino Gamepad) (Read 1 time) previous topic - next topic

CBiscuit

Context:

    Project Parts:

    I recently began a project to use a 9-DOF IMU as a wireless (bluetoothLE) 3D joystick. The board I am using is the Adafruit Feather which interfaces with a Bluetooth LE transmitter/reciever over an SPI connection.

    Data aquisition:

    Right now I am able to convert sensor readings into usable 8 bit values for axes control and collect the data on button presses for additional inputs. I would like to eventually add an analog stick and more buttons eventually.
   Serial communication:
   I have been doing my work (at the point of this posting) on an arduino uno and passing the sensor readings over USB to ensure that axes readings and button presses are found and sent to serial monitor.

   VJOY:

   I have come across this project called vJoy that will emulate a joystick on the windows device and can take in data on the controller(arduino's) individual button state.
   
TL;DR: I am making a wireless Joystick devices using IMU data transmitted by a bluetooth serial communication to windows PC. I plan on using Vjoy (link to project above) to be the interfacing software one the windows side.

Problem:

   I have C++ experience(language basics and a good understanding of object oriented programming) and am willing to work through any obstacle that might come up but I do not know how to get the serial input data from the arduino into the feeder application for the program to emulate inputs.


Desirable Solution (Short Term):

    I would like to get help on how to organize the serial output from the arduino so that it can be read and fead into the Vjoy feeder application. This includes but is not limited to: serial protocol (how to arrange serial statements in order to minimize latency and communicate the state of multiple axes), feeder aplication design (how to have the feeder application read those serial statements and cut down on unnecessary actions to improve read in latency), and possibly more as the project develops.

Long Term Plan:

   I would like to extend this project to be a standardized arduino HID protocol for windows that allows physical computing enthusiasts to develop customizable windows based controlling devices. This likely would involve: the development of a windows driver for serial to HID input (mouse keyboard and gamecontrollers primarilly), the organization of a serial protocol for expressing the type of input and any additional data that input might carry, and a windows based application to assist in the re-mapping and customization of those serial inputs.

Go Up