vrpn
07.35
Virtual Reality Peripheral Network
Toggle main menu visibility
Loading...
Searching...
No Matches
vrpn_Analog_Radamec_SPI.h
Go to the documentation of this file.
1
#ifndef VRPN_RADAMEC_SPI_H
2
#define VRPN_RADAMEC_SPI_H
3
4
#include "
vrpn_Analog.h
"
// for vrpn_Serial_Analog
5
#include "
vrpn_Configure.h
"
// for VRPN_API
6
#include "
vrpn_Connection.h
"
// for vrpn_CONNECTION_LOW_LATENCY, etc
7
#include "
vrpn_Shared.h
"
// for timeval
8
#include "
vrpn_Types.h
"
// for vrpn_uint32, vrpn_int32
9
10
class
VRPN_API
vrpn_Radamec_SPI
:
public
vrpn_Serial_Analog
11
{
12
public
:
13
vrpn_Radamec_SPI
(
const
char
* name,
vrpn_Connection
* c,
14
const
char
* port,
int
baud = 38400);
15
16
~vrpn_Radamec_SPI
() {};
17
19
virtual
void
mainloop
();
20
21
protected
:
22
int
_status
;
//< Reset, Syncing, or Reading
23
int
_camera_id
;
//< What is our camera ID, queried from device
24
int
_numchannels
;
//< How many analog channels to open
25
26
unsigned
_expected_chars
;
//< How many characters to expect in the report
27
unsigned
char
_buffer
[512];
//< Buffer of characters in report
28
unsigned
_bufcount
;
//< How many characters we have so far
29
30
struct
timeval
timestamp
;
//< Time of the last report from the device
31
32
virtual
int
reset
(
void
);
//< Set device back to starting config
33
virtual
int
get_report
(
void
);
//< Try to read a report from the device
34
35
virtual
void
clear_values
(
void
);
//< Clears all channels to 0
36
38
unsigned
char
compute_crc
(
const
unsigned
char
*head,
int
len);
39
41
vrpn_uint32
convert_24bit_unsigned
(
const
unsigned
char
*buf);
42
44
vrpn_int32
convert_16bit_unsigned
(
const
unsigned
char
*buf);
45
46
double
int_to_pan
(vrpn_uint32 val);
//< Returns pan in degrees
47
double
int_to_tilt
(vrpn_uint32 val)
//< Returns tilt in degrees
48
{
return
int_to_pan
(val); };
49
double
int_to_zoom(vrpn_uint32 val);
//< Returns zoom in meters
50
double
int_to_focus(vrpn_uint32 val);
//< Returns focal length in meters
51
double
int_to_height(vrpn_uint32 val);
//< Returns height in meters
52
double
int_to_X(vrpn_uint32 mm, vrpn_uint32 frac);
//< Returns X location in meters
53
double
int_to_Y
(vrpn_uint32 mm, vrpn_uint32 frac)
//< Returns Y location in meters
54
{
return
int_to_X
(mm, frac); };
55
double
int_to_orientation(vrpn_uint32 val);
//< Returns orientation in degrees
56
59
int
send_command(
const
unsigned
char
*cmd,
int
len);
60
62
virtual
void
report_changes
63
(vrpn_uint32 class_of_service =
vrpn_CONNECTION_LOW_LATENCY
);
65
virtual
void
report
66
(vrpn_uint32 class_of_service =
vrpn_CONNECTION_LOW_LATENCY
);
67
};
68
69
#endif
vrpn_Analog::report
virtual void report(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW)
Send a report whether something has changed or not (for servers) Optionally, tell what time to stamp ...
Definition
vrpn_Analog.C:94
vrpn_Analog::report_changes
virtual void report_changes(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW)
Send a report only if something has changed (for servers) Optionally, tell what time to stamp the val...
Definition
vrpn_Analog.C:71
vrpn_BaseClass::mainloop
virtual void mainloop()=0
Called once through each main loop iteration to handle updates. Remote object mainloop() should call ...
vrpn_Connection
Generic connection class not specific to the transport mechanism.
Definition
vrpn_Connection.h:561
vrpn_Radamec_SPI::compute_crc
unsigned char compute_crc(const unsigned char *head, int len)
Compute the CRC for the message or report starting at head with length len.
Definition
vrpn_Analog_Radamec_SPI.C:78
vrpn_Radamec_SPI::_bufcount
unsigned _bufcount
Definition
vrpn_Analog_Radamec_SPI.h:28
vrpn_Radamec_SPI::int_to_pan
double int_to_pan(vrpn_uint32 val)
----------------— Conversion of encoder indices to values -------------— Pan and tilt axis have an en...
Definition
vrpn_Analog_Radamec_SPI.C:185
vrpn_Radamec_SPI::~vrpn_Radamec_SPI
~vrpn_Radamec_SPI()
Definition
vrpn_Analog_Radamec_SPI.h:16
vrpn_Radamec_SPI::timestamp
struct timeval timestamp
Definition
vrpn_Analog_Radamec_SPI.h:30
vrpn_Radamec_SPI::convert_16bit_unsigned
vrpn_int32 convert_16bit_unsigned(const unsigned char *buf)
Convert a 16-bit unsigned value from a buffer into an integer.
Definition
vrpn_Analog_Radamec_SPI.C:150
vrpn_Radamec_SPI::_buffer
unsigned char _buffer[512]
Definition
vrpn_Analog_Radamec_SPI.h:27
vrpn_Radamec_SPI::reset
virtual int reset(void)
Definition
vrpn_Analog_Radamec_SPI.C:233
vrpn_Radamec_SPI::vrpn_Radamec_SPI
vrpn_Radamec_SPI(const char *name, vrpn_Connection *c, const char *port, int baud=38400)
Definition
vrpn_Analog_Radamec_SPI.C:41
vrpn_Radamec_SPI::_numchannels
int _numchannels
Definition
vrpn_Analog_Radamec_SPI.h:24
vrpn_Radamec_SPI::_camera_id
int _camera_id
Definition
vrpn_Analog_Radamec_SPI.h:23
vrpn_Radamec_SPI::int_to_X
double int_to_X(vrpn_uint32 mm, vrpn_uint32 frac)
Convert from the millimeter and fraction-of-millimeter values returned by the device into meters.
Definition
vrpn_Analog_Radamec_SPI.C:211
vrpn_Radamec_SPI::_expected_chars
unsigned _expected_chars
Definition
vrpn_Analog_Radamec_SPI.h:26
vrpn_Radamec_SPI::_status
int _status
Definition
vrpn_Analog_Radamec_SPI.h:22
vrpn_Radamec_SPI::int_to_tilt
double int_to_tilt(vrpn_uint32 val)
Definition
vrpn_Analog_Radamec_SPI.h:47
vrpn_Radamec_SPI::get_report
virtual int get_report(void)
Definition
vrpn_Analog_Radamec_SPI.C:325
vrpn_Radamec_SPI::int_to_Y
double int_to_Y(vrpn_uint32 mm, vrpn_uint32 frac)
Definition
vrpn_Analog_Radamec_SPI.h:53
vrpn_Radamec_SPI::convert_24bit_unsigned
vrpn_uint32 convert_24bit_unsigned(const unsigned char *buf)
Convert a 24-bit value from a buffer into an unsigned integer value.
Definition
vrpn_Analog_Radamec_SPI.C:128
vrpn_Radamec_SPI::clear_values
virtual void clear_values(void)
Definition
vrpn_Analog_Radamec_SPI.C:60
vrpn_Serial_Analog::vrpn_Serial_Analog
vrpn_Serial_Analog(const char *name, vrpn_Connection *connection, const char *port, int baud=9600, int bits=8, vrpn_SER_PARITY parity=vrpn_SER_PARITY_NONE, bool rts_flow=false)
Definition
vrpn_Analog.C:124
vrpn_Analog.h
vrpn_Configure.h
VRPN_API
#define VRPN_API
Definition
vrpn_Configure.h:648
vrpn_Connection.h
vrpn_CONNECTION_LOW_LATENCY
const vrpn_uint32 vrpn_CONNECTION_LOW_LATENCY
Definition
vrpn_Connection.h:120
vrpn_Shared.h
vrpn_Types.h
vrpn_Analog_Radamec_SPI.h
Generated by
1.17.0