mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	fix: round state conversion for MCP4461 wiper level to ensure accurate integer values
This commit is contained in:
		| @@ -12,7 +12,7 @@ static const char *const TAG = "mcp4461.output"; | ||||
| // floats from other components (like light etc.) are passed as "percentage floats" | ||||
| // this function converts them to the 0 - 256 range used by the MCP4461 | ||||
| void Mcp4461Wiper::write_state(float state) { | ||||
|   if (this->parent_->set_wiper_level_(this->wiper_, static_cast<uint16_t>(state * 256))) { | ||||
|   if (this->parent_->set_wiper_level_(this->wiper_, static_cast<uint16_t>(std::roundf(state * 256)))) { | ||||
|     this->state_ = state; | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user