1 Star 0 Fork 1

upczap/vrpn

forked from ianaxe/vrpn 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
vrpn_Tng3.h 2.31 KB
一键复制 编辑 原始数据 按行查看 历史
#ifndef VRPN_TNG3B_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
// TNG stands for "Totally Neat Gadget."
// The TNG3 is an interface device from Mindtel <www.mindtel.com>.
// It is powered by the serial control lines and offers 8 digital
// and 8 analog inputs. It costs about $150.
// Written by Rob King at Navy Research Labs.
class VRPN_API vrpn_Tng3: public vrpn_Serial_Analog,
public vrpn_Button_Filter
{
public:
vrpn_Tng3 (const char * name,
vrpn_Connection * c,
const char * port,
int baud = 19200, // only speed
const int numbuttons = 8,
const int numchannels = 8);
~vrpn_Tng3 () {};
// Called once through each main loop iteration to handle
// updates.
virtual void mainloop (void);
protected:
int _status;
int _numbuttons; // How many buttons to open
int _numchannels; // How many analog channels to open
unsigned _num_read; // How many characters have been read on this report?
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
struct timeval _timestamp; // Time of the last report from the device
virtual void clear_values(void); // Set all buttons, analogs back to 0
virtual int reset(void); // Set device back to starting config
virtual int get_report(void); // Try to read a report from the device
// 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 or vrpn_Dial
private:
// utility routine to sync up the data stream
int syncDatastream (double seconds);
unsigned char bDataPacketStart;
};
#define VRPN_TNG3B_H
#endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/jari/vrpn.git
[email protected]:jari/vrpn.git
jari
vrpn
vrpn
master

搜索帮助