Aplicativo principal


Entre os diversos aplicativos desenvolvidos para o controle dos dispositivos confeccionados destaca-se o sistema de gerenciamento de placas de som para a aquisição de potenciais evocados auditivos. No domínio do tempo, no entanto, é necessário um sistema complexo, de geração de estímulos acústicos adequados, aquisição, rejeição de artefatos, sincronismo, filtragem digital e promediação, entre outros, impossíveis de serem efetuados manualmente, após a utilização de um programa genérico de edição de som. Uma vez que o sistema operacional utilizado foi o Windows, foi necessário manipular diretamente as funções da API (application programming interface), que fornece serviços de interface com o hardware, para os programas baseados em Windows. Dessa maneira, foi possível acessar a placa-mãe e todos os periféricos do sistema físico, como memória, placa de vídeo e de multimídia, entre outros, para apresentação de gráficos, textos, sons etc. Assim, o programa desenvolvido acessa às funções de Waveform e Mixer da API. Essas funções permitem a administração relativamente precisa das entradas e saídas dos aparelhos de áudio e do gerenciamento dos respectivos controles de volume dos canais utilizados para a gravação e reprodução dos sons. Por fim, o grande desafio para a utilização da placa de som, com o objetivo de realizar um exame de avaliação de potenciais evocados auditivos, sobretudo, no domínio do tempo, foi o sincronismo necessário entre a geração do estímulo e a aquisição do potencial, mesmo que o programa utilize as funções da API do Windows. O sistema operacional Windows funciona com dois tipos diferentes de prioridade: as prioridades de tempo real e as de variáveis, cada tipo com 16 posições, o que gera, no total, níveis crescentes de prioridade entre 0 e 31. As prioridades de tempo real têm precedência sobre as prioridades de variáveis, e as mais importantes estão relacionadas à operações críticas, como checar presença de hardware, placa de vídeo, teclado, mouse etc. A execução de som, ou sua gravação, depois de iniciada, assume alta prioridade, tanto é que, dificilmente, o sistema apresenta falhas na reprodução sonora, mesmo que o processador esteja sobrecarregado com outras atividades. Contudo essa prioridade não é maior do que as prioridades críticas do sistema, o que significa dizer: os comandos sequenciados, que culminam na função waveInStart, ou waveOutWrite, entrarão em uma fila de execução. O simples fato de esses comandos precisarem entrar em uma fila insere uma variável temporal – que pode chegar a 10 ms – para o início da execução. Esse tempo, porém, é toda a janela de observação do exame de curta latência. O sincronismo, entretanto, não é impossível de ser implementado no SO Windows. Assim, diversas técnicas de controle foram empregadas para que tal problema fosse contornado. Entre as soluções específicas empregadas está a utilização dos recursos multitarefas existentes na arquitetura da família Windows 32 bits. Com essa função, o programa pôde gerenciar mais de uma tarefa ao mesmo tempo e desenvolver um mecanismo de sincronismo entre o estímulo gerado e o registro do potencial. Por fim, o sistema lógico é capaz de desempenhar funçõesem três momentos do exame. O primeiro refere-se aos procedimentos para pré-exame, ou seja, ao conjunto de ações que devem ser efetuadas para que a avaliação seja conduzida. O segundo diz respeito aos princípios básicos do exame e a todos os processos necessários para a manutenção da sua execução. O terceiro, finalmente, destina-se às atribuições desempenhadas depois da realização da aquisição dos sinais.