mirror of
https://github.com/arendst/Tasmota.git
synced 2025-08-01 15:07:42 +00:00
ADS1115: Housekeeping
This commit is contained in:
parent
da3f4bcab7
commit
fd9f66ed6e
@ -161,64 +161,61 @@ int16_t Ads1115GetConversion(uint8_t channel)
|
|||||||
void Ads1115Detect(void)
|
void Ads1115Detect(void)
|
||||||
{
|
{
|
||||||
uint16_t buffer;
|
uint16_t buffer;
|
||||||
uint16_t conf_buffer;
|
|
||||||
|
|
||||||
//if (ads1115_type) {
|
|
||||||
//return;
|
|
||||||
//}
|
|
||||||
|
|
||||||
for (uint8_t i = 0; i < sizeof(ads1115_addresses); i++) {
|
for (uint8_t i = 0; i < sizeof(ads1115_addresses); i++) {
|
||||||
ads1115_address = ads1115_addresses[i];
|
if (!ads1115_found[i]) {
|
||||||
if (I2cValidRead16(&buffer, ads1115_address, ADS1115_REG_POINTER_CONVERT) &&
|
ads1115_address = ads1115_addresses[i];
|
||||||
I2cValidRead16(&conf_buffer, ads1115_address, ADS1115_REG_POINTER_CONFIG)) {
|
if (I2cValidRead16(&buffer, ads1115_address, ADS1115_REG_POINTER_CONVERT) &&
|
||||||
|
I2cValidRead16(&buffer, ads1115_address, ADS1115_REG_POINTER_CONFIG)) {
|
||||||
Ads1115StartComparator(i, ADS1115_REG_CONFIG_MODE_CONTIN);
|
Ads1115StartComparator(i, ADS1115_REG_CONFIG_MODE_CONTIN);
|
||||||
ads1115_type = 1;
|
ads1115_type = 1;
|
||||||
ads1115_found[i] = 1;
|
ads1115_found[i] = 1;
|
||||||
snprintf_P(log_data, sizeof(log_data), S_LOG_I2C_FOUND_AT, "ADS1115", ads1115_address);
|
snprintf_P(log_data, sizeof(log_data), S_LOG_I2C_FOUND_AT, "ADS1115", ads1115_address);
|
||||||
AddLog(LOG_LEVEL_DEBUG);
|
AddLog(LOG_LEVEL_DEBUG);
|
||||||
//break;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Ads1115GetValues(uint8_t address) {
|
void Ads1115GetValues(uint8_t address)
|
||||||
uint8_t old_address = ads1115_address;
|
{
|
||||||
ads1115_address = address;
|
uint8_t old_address = ads1115_address;
|
||||||
for (uint8_t i = 0; i < 4; i++) {
|
ads1115_address = address;
|
||||||
ads1115_values[i] = Ads1115GetConversion(i);
|
for (uint8_t i = 0; i < 4; i++) {
|
||||||
//snprintf_P(log_data, sizeof(log_data), "Logging ADS1115 %02x (%i) = %i", address, i, ads1115_values[i] );
|
ads1115_values[i] = Ads1115GetConversion(i);
|
||||||
//AddLog(LOG_LEVEL_INFO);
|
//snprintf_P(log_data, sizeof(log_data), "Logging ADS1115 %02x (%i) = %i", address, i, ads1115_values[i] );
|
||||||
}
|
//AddLog(LOG_LEVEL_INFO);
|
||||||
ads1115_address = old_address;
|
}
|
||||||
|
ads1115_address = old_address;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Ads1115toJSON(char *comma_j) {
|
void Ads1115toJSON(char *comma_j)
|
||||||
|
{
|
||||||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s%s{"), mqtt_data,comma_j);
|
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s%s{"), mqtt_data,comma_j);
|
||||||
char *comma = (char*)"";
|
char *comma = (char*)"";
|
||||||
for (uint8_t i = 0; i < 4; i++) {
|
for (uint8_t i = 0; i < 4; i++) {
|
||||||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s%s\"A%d\":%d"), mqtt_data, comma, i, ads1115_values[i]);
|
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s%s\"A%d\":%d"), mqtt_data, comma, i, ads1115_values[i]);
|
||||||
comma = (char*)",";
|
comma = (char*)",";
|
||||||
}
|
}
|
||||||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s}"), mqtt_data);
|
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s}"), mqtt_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Ads1115toString(uint8_t address) {
|
void Ads1115toString(uint8_t address)
|
||||||
|
{
|
||||||
char label[15];
|
char label[15];
|
||||||
snprintf_P(label, sizeof(label), "ADS1115(%02x)", address);
|
snprintf_P(label, sizeof(label), "ADS1115(%02x)", address);
|
||||||
|
|
||||||
for (uint8_t i = 0; i < 4; i++) {
|
for (uint8_t i = 0; i < 4; i++) {
|
||||||
snprintf_P(mqtt_data, sizeof(mqtt_data), HTTP_SNS_ANALOG, mqtt_data, label, i, ads1115_values[i]);
|
snprintf_P(mqtt_data, sizeof(mqtt_data), HTTP_SNS_ANALOG, mqtt_data, label, i, ads1115_values[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Ads1115Show(bool json)
|
void Ads1115Show(bool json)
|
||||||
{
|
{
|
||||||
if (!ads1115_type)
|
if (!ads1115_type) { return; }
|
||||||
return;
|
|
||||||
|
|
||||||
if (json)
|
if (json) {
|
||||||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"ADS1115\":["), mqtt_data);
|
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s,\"ADS1115\":["), mqtt_data);
|
||||||
|
}
|
||||||
|
|
||||||
char *comma = (char*)"";
|
char *comma = (char*)"";
|
||||||
|
|
||||||
@ -230,18 +227,18 @@ void Ads1115Show(bool json)
|
|||||||
if (json) {
|
if (json) {
|
||||||
Ads1115toJSON(comma);
|
Ads1115toJSON(comma);
|
||||||
comma = (char*)",";
|
comma = (char*)",";
|
||||||
}
|
}
|
||||||
#ifdef USE_WEBSERVER
|
#ifdef USE_WEBSERVER
|
||||||
else {
|
else {
|
||||||
Ads1115toString(ads1115_addresses[t]);
|
Ads1115toString(ads1115_addresses[t]);
|
||||||
}
|
}
|
||||||
#endif // USE_WEBSERVER
|
#endif // USE_WEBSERVER
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (json) {
|
if (json) {
|
||||||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s]"), mqtt_data);
|
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("%s]"), mqtt_data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************************************\
|
/*********************************************************************************************\
|
||||||
|
Loading…
x
Reference in New Issue
Block a user