Um dos principais projetos de software que será constantemente desenvolvido.

CbIO – sigla para Command based Input Output, em português, Entrada e Saída baseada em Comando.

O nome do projeto já ajuda a mais ou menos saber do que o mesmo se trata, mas aqui escreverei mais detalhes. A ideia principal do projeto é disponibilizar acesso a todos os periféricos de um microcontrolador (ARM,PIC..) através de uma porta serial RS232 por exemplo. Alem de funções prontas armazenadas dentro do microcontrolador.

Então pergunta-se pra que isso serve?!

Imagina que você quer testar um driver novo que você acabou de adquirir em nossa loja e precisa de um PWM de 5kHz e variar o duty cycle, seguindo o normal, você terá que programar o MCU, isso implica em abrir a IDE, criar um projeto, bla bla bla, gravar o MCU e corrigir alguns erros; em contra partida com o CbIO basta ligar sua placa no PC pela serial ou USB->serial e enviar meia duzia de comandos e pronto, você tem o seu PWM a 5kHz com duty variável, tudo isso através de uma interface simples de comandos.

Ou então, se você é um programador de computador e gostaria de fazer um programa para ler um termômetro através de uma entrada analógica de um MCU, mas não tem nem ideia de como se programa um, ou não tem nem um pouco de vontade de saber, basta você usar o CbIO que terá total acesso a todos os periférico de um MCU e funções personalizadas, utilizando apenas as funções de acesso a serial da sua linguagem de programação. Fácil, muito fácil!

O CbIO estará sempre em constante atualização, sempre melhorando a performance, adicionando funções novas ou suportando novos periféricos, protocolos e MCUs.

Como o CbIO pode ser utilizado através de um terminal serial ou controlado por um programa, ele conta com 2 modos de operação: com e sem a interface de usuário, isto é, quando se acessa o CbIO por um terminal, ele apresentará menus com opções, helps e etc para ajudar o usuário a utilizar as funcionalidades, mas quando controlado por um programa de computador que já tem programados os comandos e as respostas que serão recebidas, esta interface poderá ser suprimidas para diminuir o volume de dados, assim, aumentando a performance.

Exemplo da interface com o usuário e com um programa

Menu Usuário CbIOPerceba os menus e textos enviados para facilitar a interface com o usuário. Vejamos um exemplo de como seria a mesma comunicação com um programa

Interface com um programaPercebe-se a grande redução de dados trocados.

Acredito que a interface e os comandos fiquem neste padrão, esta é uma versão exemplo de como será a interface do programa, a primeira versão oficial terá muito mais opções.

Aguarde!

Gabriel Assis