User Reference - dariuswak/Aqua-Cam GitHub Wiki

Features

Automatic connection to housing

The app connects to the housing automatically when the phone is brought close to the housing (a few centimetres away, BLE signal stronger than -60dB).

Photo capturing

The app captures photos of up to 48MP resolution 8064x6048 using Wide, Ultra Wide or Telephoto back camera. The maximum resolution depends on iPhone model and camera used.

Additionally, the app can capture photos during video recording with Mode Button acting the photo shutter, with resolution depending on selected video format.

Use Menu Button to cycle between camera selection and video format selection (video format selection unused in Photo Mode), then Up/Down Button to change camera.

Video recording

The app records videos using Wide, Ultra Wide or Telephoto back camera.

The available video formats are:

  • 4K - 4032x3024, 30 fps, no image stabilisation
  • UHD slow motion - 3840x2160, 120 fps, HDR (Wide (main) camera only, iPhone 16 Pro only)
  • UHD - 3840x2160, 60 fps, HDR
  • HD 4/3 - 1920x1440, 60 fps, HDR
  • HD slow motion - 1920x1080, 120 fps
  • HD - 1920x1080, 60 fps, HDR

Photos captured during video recording by pressing Mode Button are captured with resolution depending on the video format.

Use Menu Button to cycle between camera selection and video format selection, then Up/Down Button to change camera or video format, accordingly.

Log

The app continuously logs significant events at runtime. The log file is in TSV format (tab-separated values), and is saved to local phone storage On My iPhone/Aqua Cam/logs/. The file names contain timestamp of when the log file has been created (the app launch time). The log file is flushed every 10 seconds.

The log columns are:

  1. timestamp (date, time, zone offset)
  2. depth (in meters)
  3. temp (temperature, in °C)
  4. housing_battery
  5. camera_battery (phone battery)
  6. event
  7. error

Logged events:

  • Change in depth, temperature, housing or camera battery - in these cases the "event" field is empty, and the changed value is placed in its relevant column.
  • capture-photo, record-movie-begin and record-movie-end
  • Errors, if any
  • and many others

Note: housing sensors (e.g. depth, temperature) aren't recorded when the housing is switched off during the dive (battery saving). If continuous recording of dive parameters is desired, don't switch off the housing. To save battery, put the app to sleep by triple-pressing the Focus Button.

Note: If the current log file is deleted (permanently, from Bin/Recently Deleted), the subsequent log events are lost. Close the app and re-launch it again to start a new log file.

Sleep timer management

When the app is active, the idle timer is disabled, preventing the phone from going to sleep. It isn't possible to wake the phone while in the housing.

Screen long press

Brings back the disconnected controls (right) pane if it was hidden - useful after the phone is removed from the housing when it was switched off.

User Interface

The application continuously presents live photo/video preview, unless in sleep mode, refer to Features: Sleep mode.

Preview flashes

When shutter pressed, the preview flashes to give feedback:

  • Flashes white - when taking a photo
  • Flashes red - when starting recording a video
  • Flashes black - when video recording ended

Processing indicator

After a photo capture, and after video recording end, the centre of preview flashes a processing indicator. During processing no other photo or video can be captured. Processing may take longer if system is under pressure, see Top status bar: System pressure.

Buttons

Shutter

When shutter pressed, the preview flashes to give feedback:

  • Flashes white - when taking a photo
  • Flashes red - when starting recording a video
  • Flashes black - when video recording ended

If the app is in sleep mode, press shutter button to wake up. Shutter switches on the housing and wakes up the app.

If the phone is outside the housing, long press anywhere on the screen to bring back the disconnected controls (right) pane if it was hidden, making the shutter button available.

Focus

Each press locks the focus and exposure in the centre of the preview area, as indicated by the target icon flashing there. The bottom function bar target icon lighting up indicates the locked mode.

Note the focus and exposure lock is temporary, it lasts as long as the subject and conditions didn't change significantly. When the bottom function bar target icon dims down to grey, it means the focus lock was lost and turned back to autofocus and autoexposure.

Focus - long press or triple press

Enter sleep mode. Compare: Menu - long press. Puts the app in sleep (black screen) to save battery without switching off the housing. Doesn't save housing battery, but allows for continuous logging of housing sensors - dive depth and temperature.

Press shutter button to wake up the app.

If the phone is outside of the housing, long press anywhere on the screen to bring back the disconnected controls (right) pane if it was hidden, making the shutter button available.

Mode

Cycles between photo and video capture mode.

While video recording in progress, captures a photo with resolution depending on selected video format.

Up/Down

Cycles through cameras or video formats, as selected with Menu Button.

Menu

Cycles between camera selection and video format selection (video format selection unused in Photo Mode).

Use Up/Down Button to change camera or video format, accordingly.

Menu - long press

Enter sleep mode. Compare: Focus - long press. Switches off the housing and puts the app in sleep (black screen) to save battery.

Press shutter button to wake up. Shutter switches on the housing and wakes up the app.

If the phone is outside the housing, long press anywhere on the screen to bring back the disconnected controls (right) pane if it was hidden, making the shutter button available.

Bottom function bar

From left to right:

  • Housing connection status: (grey) bluetooth disabled / (blue) ready / (blue) connected
  • Capture mode: photo / video. See Buttons: Mode
  • Camera selection: W - Wide, U - Ultra Wide, T - Tele. See Settings: Cameras
    When circled with a border, Up/Down buttons cycle between available cameras.
  • Focus: grey - autofocus, white - focus locked. See Buttons: Focus
  • Stabilisation
    • (x) [grey] - stabilisation not available
    • (o) - standard stabilisation
    • ((o)) - cinematic stabilisation
  • Photo/video resolution
    When circled with a border, Up/Down buttons cycle between the below formats:
    • 4K - 4032x3024
      This is the only format available in Photo Mode. All photos are captured in this resolution.
    • UHD - 3840x2160 (incl. slow motion)
    • HD 4/3 - 1920x1440
    • HD - 1920x1080 (incl. slow motion)
  • Exposure - shutter speed in seconds (shorter better)
  • ISO sensor light sensitivity (lower better)

Reference: https://developer.apple.com/documentation/avfoundation/avcapturevideostabilizationmode

Vertical (left) info pane

Photo mode

Live Photo

Live Photo indicates a live photo capture and it disappears when the live photo capture has finished capturing a video sequence. Note that live photo capture begins 1.5s before the shutter button has been pressed and finished 1.5s after, capturing in total 3s of video.

Video mode

Recording time

  • Flashing red - video recording in progress.
  • Grey - last video recording duration.

Note in some cases the video may stop recording automatically, e.g. due to system pressure or low storage space.

Frame rate, FPS frames per second

Current frame rate for the selected video resolution.

Top status bar

From left to right:

  • Phone battery charge down to 20%, percent
  • System pressure, see details below
  • Seal pressure, abstract units, see details below
  • Depth, meters
  • Time at depth - the dive timer starts automatically at 2m depth and pauses at or above the surface.
  • Temperature, degrees of Celsius
  • Housing battery charge, as percent

Phone battery charge down to 20%

The phone battery charge indicator is adjusted to minimum 20%, which means it shows 100% for phone battery 100% and 0% for phone battery 20%. E.g. 15% means phone battery is 32%.

Note that for some iPhone models, at 20% battery charge iOS displays a low battery modal dialog that cannot be dismissed while the phone is in the case. The modal obscures the preview, however, the app is still functional. The low battery modal currently cannot be avoided.

For safety reasons it is recommended to end the dive with reserve of at least 20% battery charge, e.g. in case an emergency call need to be made.

To preserve battery charge use sleep mode (Features: Sleep mode), and use "Max" version of the phone, which has larger battery capacity.

System pressure

When diving tropical waters, ~30°C, the phone may be insufficiently cooled by the environment. That may lead to elevated system pressure and affect capture quality and performance. In extreme case the capture session may shut down until the phone cools down. Use of sleep mode allows to minimise battery consumption and therefore allows the phone to cool down.

System pressure symbol meaning:

  • sun - normal, there's no pressure on the system
  • partially cloudy - elevated, some pressure on the system
  • cloudy - serious, high pressure on the system, capture quality or frame rate may be reduced
  • rain - critical, critical pressure on the system, capture quality or frame rate may be reduced
  • bolt - beyond critical the camera shuts down until the phone cools down.

Reference: https://developer.apple.com/documentation/avfoundation/avcapturesystempressurelevel

Factors that contribute to system pressure include:

  • Phone temperature
  • Phone battery inability to deliver required current, e.g. due to chemically aged battery
  • Depth module temperature (unlikely; currently the app doesn't use depth information)
  • Camera temperature

Reference: https://developer.apple.com/documentation/avfoundation/avcapturesystempressurefactors

Seal pressure

Use vacuum pump attached to vacuum port to reduce pressure inside the housing to create a seal, as instructed by the housing user manual. Watch the pressure indication in real time - before and during the dive. The seal pressure units are abstract (technically, relative deci-meters, above the initial pressure). If the seal pressure keeps dropping after seal has been created, it may indicate a seal issue, e.g. a hair or a dust particle caught on the o-ring.

For example, the seal pressure may initially indicate 400-500 units. The reading should be stable. After a few minutes, or a half an hour, it may drop up to 20-30 units, it's okay. However, if it keeps dropping a few units every minute, the o-ring needs checking.

The seal pressure indicator uses phone altitude meter (altimeter) and requires permissions to use Motion & Fitness Sensors.

Note:

  • Pressure may be continuously dropping at a very slow rate - this is normal. The principle is, if at that rate the vacuum will still be sufficient after the dive, it's all good.
  • The pressure may slightly vary with change of temperature - this is normal. E.g. when entered the water, the pressure may change, then stabilise.
  • The pressure may slightly vary with depth - this is normal.

Disconnected controls (right) pane

Replicates the housing buttons: Shutter, Focus, Mode, Up/Down & Menu. Visible when the app isn't connected to the housing, automatically disappears after connection is made. A long press on the screen brings back the pane if it was hidden - useful after the phone is removed from the housing when it was switched off.

See Buttons.

Settings

The Settings Button navigates to the app settings in the Settings app.

See Settings, below.

Settings

Work in progress - settings in the Settings app are currently ignored, hardcoded values are used:

  • Cameras: Wide, Ultra Wide, Tele.
  • Video formats: all included
  • Video bitrate: x2 - the app saves large video files.

Cameras

Video Formats

Video Bitrate