Projeto de Estimador de Estado de Enlace - Semestre 2
Link para Semestre 1
https://wiki.sj.ifsc.edu.br/index.php/Projeto_de_Estimador_de_Estado_de_Enlace
Horário disponível
- Segunda-Feira - 13:30 às 15:30 (2h)
- Terça-Feira - 13:30 às 17:30 (4h)
- Quarta-feira - 9:40 às 11:40 e 15:20 às 17:30 (4h)
- Quinta feira - 7:30 às 11:30 e 13:30 às 17:30 (8h)
- Sexta-feira - 15:40 às 17:30 (2h)
Total = 20 hrs
Download Contiki e VMWare Player
Para instalar o Contiki acesse:
Foi escolhido o software VMWare Player pra simular a maquina virtual do Contiki. O VMWare pode ser baixado em:
Instalação
Em breve...
Estrutura genérica da aplicação Contiki
PROCESS(process_name, "The string representation of the process name");
AUTOSTART_PROCESSES(&process_name);
PROCESS_THREAD(process_name, process_event_t, process_data_t){
PROCESS_BEGIN();
/*Execução do código*/
PROCESS_END();
}
Criando um makefile
Para cada código .c que for criado, é necessária a criar o arquivo que contém as instruções para as ferramentas de compilação da tarefa, o conhecido makefile. O arquivo makefile deve estar no mesmo diretório do código criado para a aplicação Contiki. A seguir, alguns passos de como criar o seu makefile: Em breve...
Iniciando a implementação
Process
Como visto anteriormente, o process é um método essencial para o funcionamento da aplicação. Nesta seção, iremos estar explicando melhor cada método da biblioteca process.h e como são implementados no Contiki.
Uma process_thread contém o código do processo. Nela há uma protothread que é invocada pelo escalonador de processos. A protothread é uma maneira de estruturar o código de modo que permita que o sistema execute outras atividades enquanto o código está aguardando que algum determinado evento aconteça.
Vamos agora para os métodos:
- PROCESS() -> Criador do processo.
- AUTOSTART_PROCESS() -> Inicia o processo automaticamente passado o seu nome por referência.
- PROCESS_BEGIN() -> Define o inicio de um processo.
- PROCESS_END() -> Define o fim de um processo.
- PROCESS_WAIT_EVENT() -> bloqueia o processo atualmente em execução até que o processo receba um evento.
- PROCESS_WAIT_EVENT_UNTIL() -> Necessita ser passada uma condição que deve ser verdadeira para chamar o processo.
- PROCESS_EXITHANDLER(handler) -> Especifica uma ação quando há uma saída do processo.
Referências
https://github.com/contiki-os/contiki/wiki/Contiki-Build-System -> Criando makefile https://github.com/alignan/contiki/blob/master/core/sys/process.h -> Biblioteca process.h