Interface to Analog devices AD5258 digital I2C potentiometer

Files at this revision

API Documentation at this revision

Comitter:
RodColeman
Date:
Tue Nov 12 12:57:07 2013 +0000
Parent:
1:64570234d7b5
Child:
3:f5b60d166896
Commit message:
v4.29: first release with RF Detect I2C trimmer (manual only)

Changed in this revision

AD5258.cpp Show annotated file Show diff for this revision Revisions of this file
AD5258.h Show annotated file Show diff for this revision Revisions of this file
--- a/AD5258.cpp	Mon Nov 11 13:08:08 2013 +0000
+++ b/AD5258.cpp	Tue Nov 12 12:57:07 2013 +0000
@@ -54,4 +54,17 @@
     foo[0] = 0xA0;                       // command to store RDAC to EE
     foo[1] = 0x80;                       // NOP to restore low power mode
     _i2c.write(_address, foo, 1);      
+  }
+  
+   // software write protect
+ void AD5258::writeProtect(bool enable)  {
+    char foo[2];
+    foo[0] = 0x40;                       // command to store RDAC to EE
+    if (enable) {
+        foo[1] = 0x01;                       // SET WP
+    }
+    else {
+        foo[1] = 0x010;                       // RESET WP (enable writes)
+    }
+    _i2c.write(_address, foo, 2);      
   }
\ No newline at end of file
--- a/AD5258.h	Mon Nov 11 13:08:08 2013 +0000
+++ b/AD5258.h	Tue Nov 12 12:57:07 2013 +0000
@@ -3,7 +3,21 @@
 #ifndef MBED_AD5258_H
 #define MBED_AD5258_H
  
-// Interface to the AD5258 I2C 6-Bit digital Potentiometer
+// Interface to the AD5258 I2C 64-step (0x00 to 0x3F)6-Bit digital Potentiometer
+
+// measure reference voltage on the pin6 of U3 LM293
+// be sure to remove R11, and check R4 is 220
+
+/*Examples: RDAC =
+0x00, Vref=1,0V
+0x03, Vref=1,1V
+0x05, Vref=1,2V
+0x0F, Vref=1,5V
+0x20, Vref=1,82V  // default
+0x30, Vref=2,0V
+0x3F, Vref=2,2V 
+*/
+
 
 class AD5258 {
 public:
@@ -55,6 +69,17 @@
     *
     */
     void restore(void);
+    
+    
+    /** update write protect bit
+    *
+    * @param enable: TRUE to SET WP, FALSE to lift WP
+    */
+ 
+    void writeProtect(bool enable);
+ 
+    //  TODO: tolerance register access
+ 
  
  
 private: