Biblioteca de Termistores
Opened this issue · 0 comments
Biblioteca de Termistores
Criar uma biblioteca genérica de termistores para que outros drivers possam utilizar. A biblioteca não deve depender da forma que as medidas foram adquiridas, seja diretamente via ADC, ou um amplificador/conversor externo. Também não deve depender da plataforma.
Construção de Bibliotecas
Primeiro deve ser determinado o estado da biblioteca, ou seja, qual informação é de escopo global, versus local de uma função. Caso haja um estado global, não é recomendado utilizar variáveis globais. É melhor criar uma struct com esse estado e ela pode ser passada em cada chamada de função. Isso evita problemas caso tenhamos mais de um termistor de tipo diferente.
Uma vez sabendo qual informação pertence a qual escopo, já dá pra identificar as funções, geralmente acaba sendo:
init
measure
- funções auxiliares
Lembrando que toda função da biblioteca deve começar com o nome dela, sugestão: thermistor_*
.
Como estamos lidando com medidas físicas, é importante deixar explicito as unidades.
Idealmente, toda constante não óbvia deve ter um nome com um #define
no .h
da biblioteca.
Como estamos programando para um microcontrolador, o tamanho em memória das variáveis deve ser ponderado.
É recomendado declarar variáveis no momento que são necessárias, não no inicio da função.
- Definir interface comum; sugestão: a resistência medida
- Definir a struct de estado global, caso haja
- Definir as funções de interface
- Construir a implementação
- Documentação
- Revisão
- Teste