Library for DS3231 RTC

Dependents:   ard2pmod DS3231demo DS3231demo_COM_Port_Output MAXREFDES99_RTC_Display ... more

DS3231 Component Page

Revision:
1:c814af60fdbf
Parent:
0:b00c4699ae6f
Child:
2:4e6e761c60f2
--- a/ds3231.cpp	Tue Nov 18 22:28:04 2014 +0000
+++ b/ds3231.cpp	Wed Nov 19 04:16:33 2014 +0000
@@ -53,7 +53,8 @@
 * Constructor for Ds3231 Class
 *
 * On Entry:
-*     @param[in] p_i2c - pointer to I2C object for bus
+*     @param[in] sda - sda pin of I2C bus
+*     @param[in] scl - scl pin of I2C bus
 *
 * On Exit:
 *    @return none
@@ -61,17 +62,13 @@
 * Example:
 * @code
 * 
-* I2C i2c_bus(D14, D15); //instantiate I2C bus
-* I2C * p_i2c_bus = &i2c_bus; //create pointer to bus
-* 
 * //instantiate rtc object
-* Ds3231 rtc(p_i2c_bus); 
+* Ds3231 rtc(D14, D15); 
 *
 * @endcode
 **************************************************************/
-Ds3231::Ds3231(I2C* ptr_i2c_bus)
+Ds3231::Ds3231(PinName sda, PinName scl) : I2C(sda, scl)
 {
-    p_i2c = ptr_i2c_bus;
     w_adrs = ((DS3231_I2C_ADRS << 1) | I2C_WRITE);
     r_adrs = ((DS3231_I2C_ADRS << 1) | I2C_READ);
 }
@@ -90,11 +87,8 @@
 * Example:
 * @code
 * 
-* I2C i2c_bus(D14, D15); //instantiate I2C bus
-* I2C * p_i2c_bus = &i2c_bus; //create pointer to bus
-* 
 * //instantiate rtc object
-* Ds3231 rtc(p_i2c_bus); 
+* Ds3231 rtc(D14, D15); 
 * 
 * ds3231_time_t time = {0, 0, 0} // time = 0:0:0 24hr format
 * uint16_t rtn_val;
@@ -123,11 +117,8 @@
 * Example:
 * @code
 * 
-* I2C i2c_bus(D14, D15); //instantiate I2C bus
-* I2C * p_i2c_bus = &i2c_bus; //create pointer to bus
-* 
 * //instantiate rtc object
-* Ds3231 rtc(p_i2c_bus); 
+* Ds3231 rtc(D14, D15); 
 * 
 * //see datasheet for calendar format
 * ds3231_calendar_t calendar = {1, 1, 1, 0}; 
@@ -160,11 +151,8 @@
 * Example:
 * @code
 * 
-* I2C i2c_bus(D14, D15); //instantiate I2C bus
-* I2C * p_i2c_bus = &i2c_bus; //create pointer to bus
-* 
 * //instantiate rtc object
-* Ds3231 rtc(p_i2c_bus); 
+* Ds3231 rtc(D14, D15); 
 * 
 * //see datasheet for alarm format
 * ds3231_alrm_t alarm = {0, 0, 0, 0, 0}; 
@@ -194,11 +182,8 @@
 * Example:
 * @code
 * 
-* I2C i2c_bus(D14, D15); //instantiate I2C bus
-* I2C * p_i2c_bus = &i2c_bus; //create pointer to bus
-* 
 * //instantiate rtc object
-* Ds3231 rtc(p_i2c_bus); 
+* Ds3231 rtc(D14, D15);  
 * 
 * //do not use 0xAA, see datasheet for appropriate data 
 * ds3231_cntl_stat_t data = {0xAA, 0xAA}; 
@@ -228,11 +213,8 @@
 * Example:
 * @code
 * 
-* I2C i2c_bus(D14, D15); //instantiate I2C bus
-* I2C * p_i2c_bus = &i2c_bus; //create pointer to bus
-* 
 * //instantiate rtc object
-* Ds3231 rtc(p_i2c_bus); 
+* Ds3231 rtc(D14, D15); 
 * 
 * ds3231_time_t time = {0, 0, 0} // time = 0:0:0 24hr format
 * uint16_t rtn_val;
@@ -262,11 +244,8 @@
 * Example:
 * @code
 * 
-* I2C i2c_bus(D14, D15); //instantiate I2C bus
-* I2C * p_i2c_bus = &i2c_bus; //create pointer to bus
-* 
 * //instantiate rtc object
-* Ds3231 rtc(p_i2c_bus); 
+* Ds3231 rtc(D14, D15); 
 * 
 * //see datasheet for calendar format
 * ds3231_calendar_t calendar = {1, 1, 1, 0}; 
@@ -300,11 +279,8 @@
 * Example:
 * @code
 * 
-* I2C i2c_bus(D14, D15); //instantiate I2C bus
-* I2C * p_i2c_bus = &i2c_bus; //create pointer to bus
-* 
 * //instantiate rtc object
-* Ds3231 rtc(p_i2c_bus); 
+* Ds3231 rtc(D14, D15); 
 * 
 * //see datasheet for alarm format
 * ds3231_alrm_t alarm = {0, 0, 0, 0, 0}; 
@@ -336,11 +312,8 @@
 * Example:
 * @code
 * 
-* I2C i2c_bus(D14, D15); //instantiate I2C bus
-* I2C * p_i2c_bus = &i2c_bus; //create pointer to bus
-* 
 * //instantiate rtc object
-* Ds3231 rtc(p_i2c_bus); 
+* Ds3231 rtc(D14, D15);  
 * 
 * //do not use 0xAA, see datasheet for appropriate data 
 * ds3231_cntl_stat_t data = {0xAA, 0xAA}; 
@@ -369,16 +342,13 @@
 * Example:
 * @code
 * 
-* I2C i2c_bus(D14, D15); //instantiate I2C bus
-* I2C * p_i2c_bus = &i2c_bus; //create pointer to bus
-* 
 * //instantiate rtc object
-* Ds3231 rtc(p_i2c_bus); 
+* Ds3231 rtc(D14, D15); 
 * 
 * //do not use 0xAA, see datasheet for appropriate data 
 * uint16_t temp; 
 *
-* rtn_val = rtc.get_temperature(data);
+* rtn_val = rtc.get_temperature(temp);
 *
 * @endcode
 **************************************************************/