-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgps.orogen
94 lines (67 loc) · 2.95 KB
/
gps.orogen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
name 'gps'
version 0.1
using_library 'mb500'
using_library 'libgps'
import_types_from 'base'
import_types_from 'gps_base'
# We get our interface types from the mb500 library even for the gpsd driver
import_types_from 'mb500_types.hh'
task_context 'BaseTask' do
# The GPS solution as reported by the hardware
output_port('solution', '/gps_base/Solution')
# UTM computed position
output_port('position_samples', '/base/samples/RigidBodyState')
# computed position in m, in the NWU frame
output_port('nwu_position_samples', '/base/samples/RigidBodyState')
# The frame of the GPS sensor
property('gps_frame', '/std/string', 'gps')
# The frame of the UTM origin
property('utm_frame', '/std/string', 'utm')
# The frame of the NWU origin
property('nwu_frame', '/std/string', 'gps')
# UTM zone for conversion of WGS84 to UTM
property("utm_zone", "int", 32)
# UTM north for conversion of WGS84 to UTM
property("utm_north", "bool", true)
# Origin in NWU coordinates, that is used for position readings.
property("nwu_origin", "/base/Position")
# Defines how often the task waits for data before entering IO_TIMEOUT (recoverable) and how often the task tries to read data before entering IO_ERROR
property("max_error_counter", "int", 10)
error_states :IO_ERROR
states :IO_TIMEOUT
periodic 0.1
end
#task that is using gpsd daemon
task_context 'GPSDTask', subclasses: 'BaseTask' do
needs_configuration
# Hostname where the gps daemon is running
property("hostname", "string","localhost")
# need to be peirodic because there is no FD
periodic(0.1)
end
#task that is using NMEA
task_context 'MB500Task', subclasses: 'BaseTask' do
needs_configuration
fd_driven
required_activity :fd_driven
# The device file used to connect to the gps
property("device", "/std/string")
# the board port (A, B, C or D) at which we are connected
property("port", "/std/string")
# the port (A, B, C, D or a number) at which the board gets correction data note, number means it is getting the correction data s UDP packets to port X
property("correction_port", "/std/string")
# The update period"
property("period", "double")
# the threshold at which the RTK engine will switch to FIX mode
property("fix_threshold", "/gps/MB500_AMBIGUITY_THRESHOLD", :MB500_FIX_99_0)
# Model of the receiver dynamics
property("dynamics_model", "/gps/MB500_DYNAMICS_MODEL")
# If set, the module will put the board in USER_DYNAMICS mode with these values
property("user_dynamics", "/gps_base/UserDynamics")
# The ntpd shm driver unit to use, -1 for not using one at all. 0 and 1 are reserved for root
property("ntpd_shm_unit", "int", -1)
# the status of the GPS constellation
output_port('constellation', '/gps_base/ConstellationInfo')
# output the real time, cpu time and dgps processing latency
output_port('time', '/gps_base/Time')
end