Mudanças entre as edições de "Projeto de Estimador de Estado de Enlace - Semestre 2"
Linha 22: | Linha 22: | ||
Em breve... | Em breve... | ||
− | = | + | =Estrutura genérica da aplicação Contiki= |
− | |||
<syntaxhighlight lang=c> | <syntaxhighlight lang=c> | ||
− | PROCESS( | + | PROCESS(process_name, "The string representation of the process name"); |
− | AUTOSTART_PROCESSES(& | + | AUTOSTART_PROCESSES(&process_name); |
− | PROCESS_THREAD( | + | PROCESS_THREAD(process_name, process_event_t, process_data_t){ |
PROCESS_BEGIN(); | PROCESS_BEGIN(); | ||
− | /* | + | /*Execução do código*/ |
− | |||
− | |||
− | |||
− | |||
PROCESS_END(); | PROCESS_END(); | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | =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 |
Edição das 11h40min de 9 de agosto de 2018
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