Skip to main content

Fisheye task

Task type: dphi.space.cg2.fisheye

The fisheye task requests onboard fisheye handling. It writes the reported image to the selected onboard volume; it does not itself deliver a file to the ground namespace. Add a downlink task when the image must be retrieved on the ground.

Definition​

- id: capture_fisheye
type: dphi.space.cg2.fisheye
description: Request a fisheye image at a known onboard path.
volume: payload
destination: /fisheye
filename: capture-request.png

volume is required and identifies the onboard volume. destination is a path inside that volume, and filename is the explicit file name. Together, the task requests payload/fisheye/capture-request.png. Do not include /data in these fields: a pod that mounts payload sees the volume at /data.

The task output reports the requested filename. It is not evidence that the file is present in a namespace or that a new exposure was produced. The deployed onboard camera contract, including capture timing, timestamps, ordering, and retention, cannot be verified from this repository. In particular, SUCCESS only confirms the task's reported completion; check a later file/downlink result before treating an image as available or fresh.

Retrieve an explicitly selected existing image​

Use this workflow when an image is already exposed through the onboard image API. It lists the API response, requires you to choose one exact name, writes that image to /data/fisheye/selected-fisheye.png, then downlinks it. It never assumes that the first, last, or timestamp-looking item is newest.

Set DPHI_FISHEYE_IMAGE in the YAML to an exact image name printed by the client. The endpoint is an observed integration used by the advanced example, not a versioned public API guarantee; failures are reported with the URL and cause. The operation requires an onboard python:3.11 image. Use an image already made available to your environment if that tag is unavailable.

id: fisheye-existing-image
namespace: fisheye
tasks:
- id: uplink_fisheye_client
type: dphi.space.cg2.uplink
source: [fisheye_existing_image.py]
destination: /fisheye
volume: payload
- id: fetch_selected_fisheye
type: dphi.space.cg2.pod.run
pod_name: fisheye-existing-image
image: {name: python, tag: "3.11"}
command: [python]
args: [/data/fisheye/fisheye_existing_image.py]
env:
- {name: DPHI_FISHEYE_IMAGE, value: selected-image-name.png}
node: MPU
volume: payload
max_duration: 2
- id: downlink_selected_fisheye
type: dphi.space.cg2.downlink
source: [/fisheye/selected-fisheye.png]
destination: /fisheye
volume: payload

Troubleshooting​

  • Task succeeds but no ground file appears: onboard delivery and ground downlink are separate tasks. Inspect the downlink output and namespace path.
  • Downlink succeeds with an empty files list: this means no files were uploaded for that result. It differs from a missing result, which should be investigated as a task or transport failure.
  • Invalid destination: use a relative path within the named volume; do not use path traversal or a host path.
  • Image API error: confirm the selected name came from that run's list response and that the pod has network access to the onboard service.