MCP4725

Dependents:   Cube_Mini_Template

Revision:
6:0e58d3068eb8
Parent:
5:3e6ffce1eea2
Child:
7:5cfc0f623d5b
--- a/mcp4725.cpp	Thu Nov 07 19:05:29 2013 +0000
+++ b/mcp4725.cpp	Fri Jan 31 17:59:17 2020 +0000
@@ -51,8 +51,11 @@
 
 
 
-int MCP4725::write(enum PowerMode mode, int dac_value, bool writeToEeprom)
+int MCP4725::write(float dac_value, enum PowerMode mode, bool writeToEeprom)
 {
+
+    
+    int dac_value_2 = (int) (0xFFF * (dac_value/4.94f) );
     char data[3]={0};
     int write_command;
     
@@ -70,8 +73,8 @@
     
     //Assemble our three bytes of data - Refer to MCP4725 ref manual, section 6.
     data[0] = (write_command <<5) | ((int)mode<<1);
-    data[1] = (dac_value>>4);
-    data[2] = (dac_value<<4);
+    data[1] = (dac_value_2>>4);
+    data[2] = (dac_value_2<<4);
     
     // Now write them to the device.
     return _i2c_interface.write(_device_address, data, sizeof(data)/sizeof(*data), false);