-
Notifications
You must be signed in to change notification settings - Fork 98
Expand file tree
/
Copy pathpx4-v1.16.0.patch
More file actions
124 lines (108 loc) · 5.51 KB
/
Copy pathpx4-v1.16.0.patch
File metadata and controls
124 lines (108 loc) · 5.51 KB
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
diff --git a/ROMFS/px4fmu_common/init.d-posix/px4-rc.mavlink b/ROMFS/px4fmu_common/init.d-posix/px4-rc.mavlink
index 17ef44521b..ccf6907a1b 100644
--- a/ROMFS/px4fmu_common/init.d-posix/px4-rc.mavlink
+++ b/ROMFS/px4fmu_common/init.d-posix/px4-rc.mavlink
@@ -4,6 +4,8 @@
udp_offboard_port_local=$((14580+px4_instance))
udp_offboard_port_remote=$((14540+px4_instance))
[ "$px4_instance" -gt 9 ] && udp_offboard_port_remote=14549 # use the same ports for more than 10 instances to avoid port overlaps
+udp_aas_port_local=$((16580+px4_instance))
+udp_aas_port_remote=$((16540+px4_instance))
udp_onboard_payload_port_local=$((14280+px4_instance))
udp_onboard_payload_port_remote=$((14030+px4_instance))
udp_onboard_gimbal_port_local=$((13030+px4_instance))
@@ -25,6 +27,9 @@ mavlink stream -r 10 -s OPTICAL_FLOW_RAD -u $udp_gcs_port_local
# API/Offboard link
mavlink start -x -u $udp_offboard_port_local -r 4000000 -f -m onboard -o $udp_offboard_port_remote
+# AAS link
+mavlink start -x -u $udp_aas_port_local -r 4000000 -f -t "${AAS_GROUND_IP:-127.0.0.1}" -o $udp_aas_port_remote
+
# Onboard link to camera
mavlink start -x -u $udp_onboard_payload_port_local -r 4000 -f -m onboard -o $udp_onboard_payload_port_remote
diff --git a/ROMFS/px4fmu_common/init.d-posix/rcS b/ROMFS/px4fmu_common/init.d-posix/rcS
index ddb9703828..59be1ee21e 100644
--- a/ROMFS/px4fmu_common/init.d-posix/rcS
+++ b/ROMFS/px4fmu_common/init.d-posix/rcS
@@ -314,7 +314,7 @@ then
uxrce_dds_port="$PX4_UXRCE_DDS_PORT"
fi
-uxrce_dds_client start -t udp -h 127.0.0.1 -p $uxrce_dds_port $uxrce_dds_ns
+uxrce_dds_client start -t udp -h "${PX4_UXRCE_DDS_AG_IP:-127.0.0.1}" -p $uxrce_dds_port $uxrce_dds_ns
if param greater -s MNT_MODE_IN -1
then
diff --git a/Tools/upload_log.py b/Tools/upload_log.py
index a13f1b14b0..83a816a378 100755
--- a/Tools/upload_log.py
+++ b/Tools/upload_log.py
@@ -25,10 +25,6 @@ except ImportError as e:
sys.exit(1)
-SERVER = 'https://logs.px4.io'
-#SERVER = 'http://localhost:5006' # for testing locally
-UPLOAD_URL = SERVER+'/upload'
-
quiet = False
def ask_value(text, default=None):
@@ -60,6 +56,8 @@ def main():
parser = ArgumentParser(description=__doc__)
parser.add_argument('--quiet', '-q', dest='quiet', action='store_true', default=False,
help='Quiet mode: do not ask for values which were not provided as parameters')
+ parser.add_argument('--server', dest='server', type=str, default='https://logs.px4.io',
+ help='Server URL (default: https://logs.px4.io)')
parser.add_argument("--description", dest="description", type=str,
help="Log description", default=None)
parser.add_argument("--feedback", dest="feedback", type=str,
@@ -99,6 +97,9 @@ def main():
else:
email = args.email
+ SERVER = args.server
+ UPLOAD_URL = SERVER + '/upload'
+
payload = {'type': args.type, 'description': description,
'feedback': feedback, 'email': email, 'source': args.source}
diff --git a/src/modules/navigator/navigator_main.cpp b/src/modules/navigator/navigator_main.cpp
index dc53c6928d..79b604e348 100644
--- a/src/modules/navigator/navigator_main.cpp
+++ b/src/modules/navigator/navigator_main.cpp
@@ -648,6 +648,10 @@ void Navigator::run()
_vtol_takeoff.setTransitionAltitudeAbsolute(cmd.param7);
+ if (std::fabs(cmd.param2 - 3.0f) < FLT_EPSILON) { // Specified transition direction
+ _vtol_takeoff.setTransitionDirection(cmd.param4);
+ }
+
// after the transition the vehicle will establish on a loiter at this position
_vtol_takeoff.setLoiterLocation(matrix::Vector2d(cmd.param5, cmd.param6));
diff --git a/src/modules/navigator/vtol_takeoff.cpp b/src/modules/navigator/vtol_takeoff.cpp
index 503a0279f9..01d8a98ba7 100644
--- a/src/modules/navigator/vtol_takeoff.cpp
+++ b/src/modules/navigator/vtol_takeoff.cpp
@@ -71,8 +71,12 @@ VtolTakeoff::on_active()
position_setpoint_triplet_s *pos_sp_triplet = _navigator->get_position_setpoint_triplet();
_mission_item.nav_cmd = NAV_CMD_WAYPOINT;
- _mission_item.yaw = wrap_pi(get_bearing_to_next_waypoint(_mission_item.lat,
- _mission_item.lon, _loiter_location(0), _loiter_location(1)));
+ if (!PX4_ISFINITE(_transition_direction_deg)) {
+ _mission_item.yaw = wrap_pi(get_bearing_to_next_waypoint(_navigator->get_home_position()->lat,
+ _navigator->get_home_position()->lon, _loiter_location(0), _loiter_location(1)));
+ } else {
+ _mission_item.yaw = wrap_pi(math::radians(_transition_direction_deg));
+ }
_mission_item.force_heading = true;
mission_item_to_position_setpoint(_mission_item, &pos_sp_triplet->current);
pos_sp_triplet->current.cruising_speed = -1.f;
diff --git a/src/modules/navigator/vtol_takeoff.h b/src/modules/navigator/vtol_takeoff.h
index 3ba32ce7df..162209893d 100644
--- a/src/modules/navigator/vtol_takeoff.h
+++ b/src/modules/navigator/vtol_takeoff.h
@@ -55,6 +55,7 @@ public:
void on_active() override;
void setTransitionAltitudeAbsolute(const float alt_amsl) {_transition_alt_amsl = alt_amsl; }
+ void setTransitionDirection(const float tran_bear) {_transition_direction_deg = tran_bear; }
void setLoiterLocation(matrix::Vector2d loiter_location) { _loiter_location = loiter_location; }
void setLoiterHeight(const float height_m) { _loiter_height = height_m; }
@@ -73,6 +74,7 @@ private:
float _takeoff_alt_msl{0.f};
matrix::Vector2d _loiter_location;
float _loiter_height{0};
+ float _transition_direction_deg{NAN};
DEFINE_PARAMETERS(
(ParamFloat<px4::params::VTO_LOITER_ALT>) _param_loiter_alt