Initial for Condor Simulator

Dependents:   USBJoystick_2 USBJoystick_NEW

Fork of USBJoystick by Wim Huiskamp

Embed: (wiki syntax)

« Back to documentation index

USBJoystick Class Reference

USBJoystick Class Reference

USBJoystick example. More...

#include <USBJoystick.h>

Public Member Functions

 USBJoystick (uint16_t vendor_id=0x4567, uint16_t product_id=0x0500, uint16_t product_release=0x0001, int waitForConnect=true)
 Constructor.
bool update (int16_t x, int16_t y, int16_t b, int16_t f, int16_t r, int16_t t, uint8_t hat, uint32_t buttons)
 Write state of the joystick.
bool update ()
 Write state of the joystick.
bool throttle (int16_t t)
 Move the throttle position.
bool rudder (int16_t r)
 Move the rudder position.
bool diveBreak (int16_t b)
 Move the dive break position.
bool flaps (int16_t f)
 Move the flaps position.
bool move (int16_t x, int16_t y)
 Move the cursor to (x, y)
bool buttons (uint32_t buttons)
 Press one or several buttons.
bool hat (uint8_t hat)
 Press hat.
virtual uint8_t * reportDesc ()
 To define the report descriptor.

Detailed Description

USBJoystick example.

 #include "mbed.h"
 #include "USBJoystick.h"

 USBJoystick joystick;

 int main(void)
 {
   while (1)
   {
      joystick.move(20, 0);
      wait(0.5);
   }
 }
 #include "mbed.h"
 #include "USBJoystick.h"

 USBJoystick joystick;

 int main(void) {
   uint16_t i = 0;
   int16_t throttle = 0;
   int16_t rudder = 0;
   int16_t x = 0;
   int16_t y = 0;
   int32_t radius = 120;
   int32_t angle = 0;
   uint32_t buttons = 0;
   uint8_t  hat = 0;

   while (1) {
       // Basic Joystick
       throttle = (i >> 8) & 0xFF; // value -127 .. 128
       rudder   = (i >> 8) & 0xFF; // value -127 .. 128
       buttons  = (i >> 8) & 0x0F; // value    0 .. 15, one bit per button
       hat      = (i >> 8) & 0x07; // value    0 .. 7 or 8 for neutral
       i++;

       x = cos((double)angle*3.14/180.0)*radius;  // value -127 .. 128
       y = sin((double)angle*3.14/180.0)*radius;  // value -127 .. 128
       angle += 3;

       joystick.update(throttle, rudder, x, y, buttons, hat);

       wait(0.001);
   }
 }

Definition at line 150 of file USBJoystick.h.


Constructor & Destructor Documentation

USBJoystick ( uint16_t  vendor_id = 0x4567,
uint16_t  product_id = 0x0500,
uint16_t  product_release = 0x0001,
int  waitForConnect = true 
)

Constructor.

Parameters:
vendor_idYour vendor_id (default: 0x1234)
product_idYour product_id (default: 0x0604)
product_releaseYour product_release (default: 0x0001)

Definition at line 163 of file USBJoystick.h.


Member Function Documentation

bool buttons ( uint32_t  buttons )

Press one or several buttons.

Parameters:
buttonsbuttons state
Returns:
true if there is no error, false otherwise

Definition at line 136 of file USBJoystick.cpp.

bool diveBreak ( int16_t  b )

Move the dive break position.

Parameters:
bbreak position
Returns:
true if there is no error, false otherwise

Definition at line 106 of file USBJoystick.cpp.

bool flaps ( int16_t  f )

Move the flaps position.

Parameters:
fflaps position
Returns:
true if there is no error, false otherwise

Definition at line 112 of file USBJoystick.cpp.

bool hat ( uint8_t  hat )

Press hat.

Parameters:
hathat state
Returns:
true if there is no error, false otherwise

Definition at line 130 of file USBJoystick.cpp.

bool move ( int16_t  x,
int16_t  y 
)

Move the cursor to (x, y)

Parameters:
x-axisposition
y-axisposition
Returns:
true if there is no error, false otherwise

Definition at line 99 of file USBJoystick.cpp.

uint8_t * reportDesc (  ) [virtual]

To define the report descriptor.

Warning: this method has to store the length of the report descriptor in reportLength.

Returns:
pointer to the report descriptor

Definition at line 157 of file USBJoystick.cpp.

bool rudder ( int16_t  r )

Move the rudder position.

Parameters:
rrudder position
Returns:
true if there is no error, false otherwise

Definition at line 118 of file USBJoystick.cpp.

bool throttle ( int16_t  t )

Move the throttle position.

Parameters:
tthrottle position
Returns:
true if there is no error, false otherwise

Definition at line 124 of file USBJoystick.cpp.

bool update ( int16_t  x,
int16_t  y,
int16_t  b,
int16_t  f,
int16_t  r,
int16_t  t,
uint8_t  hat,
uint32_t  buttons 
)

Write state of the joystick.

Parameters:
xx-axis position
yy-axis position
bbreak position
fflaps position
rrudder position
tthrottle position
hathat state 0 (up), 1 (up right), 2 (right), 3 (down right), 4 (down), 5 (down left), 6 (left), 7 (up left) or 8 (neutral)
buttonsbuttons state
Returns:
true if there is no error, false otherwise

Definition at line 30 of file USBJoystick.cpp.

bool update (  )

Write state of the joystick.

Returns:
true if there is no error, false otherwise

Definition at line 45 of file USBJoystick.cpp.