vrpn 07.35
Virtual Reality Peripheral Network
 
Loading...
Searching...
No Matches
vrpn_raw_sgibox.h
Go to the documentation of this file.
1/* vrpn_raw_sgibox.h
2 *
3 * This file describes the interface to an SGI dial & button box that
4 * is connected through a serial interface. This allows the control of
5 * the boxes without going through the SGI GL library, rather using the
6 * serial interface to connect with the device.
7 */
8
9#ifndef VRPN_RAW_SGIBOX
10#define VRPN_RAW_SGIBOX
11
12#include "vrpn_Configure.h" // for VRPN_API
13
14#include "vrpn_Analog.h"
15#include "vrpn_Dial.h"
16#include "vrpn_Button.h"
17
19
20/* Number of buttons and number of dials on sgi button/dial boxes */
21#define vrpn_SGI_NUM_BUTTONS (32)
22#define vrpn_SGI_NUM_DIALS (8)
23#define vrpn_SGI_NUMDEVS (vrpn_SGI_NUM_BUTTONS+vrpn_SGI_NUM_DIALS)
24
26public:
27 vrpn_raw_SGIBox(char * name, vrpn_Connection * c, char *serialDevName);
28 void mainloop();
29 int reset();
31
32protected:
33 void get_report();
34 void check_press_bank(int base_button, unsigned char base_command,
35 unsigned char command);
36 void check_release_bank(int base_button, unsigned char base_command,
37 unsigned char command);
38
39private:
40 int serialfd; // Serial port that has been opened
41 int mid_values[vrpn_SGI_NUM_DIALS]; //< Used to perform clamping
42 int last_values[vrpn_SGI_NUM_DIALS]; //< Used by dial reporting code
43};
44
45#endif // VRPN_RAW_SGIBOX
46
vrpn_Analog(const char *name, vrpn_Connection *c=NULL)
Definition vrpn_Analog.C:14
virtual void mainloop()=0
Called once through each main loop iteration to handle updates. Remote object mainloop() should call ...
vrpn_Button_Filter(const char *, vrpn_Connection *c=NULL)
Generic connection class not specific to the transport mechanism.
vrpn_Dial(const char *name, vrpn_Connection *c=NULL)
Definition vrpn_Dial.C:8
void check_press_bank(int base_button, unsigned char base_command, unsigned char command)
vrpn_raw_SGIBox(char *name, vrpn_Connection *c, char *serialDevName)
void check_release_bank(int base_button, unsigned char base_command, unsigned char command)
#define VRPN_API
#define vrpn_SGI_NUM_DIALS
class VRPN_API vrpn_Connection