LCD and Keyboard controller for TinyOS 2.x
Project Details
Goal: Pretende-se o desenvolvimento de uma driver genérica de dispositivos de LCD alfa-numéricos para TinyOS 2. Seguindo o modelo de HIL que o TinyOS utiliza nativamente, deverá ser desenvolvida uma interface independente da implementação, permitindo a utilização de vários tipos de LCD sem mudar a aplicação. Além disso, pretende-se o desenvolvimento de uma driver genérica de dispositivos de Teclado "Keypad" para TinyOS 2. De acordo com o mesmo modelo, deverá ser desenvolvida uma interface independente da implementação, permitindo a utilização de vários tipos de Teclado sem mudar a aplicação.
O trabalho envolve as seguinte sub-tarefas:
- Pesquisa bibliográfica e contextualização no modelo de drivers do TinyOS.
- Análise de requisitos.
- Desenvolvimento de uma interface genérica para controlo de LCDs incluindo:
- Métodos para ler e escrever de/para o ecrã.
- Métodos para personalização avançada do desenho dos caracteres no ecrã.
- Métodos para interrogar a driver sobre as capacidades do dispositivo (dimensões, quantidade de caracteres personalizáveis, etc.).
- Desenvolvimento de uma interface genérica para controlo do Teclado incluindo:
- Geração de eventos quando as teclas são pressionadas, levantadas, ou mantidas em baixo por um certo período de tempo.
- Métodos para interrogar a driver sobre as capacidades do dispositivo (teclas disponíveis, possibilidade de combinar múltiplas teclas, etc.).
- Desenvolvimento de uma implementação específica para um teclado e para um dispositivo LCD.
- Desenvolvimento de um demonstrador para ilustrar a funcionalidade desenvolvida.
Assigned to: Pedro Diogo
Project Report: Report
Project Poster: Poster
Interface Board Code: Code (tested with the C30 compiler)
TinyOS Code: Code (Example application - TOSConsoleTest*.nc. Tested on a MicaZ.)