vrpn  07.33
Virtual Reality Peripheral Network
vrpn_UNC_Joystick.h
Go to the documentation of this file.
1 #ifndef VRPN_JOYSTICK
2 #define VRPN_JOYSTICK
3 #include "vrpn_Analog.h" // for vrpn_CHANNEL_MAX, etc
4 #include "vrpn_Button.h" // for vrpn_Button_Filter
5 #include "vrpn_Configure.h" // for VRPN_API
6 
8 
9 // This class runs the UNC custom serial joystick. It includes two
10 // buttons, a slider, and two 3-axis joysticks. It is based on a
11 // single-board computer. This driver is based on the px_sjoy.c
12 // code.
13 
15 public:
16  vrpn_Joystick(char * name, vrpn_Connection * c, char * portname,int
17  baud, double);
18 
19  void mainloop(void);
20 
21 protected:
22  int get_report();
23  void report(struct timeval current_time);
24  void reset();
25  void parse(int, int reset_rest_pos = 0);
26 private:
27  unsigned char serialbuf[32];
28  double restval[vrpn_CHANNEL_MAX]; // Initial value of each channel
29  unsigned long MAX_TIME_INTERVAL;
30 };
31 
32 
33 #endif
vrpn_Serial_Analog
Definition: vrpn_Analog.h:63
vrpn_Analog::report
virtual void report(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW)
Send a report whether something has changed or not (for servers) Optionally, tell what time to stamp ...
Definition: vrpn_Analog.C:94
vrpn_CHANNEL_MAX
#define vrpn_CHANNEL_MAX
Definition: vrpn_Analog.h:16
vrpn_Joystick
Definition: vrpn_UNC_Joystick.h:14
vrpn_Button.h
vrpn_BaseClass::mainloop
virtual void mainloop()=0
Called once through each main loop iteration to handle updates. Remote object mainloop() should call ...
vrpn_Connection
Generic connection class not specific to the transport mechanism.
Definition: vrpn_Connection.h:510
MAX_TIME_INTERVAL
#define MAX_TIME_INTERVAL
Definition: vrpn_3DMicroscribe.C:29
vrpn_Analog.h
vrpn_Configure.h
VRPN_API
#define VRPN_API
Definition: vrpn_Configure.h:646
vrpn_Button_Filter
All button servers should derive from this class, which provides the ability to turn any of the butto...
Definition: vrpn_Button.h:65