diff options
Diffstat (limited to 'tde-i18n-pt_BR/docs/tdeedu/kstars/scriptbuilder.docbook')
-rw-r--r-- | tde-i18n-pt_BR/docs/tdeedu/kstars/scriptbuilder.docbook | 413 |
1 files changed, 47 insertions, 366 deletions
diff --git a/tde-i18n-pt_BR/docs/tdeedu/kstars/scriptbuilder.docbook b/tde-i18n-pt_BR/docs/tdeedu/kstars/scriptbuilder.docbook index 4e1b7f01512..d78f1669bef 100644 --- a/tde-i18n-pt_BR/docs/tdeedu/kstars/scriptbuilder.docbook +++ b/tde-i18n-pt_BR/docs/tdeedu/kstars/scriptbuilder.docbook @@ -1,426 +1,107 @@ <sect1 id="tool-scriptbuilder"> -<title ->A Ferramenta de Construção de Script</title> -<indexterm -><primary ->Ferramentas</primary> -<secondary ->Construtor de Script</secondary> +<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> +<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> +<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> +<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> +<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> + <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> +<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> +<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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> +<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><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><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> +<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> + <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> + <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>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>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>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 +<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 |