summaryrefslogtreecommitdiffstats
path: root/tde-i18n-pt_BR/docs/kdeedu/kstars/scriptbuilder.docbook
diff options
context:
space:
mode:
Diffstat (limited to 'tde-i18n-pt_BR/docs/kdeedu/kstars/scriptbuilder.docbook')
-rw-r--r--tde-i18n-pt_BR/docs/kdeedu/kstars/scriptbuilder.docbook454
1 files changed, 454 insertions, 0 deletions
diff --git a/tde-i18n-pt_BR/docs/kdeedu/kstars/scriptbuilder.docbook b/tde-i18n-pt_BR/docs/kdeedu/kstars/scriptbuilder.docbook
new file mode 100644
index 00000000000..4e1b7f01512
--- /dev/null
+++ b/tde-i18n-pt_BR/docs/kdeedu/kstars/scriptbuilder.docbook
@@ -0,0 +1,454 @@
+<sect1 id="tool-scriptbuilder">
+<title
+>A Ferramenta de Construção de Script</title>
+<indexterm
+><primary
+>Ferramentas</primary>
+<secondary
+>Construtor de Script</secondary>
+</indexterm>
+
+<para
+>Aplicativos KDE podem ser controlados externamente a partir de outro programa, da linha de comando do console, ou a partir de um script shell usando o Protocolo de Comuniação do Ambiente de Trabalho (do inglês, <abbrev
+>DCOP</abbrev
+>). O KStars aproveita este recurso para permitir que comportamentos complexos sejam roteirizados e executados repetidamente a qualquer hora. Isto pode ser usado, por exemplo, para criar uma aula demonstrativa para ilustrar um conceito astronômico. </para>
+<para
+>O problema com scripts DCOP é que escrevê-los é um pouco parecido com programação, e pode ser uma tarefa desanimadora para quem não possui experiência de programação. A Ferramenta de Construção de Script fornece uma <abbrev
+>GUI</abbrev
+> do tipo apontar e clicar para construir scripts DCOP para o KStars, tornando muito fácil criar scripts complexos. </para>
+
+<sect2 id="sb-intro">
+<title
+>Introdução ao Construtor de Script</title>
+
+<para
+>Antes de explanar como usar o Construtor de Script, eu fornecerei uma introdução bem resumida de todos os componentes <abbrev
+>GUI</abbrev
+>; para mais informações, use a função "O Que É Isso?". </para>
+
+<screenshot>
+<screeninfo
+>A Ferramenta de Construção de Script </screeninfo>
+<mediaobject>
+ <imageobject>
+ <imagedata fileref="scriptbuilder.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Ferramenta de Construção de Script</phrase>
+ </textobject>
+</mediaobject>
+</screenshot>
+
+<para
+>O Construtor de Script é mostrado na captura de tela acima. A caixa à esquerda é a <firstterm
+>caixa do Script Atual</firstterm
+>; ela mostra a lista de comandos que compreende o script de trabalho atual. A caixa à direita é o <firstterm
+>Navegador de Função</firstterm
+>; ele mostra a lista de todas as funções de script disponíveis. Abaixo do Navegador de Função, existe um pequeno painel que exibirá uma documentação resumida sobre a função de script destacada no Navegador de Função. O painel abaixo da caixa de Script Atual é o <firstterm
+>painel de Argumentos da Função</firstterm
+>; quando uma função é destacada na caixa do Script Atual, este painel conterá todos os ítens para valores especificados para qualquer argumento que a função destacada precise. </para
+><para
+>Ao longo do topo da janela, existe uma linha de botões que operam no script como um todo. Da esquerda para direita, eles são: <guibutton
+>Novo Script</guibutton
+>, <guibutton
+>Abrir Script</guibutton
+>, <guibutton
+>Salvar Script</guibutton
+>, <guibutton
+>Salvar Script Como...</guibutton
+> e <guibutton
+>Testar Script</guibutton
+>. A função destes botões deve ser óbvia, execto talvez o último botão. Pressionar <guibutton
+>Testar Script</guibutton
+> experimentará a execução do script atual na janela principal do KStars. Você deve tirar a janela do Construtor do Script da frente antes de pressionar isto, de modo que possa ver os resultados. </para
+><para
+>No centro da janela, existe uma coluna de botões que operam em funções individuais do script. De cima para baixo, elas são: <guibutton
+>Adicionar Função</guibutton
+>, <guibutton
+>Remover Função</guibutton
+>, <guibutton
+>Copiar Função</guibutton
+>, <guibutton
+>Mover Acima</guibutton
+> e <guibutton
+>Mover Abaixo</guibutton
+>. <guibutton
+>Adicionar Função</guibutton
+> adiciona a função atualmente destacada no Navegador de Função à caixa do Script Atual (você pode também adicionar uma função dando um duplo-clique nela). O resto dos botões operam na função destacada na caixa do Script Atual, seja removendo-a, duplicando-a, ou mudando sua posição no script atual. </para>
+</sect2>
+
+<sect2 id="sb-using">
+<title
+>Usando o Construtor de Script</title>
+<para
+>Para ilustrar o uso do Construtor de Script, nós apresentaremos um pequeno tutorial exemplo onde nós criaremos um script que rastreia a Lua enquanto o relógio roda a uma taxa acelerada. </para
+><para
+>Se nós iremos rastrear a Lua, nós precisaremos apontar o mostrador primeiro. A função <firstterm
+>lookToward</firstterm
+> é usada para fazer isto. Destaque esta função no Navegador de Função e observe a documentação exibida no painel abaixo do Navegador. Pressione o botão <guibutton
+>Adicionar Função</guibutton
+> para adicionar esta função na caixa de Script Atual. O painel de Argumentos da Função agora conterá uma caixa combinada rotulada <quote
+>dir</quote
+>, abreviatura para direção. Esta é a direção na qual o mostrador deverá ser apontado. A caixa combinada contém somente os pontos cardinais, não a Lua ou qualquer outro objeto. Você pode inserir <quote
+>Lua</quote
+> na caixa manualmente, ou pressionar o botão <guibutton
+>Objeto</guibutton
+> para usar a janela <guilabel
+>Procurar Objeto</guilabel
+> para selecionar a Lua na lista de objetos nomeados. Observe que, como sempre, centrar em um objeto engaja automaticamente o modo de rastreamento do objeto, logo não é necessário adicionar a função <firstterm
+>setTracking</firstterm
+> após a lookToward. </para
+><para
+>Agora que nós já apontamos para Lua, nós vamos em seguida criar um passo de tempo numa taxa acelerada. Use a função <firstterm
+>setClockScale</firstterm
+> para isto. Adicione-a ao script com um duplo-clique nela no Navegador de Função. O painel de Argumentos da Função contém um caixa de contagem de passo de tempo para configurar o passo de tempo desejado para a simulação do relógio. Mude o passo de tempo para 3 horas. </para
+><para
+>OK, nós já apontamos para a Lua e aceleramos o relógio. Agora nós queremos simplesmente que o script espere por alguns segundo enquanto exibe a trilha da Lua. Adicione a função <firstterm
+>waitFor</firstterm
+> ao script, e use o painel de Argumentos da Função para especificar que ele deve esperar por 20 segundos antes de continuar. </para
+><para
+>Para finalizar, vamos reiniciar o passo de tempo do relógio para o valor normal de 1 segundo. Adicione outra instância do setClockScale, e configure seu valor para 1 segundo. </para
+><para
+>Nós ainda não terminados. Nós devemos provavelmente certificarmos-nos que o mostrador está usando coordenadas Equatoriais antes do script rastrear a Lua com o passo acelerado de tempo. Caso contrário, se o mostrador estiver usando coordenadas Horizontais, ele rotacionará muito rapidamente com grandes ângulos conforme a Lua nasce e se põe. Isto pode ser muito confuso, e é evitado configurando a Opção de Visão <firstterm
+>UseAltAz</firstterm
+> para <quote
+>false</quote
+>. Para mudar qualquer Opção de Visão, use a função <firstterm
+>changeViewOption</firstterm
+>. Adicione esta função ao script, e examine o painel de Argumentos da Função. Existe uma caixa combinada que contém uma lista de todas as opções que pode ser ajustadas pelo changeViewOption. Uma vez que nós desejamos a opção UseAltAz, nós podemos simplesmente selecioná-la na caixa combinada. No entanto, a lista é muito longa, e não existe nehuma explanação sobre o que é cada ítem. Talvez seja mais fácil pressionar o botao <guibutton
+>Navegar Árvore</guibutton
+>, que abrirá uma janela contendo uma visão em árvore das opções disponíveis, organizadas por tópico. Além disso, cada ítem possui uma explanação resumida do que a opção faz, e o tipo de dado do valor da opção. Nós encontramos o UseAltAz na categoria <guilabel
+>Opções do mapa celeste</guilabel
+>. Simplesmente destaque este ítem e pressione <guibutton
+>OK</guibutton
+>, e ele será selecionado na caixa combinada do painel de Argumentos da Função. Finalmente, torne este valor <quote
+>false</quote
+> ou <quote
+>0</quote
+>. </para
+><para
+>Mais um passo: mudar o UseAltAz no final do script não é o que queremos; nós precisamos que isto seja mudado antes de qualquer coisa acontecer. Logo, certifique-se de que esta função esteja destacada na caixa do Script Atual, e pressione o botão <guibutton
+>Mover Acima</guibutton
+> até que ela seja a primeira função. </para
+><para
+>Agora que terminamos o script, nós devemos salvá-lo no disco. Pressione o botão <guibutton
+>Salvar Script</guibutton
+>. Isto primeiro abrirá uma janela da qual você pode fornecer um nome para o script, e preencher seu nome como autor. Insira <quote
+>Rastreando a Lua</quote
+> para o nome, e seu nome como autor, e pressione <guibutton
+>OK</guibutton
+>. A seguir, você verá o diálogo padrão do &kde; de Salvar Arquivo. Especifique um nome de arquivo para o script e pressione <guibutton
+>OK</guibutton
+> para salvar o script. Observe que se seu nome de arquivo não terminar com <quote
+>.kstars</quote
+>, este sufixo será automaticamente anexado. Se estiver curioso, você pode examinar o arquivo de script com qualquer editor de texto. </para
+><para
+>Agora que nós completamos o script, nós podemos executá-lo de diversas maneiras. A partir da linha de comando do console, você pode simplesmente executar o script caso um instância do KStars esteja atualmente em execução. Alternativamente, você pode executar o script de dentro do KStars usando o ítem <guimenuitem
+>Executar Script</guimenuitem
+> no menu <guimenu
+>Arquivo</guimenu
+>. </para>
+</sect2>
+
+<sect2 id="sb-indi">
+ <title
+>Automação de Dispositivos com o INDI</title>
+ <para
+>O agendamento e automação de dispositivos é suportado para todos os dispositivos compatíveis com o <link linkend="what-is-indi"
+>INDI</link
+>. Você pode coordenar qualquer número de dispositivos para realizarem operações complexas usando o <link linkend="sb-intro"
+>Construtor de Scripts</link
+> do &kstars;. Isto pode ser conseguido usando a interface DCOP INDI do &kstars;, que fornece diferentes classes de funções para atender as suas tarefas. As funções DCOP INDI podem ser divididas em quatro classes diferentes. A seguir está uma revisão das funções e seus argumentos como suportados pelo KStars. É altamente recomendável ler a seção <link linkend="indi-concepts"
+>Conceitos do INDI</link
+> uma vez que empregaremos conceitos chaves do INDI neste tutorial.</para>
+ <orderedlist>
+ <listitem
+><para
+>Funções de Dispositivo Genéricas: Funções para estabelecer/desligar dispositivos, etc.</para>
+ <itemizedlist>
+ <listitem
+><para
+><function
+>startINDI (QString dispoNome, bool usarLocal)</function
+> : Estabelece um serviço INDI seja local ou servidor.</para
+></listitem>
+ <listitem
+><para
+><function
+>shutdownINDI (QString dispoNome)</function
+> : Desliga o serviço INDI.</para
+></listitem>
+ <listitem
+><para
+><function
+>switchINDI(QString dispoNome, bool tornarOn)</function
+> : Conecta ou Disconecta um dispositivo INDI.</para
+></listitem>
+ <listitem
+><para
+><function
+>setINDIPort(QString dispoNome, QString porta)</function
+> : Configura a porta de conexão do dispositivo.</para
+></listitem>
+ <listitem
+><para
+><function
+>setINDIAction(QString dispoNome, QString acao)</function
+> : Ativa uma ação INDI. A ação pode ser qualquer <emphasis
+>elemento</emphasis
+> de uma <emphasis
+>propriedade de opção/ação</emphasis
+></para
+></listitem>
+ <listitem
+><para
+><function
+>waitForINDIAction(QString dispoNome, QString acao)</function
+> : Pausa a execução do script atá a <emphasis
+>propriedade</emphasis
+> de ação especificada retornar com estado OK.</para
+></listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem
+><para
+>Funções de Telescópio: Funções para controlar o movimento e estado do telescópio.</para>
+ <itemizedlist>
+ <listitem
+><para
+><function
+>setINDIScopeAction(QString dispoNome, QString acao)</function
+> : Configura o modo do telescópio ou ação. As opções disponíveis são SLEW, TRACK, SYNC, PARK, e ABORT.</para
+></listitem>
+ <listitem
+><para
+><function
+>setINDITargetCoord(QString dispoNome, double RA, double DEC)</function
+> : Configura as coordenadas alvo JNow do telescópio para <emphasis
+>RA</emphasis
+> e <emphasis
+>DEC</emphasis
+>.</para
+></listitem>
+ <listitem
+><para
+><function
+>setINDITargetName(QString dispoNome, QString objetoNome)</function
+> : Configura as coordenadas alvo JNow do telescópio para as coordenadas do <emphasis
+>objectName</emphasis
+>. O KStars procurará o nome do objeto no banco de dados e retornará a RA and Dec uma vez encontradas.</para
+></listitem>
+ <listitem
+><para
+><function
+>setINDIGeoLocation(QString dispoNome, double longitude, double latitude)</function
+> : Configura a localização geográfica para a longitude e latitude especificadas. A longitude é calculada E de N. Por exemplo, as coordenadas de Calgary - Canada no KStars são longitude: -114 04 58 - latitude: 51 02 58. <emphasis
+>Somente</emphasis
+> longitudes negativas precisam ser convertidas. Para converter a longitude para a notação E de N, consideremos a longitude possitiva e adicionamos 180 graus a ela. Assim, em nosso exemplo, a longitude do INDI = 114 04 08 + 180 00 00 = 294 04 08 E de N.</para
+></listitem>
+ <listitem
+><para
+><function
+>setINDIUTC(QString dispoNome, QString DataHoraUTC)</function
+> : Configura a Data e Hora UTC do telescópio no formato ISO 8601. O formato é AAAA-MM-DDTHH:MM:SS (e.g. 2004-07-12T22:05:32).</para
+></listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem
+><para
+>Funções de Focador: Funções para controlar o movimento e estado do focador.</para>
+ <itemizedlist>
+ <listitem
+><para
+><function
+>setINDIFocusSpeed(QString dispoNome, QString acao)</function
+> : Configura a velocidade do focador. As opções disponíveis são FOCUS_HALT, FOCUS_SLOW, FOCUS_MEDIUM, e FOCUS_FAST.</para
+></listitem>
+ <listitem
+><para
+><function
+>setINDIFocusTimeout(QString dispoNome, int espera)</function
+> : Configura a duração em segundos para qualquer operação subsequente de startINDIFocus.</para
+></listitem>
+ <listitem
+><para
+><function
+>startINDIFocus(QString dispoNome, int focoDir)</function
+> : Move o focador seja para próximo (focoDir = 0) ou para longe (focoDir = 1). A velocidade e duração desta operação é configurada pelas funções <function
+>setINDIFocusSpeed()</function
+> e <function
+>setINDIFocusTimeout()</function
+>.</para
+></listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem
+><para
+>Funções de Câmera/CCD: Funções para controlar as propriedades e estado da câmera/CCD.</para>
+ <itemizedlist>
+ <listitem
+><para
+><function
+>setINDICCDTemp(QString dispoNome, int temp)</function
+> : Configura a temperatura alvo do chip CCD em graus celsius.</para
+></listitem>
+ <listitem
+><para
+><function
+>setINDIFrameType(QString dispoNome, QString tipo)</function
+> : Configura o tipo de quadro CCD. As opções disponíveis são FRAME_LIGHT, FRAME_BIAS, FRAME_DARK, e FRAME_FLAT.</para
+></listitem>
+ <listitem
+><para
+><function
+>startINDIExposure(QString dispoNome, int espera)</function
+> : Inicia a exposição do CCD/Câmera pela duração especificada por <emphasis
+>espera</emphasis
+> em segundos.</para
+></listitem>
+ </itemizedlist>
+ </listitem>
+ </orderedlist>
+
+<para
+>Observe que o nome do dispositivo é o primeiro argumento de todas as funções INDI. Isto permite que comandos diferentes que sejam enviados para dispositivos INDI diferentes sejam misturados juntos em um script. A ferramenta Construtor de Scripts fornece duas opções para facilitar a criação e edição de scripts INDI:</para>
+<itemizedlist>
+ <listitem
+><para
+><option
+>Adicionar waitForINDIAction após qualquer ação INDI</option
+>: Quando habilitado, a ferramenta Construtor de Script automaticamente adicionará <function
+>waitForINDIAction()</function
+> após qualquer ação que ele reconheça. Por exemplo, se você adicionar a função <function
+>switchINDI()</function
+> ao script e esta opção estiver habilitada, o Construtor de Scripts adicionará "waitForINDIAction CONNECTION" no arquivo de script logo após o <function
+>switchINDI()</function
+>. Isto fará que o script pause após ele enviar o <function
+>switchINDI()</function
+> até que o <function
+>switchINDI()</function
+> retorne o estado OK (&ie; conexão com dispositivo bem sucedida). É importante saber que o Construtor de Scripts não adicionará automaticamente o <function
+>waitForINDIAction()</function
+> para ações genéricas adicionadas usando a função <function
+>setINDIAction()</function
+>. Isto é porque o KStars não pode determinar a propriedade pai de ações genéricas. Deste modo, você deve adicionar manualmente o <function
+>waitForINDIAction()</function
+> após ações genéricas quando desejar.</para>
+ </listitem>
+ <listitem
+><para
+><option
+>Reutilizar o nome do dispositivo INDI</option
+>: Quando habilitado, o campo do nome do dispositivo de todas as funções subsequentes será automaticamente preenchido com o útlimo nome de dispositivo. O último nome de dispositivo é configurado toda vez que a função <function
+>startINDI()</function
+> é adicionada ao script atual. Ao trabalhar com dispositivos múltiplos, é recomendável desligar esta opção.</para>
+ </listitem>
+</itemizedlist>
+
+<para
+>Agora estamos prontos para criar um script de demonstração que controla o telescópio LX200 GPS, em adição a uma câmera Finger Lakes CCD. Nossa tarefa é simples. Nós pediremos ao telescópio para apontar e rastrear Marte, então nós pediremos para câmera tirar três fotografias de 10 segundos cada separadas por 20 segundos.</para>
+<important
+><para
+>Uma vez que não existe retorno direto da interface DCOP INDI sobre o progresso, valor ou estado das operações e parâmetros do dispositivo (exceto para o <function
+>waitForINDIAction()</function
+>), a automação do dispositivo no KStars é semelhante a um sistema de controle de loop aberto. Neste tipo de sistema, não existe normalmente nenhum retorno direto de medida de progresso do sistema e para correção de erros. Consequentemente, você deve desenhar seu script de automação de dispositivo com muito cuidado. Todos os scripts de automação devem ser sujeitos a testes rigorosos antes do seu emprego.</para
+></important>
+
+<screenshot>
+ <screeninfo
+>A Ferramenta de Construção de Script </screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="indiscript.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Ferramenta de Construção de Script</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+
+<para
+>O script de demonstração é mostrado na captura de tela acima. Observe que nós habilitamos o <option
+>"Adicionar waitForINDIAction após qualquer ação INDI"</option
+> e desabilitamos <option
+>"Reutilizar o nome do dispositivo INDI"</option
+>. A primeira função a adicionar é <function
+>startINDI()</function
+> como mostrado acima. Nós queremos rodar nossos dispositivos localmente, assim nós não mudamos o modo de serviço fornecido na janela de argumentos da função. Nós digitamos nosso nome de dispositivo, iniciando com o telescópio "LX200 GPS". Nós repetimos a mesma operação novamente para o "FLI CCD". Existe uma função <function
+>waitFor()</function
+> após isto. É normalmente recomendável usar a função <function
+>waitFor()</function
+> imediatamente após o <function
+>startINDI()</function
+> para pausar o script por 1-5 segundos. Isto irá garantir que todas as propriedades estão configuradas e prontas para receberem comandos. Isto também é útil para controlar dispositivos remotos pois a configuração das propriedades pode levar algum tempo. Na próxima função, <function
+>switchINDI()</function
+>, nós conectamos cada dispositivo.</para>
+
+<para
+>Uma vez que o <option
+>"Adicionar waitForINDIAction após qualquer ação INDI"</option
+> está habilitada, nós não precisamos adicionar <function
+>waitForINDIAction()</function
+> após o <function
+>switchINDI()</function
+> para garantir que somente continuaremos a executar o script após uma conexão bem sucedida. Isto é porque a ferramenta do Construtor de Script fará isso automaticamente para nós quando salvarmos o script. Agora vamos configurar o modo do telescópio para rastreio; clique na função <function
+>setINDIScopeAction()</function
+> e selecione TRACK. Observe que nós precisamos configurar o telescópio para rastreio <emphasis
+>antes</emphasis
+> de enviar as coordenadas necessárias para rastrear. A função <function
+>setINDIScopeAction()</function
+> é fornecida por conveniência; uma vez que neste exemplo, ela simplesmente envia uma função <function
+>setINDIAction()</function
+> seguida pela chave TRACK. No entanto, a vantagem de usar o <function
+>setINDIScopeAction()</function
+> é que o KStars automaticamente adicionará o <function
+>waitForINDIAction()</function
+> quando necessário. Este recurso não está automaticamente disponível para ações genéricas como nós já mencionamos antes.</para>
+
+<para
+>A seguir nós usaremos a função <function
+>setINDITargetName()</function
+> e a configuraremos para Marte. Finalmente, os últimos poucos passos envolvem a captura de imagens por 10 segundos que pode ser feita usando a função <function
+>startINDIExposure()</function
+>, e esperando por 20 segundos entre elas o que pode ser feito usando a função <function
+>waitFor()</function
+> com o valor de 20.</para>
+
+<para
+>Nós podemos agora salvar nosso script e executá-lo a qualquer hora. O script salvo será semelhante a este:</para>
+<blockquote
+><programlisting
+>#!/bin/bash
+ #KStars DCOP script: Script de Demonstração
+ #por Jasem Mutlaq
+ #última modificação: Qui Jan 6 2005 09:58:26
+ #
+ KSTARS=`dcopfind -a 'kstars*'`
+ MAIN=KStarsInterface
+ CLOCK=clock#1
+ dcop $KSTARS $MAIN startINDI "LX200 GPS" true
+ dcop $KSTARS $MAIN startINDI "FLI CCD" true
+ dcop $KSTARS $MAIN waitFor 3
+ dcop $KSTARS $MAIN switchINDI "LX200 GPS" true
+ dcop $KSTARS $MAIN waitForINDIAction "LX200 GPS" CONNECTION
+ dcop $KSTARS $MAIN switchINDI "FLI CCD" true
+ dcop $KSTARS $MAIN waitForINDIAction "FLI CCD" CONNECTION
+ dcop $KSTARS $MAIN setINDIScopeAction "LX200 GPS" TRACK
+ dcop $KSTARS $MAIN waitForINDIAction "LX200 GPS" ON_COORD_SET
+ dcop $KSTARS $MAIN setINDITargetName "LX200 GPS" Mars
+ dcop $KSTARS $MAIN waitForINDIAction "LX200 GPS" EQUATORIAL_EOD_COORD
+ dcop $KSTARS $MAIN startINDIExposure "FLI CCD" 10
+ dcop $KSTARS $MAIN waitForINDIAction "FLI CCD" EXPOSE_DURATION
+ dcop $KSTARS $MAIN waitFor 20
+ dcop $KSTARS $MAIN startINDIExposure "FLI CCD" 10
+ dcop $KSTARS $MAIN waitForINDIAction "FLI CCD" EXPOSE_DURATION
+ dcop $KSTARS $MAIN waitFor 20
+ dcop $KSTARS $MAIN startINDIExposure "FLI CCD" 10
+ dcop $KSTARS $MAIN waitForINDIAction "FLI CCD" EXPOSE_DURATION
+</programlisting>
+</blockquote>
+</sect2>
+</sect1>
+