0 Star 0 Fork 1

ianaxe/vrpn

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
vrpn_Magellan.h 2.10 KB
一键复制 编辑 原始数据 按行查看 历史
#ifndef VRPN_MAGELLAN_H
#define VRPN_MAGELLAN_H
#include "vrpn_Analog.h" // for vrpn_Serial_Analog
#include "vrpn_Button.h" // for vrpn_Button_Filter
#include "vrpn_Configure.h" // for VRPN_API
#include "vrpn_Connection.h" // for vrpn_CONNECTION_LOW_LATENCY, etc
#include "vrpn_Shared.h" // for timeval
#include "vrpn_Types.h" // for vrpn_uint32
class VRPN_API vrpn_Magellan: public vrpn_Serial_Analog
,public vrpn_Button_Filter
{
public:
vrpn_Magellan (const char * name, vrpn_Connection * c,
const char * port, int baud, bool altreset = false);
~vrpn_Magellan () {};
/// Called once through each main loop iteration to handle updates.
virtual void mainloop ();
virtual int reset(void); //< Set device back to starting config
protected:
bool _altreset; //< Send alternative reset string?
int _status; //< Used by mainloop() and get_report()
int _numbuttons; //< How many buttons to open
int _numchannels; //< How many analog channels to open
unsigned _expected_chars; //< How many characters to expect in the report
unsigned char _buffer[512]; //< Buffer of characters in report
unsigned _bufcount; //< How many characters we have so far
int _null_radius; //< The range over which no motion should be reported
struct timeval timestamp; //< Time of the last report from the device
virtual void clear_values(void);//< Set all buttons, analogs and encoders back to 0
/// Try to read a report from the device. Returns 1 if complete report received,
/// 0 otherwise. Sets _status to match current status.
virtual int get_report(void);
/// send report iff changed
virtual void report_changes
(vrpn_uint32 class_of_service
= vrpn_CONNECTION_LOW_LATENCY);
/// send report whether or not changed
virtual void report
(vrpn_uint32 class_of_service
= vrpn_CONNECTION_LOW_LATENCY);
// NOTE: class_of_service is only applied to vrpn_Analog
// values, not vrpn_Button, which are always vrpn_RELIABLE
};
#endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/ianaxe/vrpn.git
git@gitee.com:ianaxe/vrpn.git
ianaxe
vrpn
vrpn
master

搜索帮助