#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 */