Fork of MAX32630FTHR utilities library

Dependencies:   MAX14690

Dependents:   MAX32630FTHR_BALANCE_BOT MAX32630FTHR_iButton_uSD_Logger MAX32630FTHR_DS18B20_uSD_Logger MAX32630FTHR_BALANCE_BOT

Fork of max32630fthr by Greg Steiert

Revision:
9:760049f68423
Parent:
8:69740ee6903a
Child:
10:aee086319400
--- a/max32630fthr.cpp	Wed Dec 14 22:10:01 2016 +0000
+++ b/max32630fthr.cpp	Wed Dec 14 22:35:05 2016 +0000
@@ -51,41 +51,60 @@
 //******************************************************************************
 int32_t MAX32630FTHR::init(IoVoltage vio)
 {
+    int32_t rtnVal = -1;
     m_hdrVio = vio;
     
-    // Set micro SD card pins to 3.3V
-    vddioh(P0_4, VIO_3V3);
-    vddioh(P0_5, VIO_3V3);
-    vddioh(P0_6, VIO_3V3);
-    vddioh(P0_7, VIO_3V3);
-    // Set LED pins to 3.3V
-    vddioh(P2_4, VIO_3V3);
-    vddioh(P2_5, VIO_3V3);
-    vddioh(P2_6, VIO_3V3);
-    // Set header pins to hdrVio
-    vddioh(P3_0, m_hdrVio);
-    vddioh(P3_1, m_hdrVio);
-    vddioh(P3_2, m_hdrVio);
-    vddioh(P3_3, m_hdrVio);
-    vddioh(P3_4, m_hdrVio);
-    vddioh(P3_5, m_hdrVio);
-    vddioh(P4_0, m_hdrVio);
-    vddioh(P4_1, m_hdrVio);
-    vddioh(P4_2, m_hdrVio);
-    vddioh(P4_3, m_hdrVio);
-    vddioh(P4_4, m_hdrVio);
-    vddioh(P4_5, m_hdrVio);
-    vddioh(P4_6, m_hdrVio);
-    vddioh(P4_7, m_hdrVio);
-    vddioh(P5_0, m_hdrVio);
-    vddioh(P5_1, m_hdrVio);
-    vddioh(P5_2, m_hdrVio);
-    vddioh(P5_3, m_hdrVio);
-    vddioh(P5_4, m_hdrVio);
-    vddioh(P5_5, m_hdrVio);
-    vddioh(P5_6, m_hdrVio); 
+    // Override the default values
+    m_max14690.ldo2Millivolts = 3300;
+    m_max14690.ldo3Millivolts = 3300;
+    m_max14690.ldo2Mode = MAX14690::LDO_ENABLED;
+    m_max14690.ldo3Mode = MAX14690::LDO_ENABLED;
+    m_max14690.monCfg = MAX14690::MON_HI_Z;
+    // Note that writing the local value does directly affect the part
+    // The buck-boost regulator will remain off until init is called
+ 
+    // Call init to apply all settings to the PMIC
+    if (m_max14690.init() != MAX14690_ERROR) 
+    {
+        // Set micro SD card pins to 3.3V
+        vddioh(P0_4, VIO_3V3);
+        vddioh(P0_5, VIO_3V3);
+        vddioh(P0_6, VIO_3V3);
+        vddioh(P0_7, VIO_3V3);
+        // Set LED pins to 3.3V
+        vddioh(P2_4, VIO_3V3);
+        vddioh(P2_5, VIO_3V3);
+        vddioh(P2_6, VIO_3V3);
+        // Set header pins to hdrVio
+        vddioh(P3_0, m_hdrVio);
+        vddioh(P3_1, m_hdrVio);
+        vddioh(P3_2, m_hdrVio);
+        vddioh(P3_3, m_hdrVio);
+        vddioh(P3_4, m_hdrVio);
+        vddioh(P3_5, m_hdrVio);
+        vddioh(P4_0, m_hdrVio);
+        vddioh(P4_1, m_hdrVio);
+        vddioh(P4_2, m_hdrVio);
+        vddioh(P4_3, m_hdrVio);
+        vddioh(P4_4, m_hdrVio);
+        vddioh(P4_5, m_hdrVio);
+        vddioh(P4_6, m_hdrVio);
+        vddioh(P4_7, m_hdrVio);
+        vddioh(P5_0, m_hdrVio);
+        vddioh(P5_1, m_hdrVio);
+        vddioh(P5_2, m_hdrVio);
+        vddioh(P5_3, m_hdrVio);
+        vddioh(P5_4, m_hdrVio);
+        vddioh(P5_5, m_hdrVio);
+        vddioh(P5_6, m_hdrVio);
+        
+        if(ADC_Init() == E_NO_ERROR)
+        {
+            rtnVal = 0;
+        }
+    }
     
-    return (ADC_Init());
+    return rtnVal;
 }