<!DOCTYPE module SYSTEM "module.dtd">
<module name="uart_cam_ctrl" dir="digital_cam">
  <doc>
    <description>
      Digital Camera Triggering over UART link.
      Send attitude and other relevant data to a computer based photocamera after a shootphoto command is given. And in return get certain value back from the computerbased photocamera to be able to intercat with the flightplan.</description>
    <define name="DC_AUTOSHOOT_QUARTERSEC_PERIOD" value="6" description="quarter_second"/>
    <define name="DC_AUTOSHOOT_DISTANCE_INTERVAL" value="50" description="grid in meters"/>
    <define name="DC_SHOT_SYNC_SEND" value="TRUE|FALSE" description="send DC_SHOT message when photo was taken (default: TRUE)"/>
  </doc>
  <settings>
    <dl_settings name="control">
      <dl_settings name="dc">

        <dl_setting max="255" min="0" step="1" module="digital_cam/dc" var="0" handler="send_command" shortname="Shutter">
          <strip_button name="Photo" icon="digital-camera.png" value="32" group="maindc"/>
        </dl_setting>

        <dl_setting max="3" min="0" step="1" var="dc_autoshoot" values="STOP|PERIODIC|DISTANCE|EXT_TRIG">
          <strip_button name="Start Autoshoot" icon="on.png" value="1" group="dcauto"/>
          <strip_button name="Stop Autoshoot" icon="off.png" value="0" group="dcauto"/>
        </dl_setting>

        <dl_setting max="255" min="1" step="1" var="dc_autoshoot_quartersec_period" shortname="Periodic" param="DC_AUTOSHOOT_QUARTERSEC_PERIOD" unit="quarter-sec"/>
        <dl_setting max="255" min="0" step="1" var="dc_distance_interval" shortname="dist" param="DC_AUTOSHOOT_DISTANCE_INTERVAL" unit="meter"/>

        <dl_setting max="250" min="0" step="5" module="digital_cam/dc" var="dc_survey_interval" handler="Survey" shortname="Survey-Interval"/>
        <dl_setting max="90" min="5" step="5" module="digital_cam/dc" var="dc_circle_interval" handler="Circle" shortname="Circle-Interval"/>
        <dl_setting max="1" min="0" step="1" var="dc_cam_tracing" shortname="Cam-Tracing"/>
      </dl_settings>
      <dl_settings name="tb">
        <dl_setting max="2" min="0" step="1" var="digital_cam_uart_thumbnails" shortname="thumbs">
          <strip_button name="DL Thumbs High" icon="on.png" value="2" group="ticket"/>
          <strip_button name="DL Thumbs Low" icon="on.png" value="1" group="ticket"/>
          <strip_button name="DL Thumbs STOP" icon="off.png" value="0" group="ticket"/>
        </dl_setting>
        <dl_setting max="2" min="0" step="1" var="digital_cam_uart_status" shortname="status" />
      </dl_settings>
    </dl_settings>
  </settings>
  <conflicts>digital_cam,digital_cam_servo,digital_cam_i2c</conflicts>
  <header>
    <file name="uart_cam_ctrl.h"/>
    <file name="dc.h"/>
  </header>
  <init fun="digital_cam_uart_init()"/>
  <periodic fun="digital_cam_uart_periodic()" freq="4" autorun="TRUE"/>
  <event fun="digital_cam_uart_event()"/>
  <makefile target="sim">
    <file name="catia/serial.c"/>
  </makefile>
  <makefile>
    <define name="DIGITAL_CAM" />
    <file name="uart_cam_ctrl.c"/>
    <file name="catia/protocol.c"/>
    <file name="dc.c"/>
    <raw>
$(TARGET).CFLAGS += -DCAMERA_LINK=$(CAMERA_PORT)
$(TARGET).CFLAGS += -DUSE_$(CAMERA_PORT)
$(TARGET).CFLAGS += -D$(CAMERA_PORT)_BAUD=B115200
    </raw>
  </makefile>
</module>

