RflySimSDK v3.05
RflySimSDK说明文档
载入中...
搜索中...
未找到
vrpn_CerealBox.h
1#ifndef VRPN_CEREALBOX_H
2#define VRPN_CEREALBOX_H
3
4#include "vrpn_Analog.h" // for vrpn_Serial_Analog
5#include "vrpn_Button.h" // for vrpn_Button_Filter
6#include "vrpn_Configure.h" // for VRPN_API
7#include "vrpn_Connection.h" // for vrpn_CONNECTION_LOW_LATENCY, etc
8#include "vrpn_Dial.h" // for vrpn_Dial
9#include "vrpn_Shared.h" // for timeval
10#include "vrpn_Types.h" // for vrpn_uint32
11
12class VRPN_API vrpn_CerealBox: public vrpn_Serial_Analog
13 ,public vrpn_Button_Filter
14 ,public vrpn_Dial
15{
16public:
17 vrpn_CerealBox (const char * name, vrpn_Connection * c,
18 const char * port, int baud,
19 const int numbuttons, const int numchannels, const int numencoders);
20
21 ~vrpn_CerealBox () {};
22
23 // Called once through each main loop iteration to handle
24 // updates.
25 virtual void mainloop ();
26
27 protected:
28 int _status;
29 int _numbuttons; // How many buttons to open
30 int _numchannels; // How many analog channels to open
31 int _numencoders; // How many encoders to open
32
33 unsigned _expected_chars; // How many characters to expect in the report
34 unsigned char _buffer[512]; // Buffer of characters in report
35 unsigned _bufcount; // How many characters we have so far
36
37 struct timeval timestamp; // Time of the last report from the device
38
39 virtual void clear_values(void); // Set all buttons, analogs and encoders back to 0
40 virtual int reset(void); // Set device back to starting config
41 virtual int get_report(void); // Try to read a report from the device
42
43 // send report iff changed
44 virtual void report_changes
45 (vrpn_uint32 class_of_service
46 = vrpn_CONNECTION_LOW_LATENCY);
47 // send report whether or not changed
48 virtual void report
49 (vrpn_uint32 class_of_service
50 = vrpn_CONNECTION_LOW_LATENCY);
51
52 // NOTE: class_of_service is only applied to vrpn_Analog
53 // values, not vrpn_Button or vrpn_Dial
54};
55
56#endif
virtual void report(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW)
virtual void report_changes(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW)
定义 vrpn_Button.h:66
定义 vrpn_CerealBox.h:15
virtual void mainloop()
Generic connection class not specific to the transport mechanism.
定义 vrpn_Connection.h:562
定义 vrpn_Dial.h:21
定义 vrpn_Analog.h:63