Fork of Library for MAXREFDES72# that supports configuration of shield for different PMOD types and the DS3231 RTC

Dependencies:   ds3231 max14661

Dependents:   ard2pmod_demo

Fork of ard2pmod by Maxim Integrated

Revision:
17:294c52822d28
Parent:
15:014ab2d734e0
Child:
18:6d82914432e2
--- a/ard2pmod.cpp	Thu Mar 19 21:53:04 2015 +0000
+++ b/ard2pmod.cpp	Tue Mar 29 01:22:08 2016 +0000
@@ -1,19 +1,4 @@
 /******************************************************************//**
-* @file ard2pmod.cpp
-*
-* @author Justin Jordan
-*
-* @version 1.0
-*
-* Started: 11NOV14
-*
-* Updated: 
-*
-* @brief Source file for ard2pmod class
-*
-***********************************************************************
-*
-* @copyright 
 * Copyright (C) 2015 Maxim Integrated Products, Inc., All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
@@ -49,108 +34,59 @@
 #include "ard2pmod.h"
 
 
-/**************************************************************//**
-* Default constructor for Ard2Pmod Class, all mux switches open
-* Use with Max14661 member functions for custom mux settings
-*
-* On Entry:
-*
-* On Exit:
-*    @return none
-*
-* Example:
-* @code
-* #include "ard2pmod.h"
-*
-* int main(void)
-* {  
-*     Ard2Pmod ard2pmod;
-*     
-*     //main app.
-*     for(;;)
-*     {
-*     }
-* }
-* @endcode
-******************************************************************/
-Ard2Pmod::Ard2Pmod() : 
-Max14661(ARD2PMOD_SDA, ARD2PMOD_SCL, MAX14661_I2C_ADRS0), 
-Ds3231(ARD2PMOD_SDA, ARD2PMOD_SCL)
+//*********************************************************************
+Ard2Pmod::Ard2Pmod(): 
+_mux(D14, D15, Max14661::MAX14661_I2C_ADRS0)
 {
-    wrt_cmd_registers(DISABLE_BANK, DISABLE_BANK);
+    _mux.wrt_cmd_registers(Max14661::DISABLE_BANK, Max14661::DISABLE_BANK);
 }
 
 
-/**************************************************************//**
-* Constructor for Ard2Pmod Class
-*
-* On Entry:
-*     @param[in] pmod_type - desired PMOD interface
-*
-* On Exit:
-*    @return none
-*
-* Example:
-* @code
-* #include "ard2pmod.h"
-*
-* int main(void)
-* {  
-*     Ard2Pmod ard2pmod(PMOD_TYPE_1_GPIO);
-*     
-*     //main app.
-*     for(;;)
-*     {
-*     }
-* }
-* @endcode
-******************************************************************/
-Ard2Pmod::Ard2Pmod(pmod_type_t pmod_type) : 
-Max14661(ARD2PMOD_SDA, ARD2PMOD_SCL, MAX14661_I2C_ADRS0), 
-Ds3231(ARD2PMOD_SDA, ARD2PMOD_SCL)
+//*********************************************************************
+Ard2Pmod::Ard2Pmod(pmod_type_t pmod_type): 
+_mux(D14, D15, Max14661::MAX14661_I2C_ADRS0)
 {
     switch(pmod_type)
     {
         case PMOD_TYPE_I2C_A:
-            set_switches((SW12 | SW09), (SW11 | SW10));
+            _mux.set_switches((Max14661::SW12 | Max14661::SW09), (Max14661::SW11 | Max14661::SW10));
             break;
             
         case PMOD_TYPE_I2C_B:
-            set_switches((SW09 | SW07), (SW10 | SW08));
+            _mux.set_switches((Max14661::SW09 | Max14661::SW07), (Max14661::SW10 | Max14661::SW08));
             break;
             
         case PMOD_TYPE_I2C_AB:
-            set_switches((SW12 | SW09 | SW07), (SW11 | SW10 | SW08));
+            _mux.set_switches((Max14661::SW12 | Max14661::SW09 | Max14661::SW07), (Max14661::SW11 | Max14661::SW10 | Max14661::SW08));
             break;
             
         case PMOD_TYPE_1_GPIO:
-            wrt_cmd_registers(DISABLE_BANK, DISABLE_BANK);
+            _mux.wrt_cmd_registers(Max14661::DISABLE_BANK, Max14661::DISABLE_BANK);
             break;
             
         case PMOD_TYPE_2_SPI:
-            wrt_cmd_registers(DISABLE_BANK, DISABLE_BANK);
+            _mux.wrt_cmd_registers(Max14661::DISABLE_BANK, Max14661::DISABLE_BANK);
             break;
             
         case PMOD_TYPE_3_UART:
-            set_switches((SW12 | SW01), (SW11 | SW02));
+            _mux.set_switches((Max14661::SW12 | Max14661::SW01), (Max14661::SW11 | Max14661::SW02));
             break;
             
         case PMOD_TYPE_4_UART:
-            set_switches((SW13 | SW02), (SW12 | SW01));
+            _mux.set_switches((Max14661::SW13 | Max14661::SW02), (Max14661::SW12 | Max14661::SW01));
             break;
             
         case PMOD_TYPE_5_HBRIDGE:
-            wrt_cmd_registers(DISABLE_BANK, DISABLE_BANK);
+            _mux.wrt_cmd_registers(Max14661::DISABLE_BANK, Max14661::DISABLE_BANK);
             break;
             
         case PMOD_TYPE_6_HBRIDGE:
-            wrt_cmd_registers(DISABLE_BANK, DISABLE_BANK);
+            _mux.wrt_cmd_registers(Max14661::DISABLE_BANK, Max14661::DISABLE_BANK);
             break;
             
         default:
-            wrt_cmd_registers(DISABLE_BANK, DISABLE_BANK);
-    }
-    
+            _mux.wrt_cmd_registers(Max14661::DISABLE_BANK, Max14661::DISABLE_BANK);
+    } 
 }