DS3231

Dependents:   LoRa_Access_Point

Revision:
16:610f7091e0ac
Parent:
15:bf11392ccaea
--- a/DS3231.cpp	Thu Mar 28 09:55:44 2019 +0000
+++ b/DS3231.cpp	Sat May 08 16:13:55 2021 +0000
@@ -1,8 +1,10 @@
 #include "DS3231.h"
 
 DS3231::DS3231(PinName sda, PinName scl) : i2c(sda, scl)
-    {
-    } 
+{
+    w_adrs = ((DS3231_I2C_ADRS << 1) | I2C_WRITE);
+    r_adrs = ((DS3231_I2C_ADRS << 1) | I2C_READ);
+} 
     
     
 // BCD to decimal conversion    
@@ -135,4 +137,17 @@
 bool DS3231::OSF()
     {int reg=readRegister(DS3231_Control_Status);
     return(reg&DS3231_bit_OSF);
-    }
\ No newline at end of file
+    }
+
+uint16_t DS3231::set_cntl_stat_reg(ds3231_cntl_stat_t data)
+{
+    uint8_t local_data[] = {0,0,0};
+    uint8_t data_length = 0;
+    
+    local_data[data_length++] = CONTROL;
+    local_data[data_length++] = data.control;
+    local_data[data_length++] = data.status;
+
+    //users responsibility to make sure data is logical
+    return(i2c.write(w_adrs,(const char*) local_data, data_length));
+}
\ No newline at end of file