diff --git a/MCP4725/mcp4725.cpp b/MCP4725/mcp4725.cpp index e69de29..2520f29 100644 --- a/MCP4725/mcp4725.cpp +++ b/MCP4725/mcp4725.cpp @@ -0,0 +1,11 @@ +#include "mcp4725.hpp" + +MCP4725::MCP4725() +{ + +} + +MCP4725::~MCP4725() +{ + +} diff --git a/MCP4725/mcp4725.hpp b/MCP4725/mcp4725.hpp index e69de29..8d5d5dd 100644 --- a/MCP4725/mcp4725.hpp +++ b/MCP4725/mcp4725.hpp @@ -0,0 +1,56 @@ +#ifndef _MCP4725_HPP_ +#define _MCP4725_HPP_ + +class MCP4725 +{ + public: + // address list + enum i2c_addr + { + addr_0x0 = 0b01100000, + addr_0x1 = addr_0x0 + 1, + addr_0x2 = addr_0x0 + 1, + addr_0x3 = addr_0x0 + 1, + addr_0x4 = addr_0x0 + 1, + addr_0x5 = addr_0x0 + 1, + addr_0x6 = addr_0x0 + 1, + addr_0x7 = addr_0x0 + 1 + } + + // power down impedance modes + enum pwrd_md + { + normal = 0x04, + ohm_1k = 0x01, + ohm_100k = 0x02, + ohm_500k = 0x03 + }; + + MCP4725(pwrd_md power_down_mode, + i2c_addr address); + + MCP4725(i2c_addr address); + + ~MCP4725(); + + void operator=(uint16_t dac_value); + + void operator==(uint16_t dac_and_eeprom_value); + + void write_dac_and_eeprom(uint16_t value); + + void set_powerdown_impedance(pwrd_md mode); + + i2c_addr get_i2c_addr(); + + void set_power + + + private: + i2c_addr address; + pwrd_md power_down_mode; + + +}; + +#endif // _MCP4725_HPP_