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>