RflySimSDK v3.05
RflySimSDK说明文档
载入中...
搜索中...
未找到
vrpn_Tracker_Liberty类 参考
+ 类 vrpn_Tracker_Liberty 继承关系图:
+ vrpn_Tracker_Liberty 的协作图:

Public 成员函数

 vrpn_Tracker_Liberty (const char *name, vrpn_Connection *c, const char *port="/dev/ttyS0", long baud=115200, int enable_filtering=1, int numstations=vrpn_LIBERTY_MAX_STATIONS, const char *additional_reset_commands=NULL, int whoamilen=195)
 
int add_stylus_button (const char *button_device_name, int sensor, int numbuttons=1)
 Add a stylus (with button) to one of the sensors.
 
- Public 成员函数 继承自 vrpn_Tracker_Serial
 vrpn_Tracker_Serial (const char *name, vrpn_Connection *c, const char *port="/dev/ttyS1", long baud=38400)
 
virtual void mainloop ()
 
- Public 成员函数 继承自 vrpn_Tracker
 vrpn_Tracker (const char *name, vrpn_Connection *c=NULL, const char *tracker_cfg_file_name=NULL)
 
int read_config_file (FILE *config_file, const char *tracker_name)
 
void print_latest_report (void)
 
int register_server_handlers (void)
 
void get_local_t2r (vrpn_float64 *vec, vrpn_float64 *quat)
 
void get_local_u2s (vrpn_int32 sensor, vrpn_float64 *vec, vrpn_float64 *quat)
 
- Public 成员函数 继承自 vrpn_BaseClass
 vrpn_BaseClass (const char *name, vrpn_Connection *c=NULL)
 
- Public 成员函数 继承自 vrpn_BaseClassUnique
vrpn_ConnectionconnectionPtr ()
 Returns a pointer to the connection this object is using
 

Protected 成员函数

virtual int get_report (void)
 
virtual void reset ()
 Reset the tracker.
 
int set_sensor_output_format (int sensor)
 Augments the basic Liberty format
 
int report_length (int sensor)
 Augments the basic Liberty report length
 
- Protected 成员函数 继承自 vrpn_Tracker_Serial
virtual void send_report (void)
 
- Protected 成员函数 继承自 vrpn_Tracker
bool ensure_enough_unit2sensors (unsigned num)
 
virtual int register_types (void)
 
virtual int encode_to (char *buf)
 
virtual int encode_vel_to (char *buf)
 
virtual int encode_acc_to (char *buf)
 
virtual int encode_tracker2room_to (char *buf)
 
virtual int encode_unit2sensor_to (char *buf)
 
virtual int encode_workspace_to (char *buf)
 
- Protected 成员函数 继承自 vrpn_BaseClass
virtual int init (void)
 
virtual int register_senders (void)
 
- Protected 成员函数 继承自 vrpn_BaseClassUnique
int register_autodeleted_handler (vrpn_int32 type, vrpn_MESSAGEHANDLER handler, void *userdata, vrpn_int32 sender=vrpn_ANY_SENDER)
 
int send_text_message (const char *msg, struct timeval timestamp, vrpn_TEXT_SEVERITY type=vrpn_TEXT_NORMAL, vrpn_uint32 level=0)
 Sends a NULL-terminated text message from the device d_sender_id
 
SendTextMessageBoundCall send_text_message (vrpn_TEXT_SEVERITY type=vrpn_TEXT_NORMAL)
 
void server_mainloop (void)
 
void client_mainloop (void)
 

Protected 属性

struct timeval reset_time
 
int do_filter
 
int num_stations
 
int num_resets
 
char add_reset_cmd [2048]
 
int whoami_len
 
int got_single_sync_char
 
struct timeval liberty_zerotime
 
struct timeval liberty_timestamp
 
vrpn_uint32 REPORT_LEN
 
vrpn_Button_Serverstylus_buttons [vrpn_LIBERTY_MAX_STATIONS]
 
- Protected 属性 继承自 vrpn_Tracker_Serial
char portname [VRPN_TRACKER_BUF_SIZE]
 
long baudrate
 
int serial_fd
 
unsigned char buffer [VRPN_TRACKER_BUF_SIZE]
 
vrpn_uint32 bufcount
 
- Protected 属性 继承自 vrpn_Tracker
vrpn_int32 position_m_id
 
vrpn_int32 velocity_m_id
 
vrpn_int32 accel_m_id
 
vrpn_int32 tracker2room_m_id
 
vrpn_int32 unit2sensor_m_id
 
vrpn_int32 request_t2r_m_id
 
vrpn_int32 request_u2s_m_id
 
vrpn_int32 request_workspace_m_id
 
vrpn_int32 workspace_m_id
 
vrpn_int32 update_rate_id
 
vrpn_int32 connection_dropped_m_id
 
vrpn_int32 reset_origin_m_id
 
vrpn_int32 d_sensor
 
vrpn_float64 pos [3]
 
vrpn_float64 d_quat [4]
 
vrpn_float64 vel [3]
 
vrpn_float64 vel_quat [4]
 
vrpn_float64 vel_quat_dt
 
vrpn_float64 acc [3]
 
vrpn_float64 acc_quat [4]
 
vrpn_float64 acc_quat_dt
 
struct timeval timestamp
 
vrpn_int32 frame_count
 
struct timeval watchdog_timestamp
 
vrpn_float64 tracker2room [3]
 
vrpn_float64 tracker2room_quat [4]
 
vrpn_int32 num_sensors
 
vrpn_Tracker_Pos * unit2sensor
 
vrpn_Tracker_Quat * unit2sensor_quat
 
unsigned num_unit2sensors
 
vrpn_float64 workspace_min [3]
 
vrpn_float64 workspace_max [3]
 
int status
 
- Protected 属性 继承自 vrpn_BaseClassUnique
vrpn_Connectiond_connection
 Connection that this object talks to
 
char * d_servicename
 
vrpn_int32 d_sender_id
 part
 
vrpn_int32 d_text_message_id
 ID for text messages
 
vrpn_int32 d_ping_message_id
 Ask the server if they are there
 
vrpn_int32 d_pong_message_id
 Server telling that it is there
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 vrpn_Tracker
static int VRPN_CALLBACK handle_t2r_request (void *userdata, vrpn_HANDLERPARAM p)
 
static int VRPN_CALLBACK handle_u2s_request (void *userdata, vrpn_HANDLERPARAM p)
 
static int VRPN_CALLBACK handle_workspace_request (void *userdata, vrpn_HANDLERPARAM p)
 
- Public 属性 继承自 vrpn_BaseClassUnique
bool shutup
 
- 静态 Protected 成员函数 继承自 vrpn_BaseClassUnique
static int encode_text_message_to_buffer (char *buf, vrpn_TEXT_SEVERITY severity, vrpn_uint32 level, const char *msg)
 
static int decode_text_message_from_buffer (char *msg, vrpn_TEXT_SEVERITY *severity, vrpn_uint32 *level, const char *buf)
 Decodes the body of the text message from a buffer from the connection
 

构造及析构函数说明

◆ vrpn_Tracker_Liberty()

vrpn_Tracker_Liberty ( const char * name,
vrpn_Connection * c,
const char * port = "/dev/ttyS0",
long baud = 115200,
int enable_filtering = 1,
int numstations = vrpn_LIBERTY_MAX_STATIONS,
const char * additional_reset_commands = NULL,
int whoamilen = 195 )

The constructor is given the name of the tracker (the name of the sender it should use), the connection on which it is to send its messages, the name of the serial port it is to open (default is /dev/ttyS0 (first serial port in Linux)), the baud rate at which it is to communicate (default 19200), whether filtering is enabled (default yes), and the number of stations that are possible on this Liberty (default 4). The station select switches on the front of the Liberty determine which stations are active. The final parameter is a string that can contain additional commands that are set to the tracker as part of its reset routine. These might be used to set the hemisphere or other things that are not normally included; see the Liberty manual for a list of these. There can be multiple lines of them but putting <CR> into the string.

成员函数说明

◆ add_stylus_button()

int add_stylus_button ( const char * button_device_name,
int sensor,
int numbuttons = 1 )

Add a stylus (with button) to one of the sensors.

◆ get_report()

virtual int get_report ( void )
protectedvirtual

Gets a report if one is available, returns 0 if not, 1 if complete report.

实现了 vrpn_Tracker_Serial.

◆ report_length()

int report_length ( int sensor)
protected

Augments the basic Liberty report length

◆ reset()

virtual void reset ( )
protectedvirtual

Reset the tracker.

实现了 vrpn_Tracker_Serial.

◆ set_sensor_output_format()

int set_sensor_output_format ( int sensor)
protected

Augments the basic Liberty format


该类的文档由以下文件生成: