Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion components/volume_sensor/volume_sensor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,15 @@ float VolumeSensor::map_value_float(float x, float in_min, float in_max,
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}

void VolumeSensor::setup() {
#if defined(ESP32)
// Set attenuation to 0db to be as close to esp8266 as possible
analogSetPinAttenuation(this->pin_, ADC_0db);
// Set ADC resolution to 10 bits (0-1023) on ESP32
analogReadResolution(10);
#endif
}

void VolumeSensor::dump_config() {
LOG_SENSOR("", "Volume Sensor", this);
ESP_LOGCONFIG(TAG, " Pin: %u", this->pin_);
Expand Down Expand Up @@ -108,4 +117,4 @@ void VolumeSensor::update() {
}

} // namespace volume_sensor
} // namespace esphome
} // namespace esphome
3 changes: 2 additions & 1 deletion components/volume_sensor/volume_sensor.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ class VolumeSensor : public sensor::Sensor, public PollingComponent {
void set_percentage_sensor(sensor::Sensor *sensor) { this->percentage_sensor_ = sensor; }

void update() override;
void setup() override;
void dump_config() override;

protected:
Expand All @@ -45,4 +46,4 @@ class VolumeSensor : public sensor::Sensor, public PollingComponent {
};

} // namespace volume_sensor
} // namespace esphome
} // namespace esphome