RflySimSDK v3.05
RflySimSDK说明文档
载入中...
搜索中...
未找到
vrpn_nikon_controls.h
1#ifndef VRPN_NIKON_CONTROLS_H
2#define VRPN_NIKON_CONTROLS_H
3
4#include <stddef.h> // for NULL
5
6#include "vrpn_Analog.h" // for vrpn_Serial_Analog
7#include "vrpn_Analog_Output.h" // for vrpn_Analog_Output
8#include "vrpn_Configure.h" // for VRPN_CALLBACK, VRPN_API
9#include "vrpn_Connection.h" // for vrpn_CONNECTION_LOW_LATENCY, etc
10#include "vrpn_Shared.h" // for timeval
11#include "vrpn_Types.h" // for vrpn_uint32, vrpn_float64
12
14public:
15 vrpn_Nikon_Controls(const char *device_name, vrpn_Connection *con = NULL, const char *port_name = "COM1");
16 ~vrpn_Nikon_Controls(void) {};
17
18 virtual void mainloop ();
19
20protected:
21 int _status;
22
23 unsigned char _buffer[512]; //< Buffer of characters in report
24 unsigned _bufcount; //< How many characters we have so far
25
26 double _requested_focus; //< Where we asked the focus to be set to
27
28 struct timeval timestamp; //< Time of the last report from the device
29 struct timeval last_poll; //< Last time we polled the device
30
31 virtual int reset(void); //< Set device back to starting config
32 virtual int get_report(void); //< Try to read a report from the device
33 virtual int set_channel(unsigned chan_num, vrpn_float64 value); //< Try to set the focus to this
34
36 virtual void report_changes (vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
37
39 virtual void report (vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
40
42 static int VRPN_CALLBACK handle_connect_message(void *userdata, vrpn_HANDLERPARAM p);
43
46 static int VRPN_CALLBACK handle_request_message(void *userdata, vrpn_HANDLERPARAM p);
47
49 static int VRPN_CALLBACK handle_request_channels_message(void *userdata, vrpn_HANDLERPARAM p);
50};
51
52#endif
定义 vrpn_Analog_Output.h:26
Generic connection class not specific to the transport mechanism.
定义 vrpn_Connection.h:562
定义 vrpn_nikon_controls.h:13
static int VRPN_CALLBACK handle_request_message(void *userdata, vrpn_HANDLERPARAM p)
virtual void mainloop()
static int VRPN_CALLBACK handle_request_channels_message(void *userdata, vrpn_HANDLERPARAM p)
Responds to a request to change multiple channels at once.
virtual void report(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY)
Send values whether or not they have changed.
static int VRPN_CALLBACK handle_connect_message(void *userdata, vrpn_HANDLERPARAM p)
Responds to a connection request with a report of the values
virtual void report_changes(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY)
Send changes since the last time
定义 vrpn_Analog.h:63
This structure is what is passed to a vrpn_Connection message callback.
定义 vrpn_Connection.h:41