Projeto de Estimador de Estado de Enlace - Semestre 2

De MediaWiki do Campus São José
Revisão de 11h40min de 9 de agosto de 2018 por 127.0.0.1 (discussão)
Ir para navegação Ir para pesquisar

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