Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
digital_cam_servo module

Digital Photo Camera Triggering (using a servo)

This module controls triggering of an attached external digital camera via a servo channel.

Example for airframe file

Add to your firmware section:

<module name="digital_cam_servo"/>

Module configuration options

Airframe file section

  • section name: DIGITAL_CAM prefix: DC_
    • name SHOOT_ON_BUTTON_RELEASE value: None
      Description: if defined, call dc_send_shot_postion on button release instead of on push
    • name SHUTTER_SERVO value: servo
      Description: mandatory, Servo to control shutter
    • name ZOOM_IN_SERVO value: servo
      Description: optional, Servo to activate zoom in
    • name ZOOM_OUT_SERVO value: servo
      Description: optional, Servo to activate zoom out
    • name POWER_SERVO value: servo
      Description: optional, Servo to control power

Module functions

Init Functions

These initialization functions are called once on startup.

Periodic Functions

These functions are called periodically at the specified frequency from the module periodic loop.

Files

Header Files

The following headers are automatically included in modules.h

Source Files

Raw digital_cam_servo.xml file:

<!DOCTYPE module SYSTEM "./module.dtd">
<module name="digital_cam_servo" dir="digital_cam">
<doc>
<description>
Digital Photo Camera Triggering (using a servo)
This module controls triggering of an attached external digital camera via a servo channel.
</description>
<section name="DIGITAL_CAM" prefix="DC_">
<define name="SHOOT_ON_BUTTON_RELEASE" description="if defined, call dc_send_shot_postion on button release instead of on push"/>
<define name="SHUTTER_SERVO" value="servo" description="mandatory, Servo to control shutter"/>
<define name="ZOOM_IN_SERVO" value="servo" description="optional, Servo to activate zoom in"/>
<define name="ZOOM_OUT_SERVO" value="servo" description="optional, Servo to activate zoom out"/>
<define name="POWER_SERVO" value="servo" description="optional, Servo to control power"/>
</section>
</doc>
<dep>
<depends>digital_cam_common</depends>
<conflicts>digital_cam_gpio,digital_cam_i2c,digital_cam_uart,digital_cam_video,digital_cam_pprzlink</conflicts>
</dep>
<header>
<file name="servo_cam_ctrl.h"/>
</header>
<init fun="servo_cam_ctrl_init()"/>
<periodic fun="servo_cam_ctrl_periodic()" freq="10" autorun="TRUE"/>
<makefile target="ap|sim|nps">
<define name="DIGITAL_CAM"/>
<file name="servo_cam_ctrl.c"/>
<define name="SENSOR_SYNC_SEND" value="1"/>
<test firmware="rotorcraft">
<define name="DC_SHUTTER_SERVO" value="1"/>
<define name="DOWNLINK_TRANSPORT" value="pprz_tp"/>
<define name="DOWNLINK_DEVICE" value="uart0"/>
<define name="USE_UART0"/>
<define name="SERVO_CAM_CTRL_PERIODIC_FREQ" value="10."/>
</test>
</makefile>
</module>