Files
2025-06-07 11:40:44 +01:00

84 lines
2.1 KiB
C
Executable File

#ifndef LM75A_H
#define LM75A_H
#include "esp_err.h" // Para o uso de tipos de erro do ESP-IDF, caso esteja utilizando.
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Inicializa o sensor LM75A.
*
* Configura o sensor para leitura e define os pinos de comunicação.
*/
esp_err_t lm75a_init(void);
/**
* @brief Desinicializa o sensor LM75A.
*
* Libera os recursos usados pelo sensor.
*/
esp_err_t lm75a_deinit(void);
/**
* @brief Lê a temperatura do LM75A.
*
* @param show Se for 1, a temperatura será exibida em algum tipo de log ou interface.
* Se for 0, o valor é apenas retornado sem exibição.
* @return A temperatura lida em graus Celsius.
*/
float lm75a_read_temperature(int show);
/**
* @brief Define o valor do limite de temperatura (T_OS) para o sensor LM75A.
*
* @param tos O limite de temperatura de sobrecarga (T_OS) em graus Celsius.
* @return ESP_OK em caso de sucesso ou código de erro se falhar.
*/
esp_err_t lm75a_set_tos(int tos);
/**
* @brief Define o valor do limite de temperatura de histerese (T_HYS) para o sensor LM75A.
*
* @param thys O limite de histerese de temperatura (T_HYS) em graus Celsius.
* @return ESP_OK em caso de sucesso ou código de erro se falhar.
*/
esp_err_t lm75a_set_thys(int thys);
/**
* @brief Obtém o limite de temperatura de sobrecarga (T_OS) do sensor LM75A.
*
* @return O valor atual de T_OS em graus Celsius.
*/
int lm75a_get_tos(void);
/**
* @brief Obtém o limite de temperatura de histerese (T_HYS) do sensor LM75A.
*
* @return O valor atual de T_HYS em graus Celsius.
*/
int lm75a_get_thys(void);
/**
* @brief Habilita ou desabilita a interrupção do LM75A.
*
* @param en 1 para habilitar a interrupção, 0 para desabilitar.
* @return ESP_OK em caso de sucesso ou código de erro se falhar.
*/
esp_err_t lm75a_set_int(int en);
/**
* @brief Obtém o estado do pino OS (Overtemperature Shutdown) do LM75A.
*
* @return 1 se o pino OS estiver ativo (indica que a temperatura de sobrecarga foi atingida),
* 0 caso contrário.
*/
int lm75a_get_osio(void);
#ifdef __cplusplus
}
#endif
#endif /* LM75A_H */