#include "mcp4725.hpp" #if 0 MCP4725::MCP4725(pwrd_md power_down_mode, i2c_addr address, I2C* i2c) : power_down_mode(power_down_mode), address(address), i2c(i2c), dac_value(0), eeprom_value(0) { uint8_t temp[6]; temp[0] = cmd_write_dac_and_eeprom | (power_down_mode << 1); temp[1] = static_cast(dac_value >> 4); temp[2] = static_cast(dac_value << 4); temp[3] = temp[0]; temp[4] = temp[1]; temp[5] = temp[2]; //i2c_write(address, temp,6); } MCP4725::MCP4725(i2c_addr address, I2C* i2c) : power_down_mode(pwrd_md::normal), address(address), i2c(i2c), dac_value(0), eeprom_value(0) { uint8_t temp[6]; temp[0] = cmd_write_dac_and_eeprom | (power_down_mode << 1); temp[1] = static_cast(dac_value >> 4); temp[2] = static_cast(dac_value << 4); temp[3] = temp[0]; temp[4] = temp[1]; temp[5] = temp[2]; //i2c_write(address, temp, 6); } #endif MCP4725::MCP4725() { } MCP4725::MCP4725(I2C* i2c) : power_down_mode(pwrd_md::normal), address(addr_0x60), i2c(i2c), dac_value(0), eeprom_value(0) { uint8_t temp[6]; temp[0] = cmd_write_dac_and_eeprom | (power_down_mode << 1); temp[1] = static_cast(dac_value >> 4); temp[2] = static_cast(dac_value << 4); temp[3] = temp[0]; temp[4] = temp[1]; temp[5] = temp[2]; i2c->writeBuffer(address, temp, 6); } //MCP4725::~MCP4725() //{ //} void MCP4725::operator=(uint16_t dac_value) { uint8_t temp[3]; this->dac_value = dac_value; temp[0] = cmd_write_dac | (power_down_mode << 1); temp[1] = static_cast(dac_value >> 4); temp[2] = static_cast(dac_value << 4); i2c->writeBuffer(address, temp, 3); //i2c_write(address, temp, 3); } void MCP4725::operator==(uint16_t dac_and_eeprom_value) { uint8_t temp[6]; dac_value = dac_and_eeprom_value; eeprom_value = dac_value; temp[0] = cmd_write_dac_and_eeprom | (power_down_mode << 1); temp[1] = static_cast(dac_and_eeprom_value >> 4); temp[2] = static_cast(dac_and_eeprom_value << 4); temp[3] = temp[0]; temp[4] = temp[1]; temp[5] = temp[2]; i2c->writeBuffer(address, temp, 6); } #if 0 void MCP4725::write_dac(uint16_t dac_value) { &this = dac_value; } void MCP4725::write_dac_and_eeprom(uint16_t dac_and_eeprom_value) { &this == dac_and_eeprom_value; } #endif