0 Star 0 Fork 1

ianaxe/vrpn

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
vrpn_Flock_Parallel.h 3.25 KB
一键复制 编辑 原始数据 按行查看 历史
/*****************************************************************************\
vrpn_Flock_Parallel.h
--
Description : implements a class which runs an ascension flock of birds
tracker in multiple rs232 mode.
----------------------------------------------------------------------------
Author: weberh
Created: Thu Mar 5 19:38:55 1998
Revised: Fri Mar 19 15:05:28 1999 by weberh
\*****************************************************************************/
#ifndef _VRPN_FLOCK_PARALLEL_H_
#define _VRPN_FLOCK_PARALLEL_H_
#include "vrpn_Configure.h" // for VRPN_API
#include "vrpn_Flock.h" // for vrpn_Tracker_Flock, etc
#include "vrpn_Types.h" // for vrpn_int32
class VRPN_API vrpn_Connection;
// This is a class which provides a server for an ascension
// Flock of Birds tracker. The server will send out messages
// at whatever rate the flock of bird's stream mode feeds them.
// Default filtering is active.
// The timestamp is the time when the first character was read
// from the serial driver with "read". No adjustment is currently
// made to this time stamp.
// Adelstein, et al, "Dynamic response of electromagnetic spatial
// displacement trackers", Presence 5(3) found that if all of the filters
// are turned off, and the time required to transport the data to the
// server is ignored, then the latency of the flock is about 2 ms for ori,
// 7.5 ms for pos for the 0-4hz range (ie, when the data is ready to leave
// the flock in stream mode, the pos is 7.5 ms old, and the ori is 2 ms
// old). Later this data will be combined with the baud rate to provide a
// more accurate time stamp for certain flock modes.
// If this is running on a non-linux system, then the serial port driver
// is probably adding more latency -- see the vrpn README for more info.
// forward decl
class VRPN_API vrpn_Tracker_Flock_Parallel_Slave;
// this class acts as the master
// these are both derived from vrpn_Tracker_Flock to take advantage
// of some of the data and functionality, but they replace the major
// functions
class VRPN_API vrpn_Tracker_Flock_Parallel: public vrpn_Tracker_Flock {
public:
// for parallel, you supply the master port and then the
// slave ports in a array with cSensors elements
vrpn_Tracker_Flock_Parallel(char *name, vrpn_Connection *c, int cSensors,
char *port, long baud,
char *slavePortArray[],
bool invertQuaternion = false);
virtual ~vrpn_Tracker_Flock_Parallel();
virtual void mainloop();
protected:
virtual int get_report(void);
virtual void reset();
// slave ptrs
vrpn_Tracker_Flock_Parallel_Slave *rgSlaves[VRPN_FLOCK_MAX_SENSORS];
};
// the special args are the master's vrpn id and tracker pos msg id
// The slave masquerades as the master when sending out reports
class VRPN_API vrpn_Tracker_Flock_Parallel_Slave : public vrpn_Tracker_Flock {
public:
vrpn_Tracker_Flock_Parallel_Slave( char *name,
vrpn_Connection *c,
char *port,
long baud,
vrpn_int32 vrpnMasterID,
int iSensorID );
virtual ~vrpn_Tracker_Flock_Parallel_Slave();
virtual void mainloop();
protected:
virtual void reset();
friend class VRPN_API vrpn_Tracker_Flock_Parallel;
};
#endif // _VRPN_FLOCK_PARALLEL_H_
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/ianaxe/vrpn.git
git@gitee.com:ianaxe/vrpn.git
ianaxe
vrpn
vrpn
master

搜索帮助