|
|
|
|
@ -14,8 +14,12 @@ enum State{ Off, Auto, On };
|
|
|
|
|
|
|
|
|
|
static const char *TAG = "showcase_component.component";
|
|
|
|
|
|
|
|
|
|
class ShowcaseComponent : public i2c::I2CDevice, public Component {
|
|
|
|
|
class ShowcaseComponent : public i2c::I2CDevice, public Component, public EntityBase {
|
|
|
|
|
public:
|
|
|
|
|
State s_;
|
|
|
|
|
float b_upper_ = 1.0;
|
|
|
|
|
float b_lower_ = 1.0;
|
|
|
|
|
|
|
|
|
|
void setup() override;
|
|
|
|
|
void loop() override;
|
|
|
|
|
void dump_config() override;
|
|
|
|
|
@ -30,16 +34,16 @@ class ShowcaseComponent : public i2c::I2CDevice, public Component {
|
|
|
|
|
this->s_ = s;
|
|
|
|
|
switch(s) {
|
|
|
|
|
case(On):
|
|
|
|
|
ESP_LOGI(TAG, "Set to On");
|
|
|
|
|
/* ESP_LOGI(TAG, "Set to On"); */
|
|
|
|
|
this->set_level(this->b_upper_, this->b_lower_);
|
|
|
|
|
break;
|
|
|
|
|
case(Off):
|
|
|
|
|
ESP_LOGI(TAG, "Set to Off");
|
|
|
|
|
/* ESP_LOGI(TAG, "Set to Off"); */
|
|
|
|
|
this->upper_->set_level(0.0);
|
|
|
|
|
this->lower_->set_level(0.0);
|
|
|
|
|
break;
|
|
|
|
|
case(Auto):
|
|
|
|
|
ESP_LOGI(TAG, "Set to Auto");
|
|
|
|
|
/* ESP_LOGI(TAG, "Set to Auto"); */
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -69,9 +73,6 @@ class ShowcaseComponent : public i2c::I2CDevice, public Component {
|
|
|
|
|
protected:
|
|
|
|
|
output::FloatOutput *upper_;
|
|
|
|
|
output::FloatOutput *lower_;
|
|
|
|
|
State s_;
|
|
|
|
|
float b_upper_ = 1.0;
|
|
|
|
|
float b_lower_ = 1.0;
|
|
|
|
|
/* monochromatic::MonochromaticLightOutput *upper_; */
|
|
|
|
|
/* monochromatic::MonochromaticLightOutput *lower_; */
|
|
|
|
|
};
|
|
|
|
|
|