RflySimSDK v3.05
RflySimSDK说明文档
载入中...
搜索中...
未找到
vrpn_raw_sgibox.h
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
18class VRPN_API vrpn_Connection;
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
25class VRPN_API vrpn_raw_SGIBox :public vrpn_Analog, public vrpn_Dial, public vrpn_Button_Filter {
26public:
27 vrpn_raw_SGIBox(char * name, vrpn_Connection * c, char *serialDevName);
28 void mainloop();
29 int reset();
30 int send_light_command();
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.h:28
定义 vrpn_Button.h:66
Generic connection class not specific to the transport mechanism.
定义 vrpn_Connection.h:562
定义 vrpn_Dial.h:21
定义 vrpn_raw_sgibox.h:25