You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: en/services/camera.md
+38-6Lines changed: 38 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ These cameras have inbuilt support for MAVLink (but not necessarily camera proto
33
33
34
34
MAVLink cameras are identified and addressed by their system and component id.
35
35
36
-
Components that have non-MAVLink cameras attached, such as companion computers, are expected expose each of them as a separate MAVLink camera component with its own `HEARTBEAT`.
36
+
Components that have non-MAVLink cameras attached, such as companion computers, are expected to expose each of them as a separate MAVLink camera component with its own `HEARTBEAT`.
37
37
38
38
The exception is the _autopilot_ component, which can "proxy" up to 6 attached non-MAVLink cameras: these are identified by a `camera_device_id` field in messages and `Target Camera ID` label in commands.
39
39
@@ -235,7 +235,7 @@ For formatting (or erasing depending on your implementation), the GCS will send
235
235
236
236
### Camera Capture Status
237
237
238
-
In addition to querying about storage status, the GCS should also stream the _Camera Capture Status_ in order to provide the user with proper UI indicators.
238
+
In addition to querying about storage status, the GCS should also request a stream of `CAMERA_CAPTURE_STATUS` messages in order to provide the user with proper UI indicators.
239
239
240
240
This can be done by sending a [MAV_CMD_SET_MESSAGE_INTERVAL](../messages/common.md#MAV_CMD_SET_MESSAGE_INTERVAL) command asking for [CAMERA_CAPTURE_STATUS](../messages/common.md#CAMERA_CAPTURE_STATUS).
241
241
The command it expects a [COMMAND_ACK](../messages/common.md#COMMAND_ACK) message back and then [CAMERA_CAPTURE_STATUS](../messages/common.md#CAMERA_CAPTURE_STATUS) should be streamed at the specified rate.
@@ -282,7 +282,7 @@ The message sequence for _interactive user-initiated image capture_ through a GU
282
282
In this case the GCS should:
283
283
284
284
- Confirm that the camera is _ready_ to take images before allowing the user to request image capture.
285
-
- It does this by by sending [MAV_CMD_REQUEST_MESSAGE](../messages/common.md#MAV_CMD_REQUEST_MESSAGE) asking for [CAMERA_CAPTURE_STATUS](../messages/common.md#CAMERA_CAPTURE_STATUS).
285
+
- It does this by sending [MAV_CMD_REQUEST_MESSAGE](../messages/common.md#MAV_CMD_REQUEST_MESSAGE) asking for [CAMERA_CAPTURE_STATUS](../messages/common.md#CAMERA_CAPTURE_STATUS).
286
286
- The camera should return a `MAV_RESULT` and then [CAMERA_CAPTURE_STATUS](../messages/common.md#CAMERA_CAPTURE_STATUS).
287
287
- The GCS should check that the status is "Idle" before enabling camera capture in the GUI.
288
288
- Send [MAV_CMD_IMAGE_START_CAPTURE](../messages/common.md#MAV_CMD_IMAGE_START_CAPTURE) specifying a single image (only).
@@ -424,7 +424,39 @@ The GCS should already have identified all connected cameras by their heartbeat
424
424
425
425
The sequence for tracking a point is shown below (tracking a rectangle is the same sequence but a different tracking command).
@@ -456,7 +488,7 @@ Other components like a GCS will typically only use the camera `BATTERY_STATUS.b
456
488
| <aid="VIDEO_STREAM_STATUS"></a>[VIDEO_STREAM_STATUS](../messages/common.md#VIDEO_STREAM_STATUS)| Information updating a video stream configuration. <!-- TBD? -->|
457
489
| <aid="storage_information"></a>[STORAGE_INFORMATION](../messages/common.md#STORAGE_INFORMATION)| Storage information (e.g. number and type of storage devices, total/used/available capacity, read/write speeds). |
458
490
| <aid="CAMERA_CAPTURE_STATUS"></a>[CAMERA_CAPTURE_STATUS](../messages/common.md#CAMERA_CAPTURE_STATUS)| Camera capture status, including current capture type (if any), capture interval, available capacity. |
459
-
| <aid="CAMERA_IMAGE_CAPTURED"></a>[CAMERA_IMAGE_CAPTURED](../messages/common.md#CAMERA_IMAGE_CAPTURED)| Information about image captured (returned to GPS every time an image is captured). |
491
+
| <aid="CAMERA_IMAGE_CAPTURED"></a>[CAMERA_IMAGE_CAPTURED](../messages/common.md#CAMERA_IMAGE_CAPTURED)| Information about image captured (returned to GCS every time an image is captured). |
460
492
| <aid="CAMERA_FOV_STATUS"></a>[CAMERA_FOV_STATUS](../messages/common.md#CAMERA_FOV_STATUS)| Information about the field of view of a camera. Requested using [MAV_CMD_REQUEST_MESSAGE](#MAV_CMD_REQUEST_MESSAGE). |
461
493
| <aid="CAMERA_TRACKING_IMAGE_STATUS"></a>[CAMERA_TRACKING_IMAGE_STATUS](../messages/common.md#CAMERA_TRACKING_IMAGE_STATUS)| Camera tracking status, sent while in active tracking. Use [MAV_CMD_SET_MESSAGE_INTERVAL](../messages/common.md#MAV_CMD_SET_MESSAGE_INTERVAL) to define message interval. |
462
494
| <aid="CAMERA_TRACKING_GEO_STATUS"></a>[CAMERA_TRACKING_GEO_STATUS](../messages/common.md#CAMERA_TRACKING_GEO_STATUS)| Camera tracking status, sent while in active tracking. Use [MAV_CMD_SET_MESSAGE_INTERVAL](../messages/common.md#MAV_CMD_SET_MESSAGE_INTERVAL) to define message interval. |
@@ -516,4 +548,4 @@ The transition works like this:
516
548
517
549
1. Cameras need to handle both approaches for now (i.e. support both new generic and old specific commands).
518
550
2. Ground stations will move from using the old specific commands to using both. They can try the new one and if they don't get an answer within a timeout they need to fall back to the previous command.
519
-
3. After the new commands have been established in server and ground stations, the old specific commands may be removed from the implementations.
551
+
3. After the new commands have been established in servers and ground stations, the old specific commands may be removed from the implementations.
Copy file name to clipboardExpand all lines: en/services/ftp.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -212,7 +212,7 @@ The sequence of operations is:
212
212
1. GCS sends [TerminateSession](#TerminateSession) to close the file.
213
213
The drone should send an ACK/NAK, but this may (generally speaking) be ignored by the GCS.
214
214
215
-
The GSC should create a timeout after `OpenFileRO` and `ReadFile` commands are sent and resend the messages as needed (and [described above](#timeouts)).
215
+
The GCS should create a timeout after `OpenFileRO` and `ReadFile` commands are sent and resend the messages as needed (and [described above](#timeouts)).
216
216
A timeout is not set for `TerminateSession` (the server may ignore failure of the command or the ACK).
217
217
218
218
### Reading a File (`BurstReadFile`)
@@ -322,7 +322,7 @@ The sequence of operations is:
322
322
1. GCS sends [TerminateSession](#TerminateSession) to close the file.
323
323
The drone should send an ACK/NAK, but this may (generally speaking) be ignored by the GCS.
324
324
325
-
The GSC should create a timeout after `CreateFile` and `WriteFile` commands are sent, and resend the messages as needed (and [described above](#timeouts)).
325
+
The GCS should create a timeout after `CreateFile` and `WriteFile` commands are sent, and resend the messages as needed (and [described above](#timeouts)).
326
326
A timeout is not set for `TerminateSession` (the server may ignore failure of the command or the ACK).
327
327
328
328
::: warning
@@ -362,7 +362,7 @@ The sequence of operations is:
362
362
- NAK on failure, with [error information](#error_codes).
363
363
- The drone must clean up any resources associated with the request after sending the response.
364
364
365
-
The GSC should create a timeout after the `RemoveFile` command is sent and resend the message as needed (and [described above](#timeouts)).
365
+
The GCS should create a timeout after the `RemoveFile` command is sent and resend the message as needed (and [described above](#timeouts)).
366
366
367
367
### Truncate File
368
368
@@ -394,7 +394,7 @@ The sequence of operations is:
394
394
- The request should fail if the offset is 0 (truncate whole file) and for normal file system errors.
395
395
- The drone must clean up any resources associated with the request after sending the response.
396
396
397
-
The GSC should create a timeout after the `TruncateFile` command is sent and resend the message as needed (and [described above](#timeouts)).
397
+
The GCS should create a timeout after the `TruncateFile` command is sent and resend the message as needed (and [described above](#timeouts)).
398
398
399
399
### List Directory {#list_directory}
400
400
@@ -446,7 +446,7 @@ The sequence of operations is:
446
446
1. The operation completes when the GCS requests an entry index (`offset`) greater than or equal to the number of entries.
447
447
In this case the drone responds with a [NAK](#error_codes) containing [EOF](#EOF) (end of file).
448
448
449
-
The GSC should create a timeout after the `ListDirectory` command is sent and resend the message as needed (and [described above](#timeouts)).
449
+
The GCS should create a timeout after the `ListDirectory` command is sent and resend the message as needed (and [described above](#timeouts)).
450
450
451
451
The drone may also [NAK](#error_codes) with an unexpected error.
452
452
Generally errors are unrecoverable, and the drone must clean up all resources (i.e. close file handles) associated with the request after sending the NAK.
@@ -475,7 +475,7 @@ The sequence of operations is:
475
475
- NAK on failure, with [error information](#error_codes).
476
476
- The drone must clean up any resources associated with the request after sending the response.
477
477
478
-
The GSC should not create timeouts or handle the NAK case (other than to report an error to the user).
478
+
The GCS should not create timeouts or handle the NAK case (other than to report an error to the user).
479
479
480
480
### Remove Directory
481
481
@@ -506,7 +506,7 @@ The sequence of operations is:
506
506
- NAK on failure, with [error information](#error_codes).
507
507
- The drone must clean up any resources associated with the request after sending the response.
508
508
509
-
The GSC should create a timeout after the `RemoveDirectory` command is sent and resend the message as needed (and [described above](#timeouts)).
509
+
The GCS should create a timeout after the `RemoveDirectory` command is sent and resend the message as needed (and [described above](#timeouts)).
- While low latency link is active the mission and parameter protocols can be used.
67
67
- While high latency link is active the vehicle provide telemetry updates but parameters and missions should not be updated.
68
68
69
-
When the low latency link is lost, the GCS sends [MAV_CMD_CONTROL_HIGH_LATENCY](#MAV_CMD_CONTROL_HIGH_LATENCY) to the vehicle over the high latency channel to turn the high latency link on on (causing the vehicle to start emitting [HIGH_LATENCY2](#HIGH_LATENCY2) messages).
69
+
When the low latency link is lost, the GCS sends [MAV_CMD_CONTROL_HIGH_LATENCY](#MAV_CMD_CONTROL_HIGH_LATENCY) to the vehicle over the high latency channel to turn the high latency link on (causing the vehicle to start emitting [HIGH_LATENCY2](#HIGH_LATENCY2) messages).
70
70
When the low latency link is regained the GCS sends [MAV_CMD_CONTROL_HIGH_LATENCY](#MAV_CMD_CONTROL_HIGH_LATENCY) to stop the vehicle from broadcasting [HIGH_LATENCY2](#HIGH_LATENCY2) messages (usually this would be sent over the low latency link).
71
71
72
72
The diagram below shows a GCS switching from a higher-latency primary link to a lower latency secondary link when one becomes available, and then back to the higher latency link when the primary link drops out.
@@ -80,4 +80,4 @@ A ground station may also support a handover model, where the high latency link
80
80
This approach allows the GCS to verify that the high latency link is available before losing the low latency connection.
81
81
82
82
If using this model the GCS and autopilot should be able to work with a mixed regime of low and high latency links.
83
-
Specifically, this means that they should be able to handle the case where the same message is sent over different both channels.
83
+
Specifically, this means that they should be able to handle the case where the same message is sent over both channels.
Copy file name to clipboardExpand all lines: en/services/mavlink_id_assignment.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ Instead you must use the [MAV_TYPE](../messages/common.md#MAV_TYPE) defined in t
21
21
22
22
Any id in the range of 1-255 may be used for a system ID or for its component ids.
23
23
24
-
By convention autopilots typically have a default system ID of `1`, GSC typically use a default system ID up around 255, and MAVLink SDKs typically use an ID in the middle of the range.
24
+
By convention autopilots typically have a default system ID of `1`, GCS typically use a default system ID up around 255, and MAVLink SDKs typically use an ID in the middle of the range.
25
25
This ensures that simple networks with just one vehicle and ground station are unlikely to have clashing system ids.
26
26
If you have multiple vehicles, ground stations, or other systems on the same network, you will need to ensure they are each allocated their own ID.
0 commit comments