.

Dependencies:   mbed

Fork of rtc_func by HIMBED_3AHELI

Committer:
Deixi
Date:
Wed Apr 22 19:31:07 2015 +0000
Revision:
4:357c5386a78c
..; ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Deixi 4:357c5386a78c 1 #include "mbed.h"
Deixi 4:357c5386a78c 2 #include "Date.h"
Deixi 4:357c5386a78c 3
Deixi 4:357c5386a78c 4 // http://developer.mbed.org/teams/HIMBED_3AHELI/code/rtc_func/wiki/Homepage
Deixi 4:357c5386a78c 5 uint8_t Date::bcdToUint(uint8_t const nybbles)
Deixi 4:357c5386a78c 6 {
Deixi 4:357c5386a78c 7 uint8_t result;
Deixi 4:357c5386a78c 8 result = (nybbles>>4) + (nybbles & 0x0F);
Deixi 4:357c5386a78c 9 return result;
Deixi 4:357c5386a78c 10 }
Deixi 4:357c5386a78c 11
Deixi 4:357c5386a78c 12 string Date::toString(uint8_t value)
Deixi 4:357c5386a78c 13 {
Deixi 4:357c5386a78c 14 //return std::to_string(value); // ab C++ version 11
Deixi 4:357c5386a78c 15 char buffer[2];
Deixi 4:357c5386a78c 16 sprintf (buffer, "%d", value); // ToString()
Deixi 4:357c5386a78c 17 return buffer;
Deixi 4:357c5386a78c 18 }
Deixi 4:357c5386a78c 19
Deixi 4:357c5386a78c 20 uint8_t Date::GetSecond()
Deixi 4:357c5386a78c 21 {
Deixi 4:357c5386a78c 22 uint8_t second = rtc_read(SECONDS);
Deixi 4:357c5386a78c 23 return bcdToUint(second & 0x3F);
Deixi 4:357c5386a78c 24 }
Deixi 4:357c5386a78c 25
Deixi 4:357c5386a78c 26 uint8_t Date::GetMinute()
Deixi 4:357c5386a78c 27 {
Deixi 4:357c5386a78c 28 uint8_t minute = rtc_read(MINUTES);
Deixi 4:357c5386a78c 29 return bcdToUint(minute & 0x3F);
Deixi 4:357c5386a78c 30 }
Deixi 4:357c5386a78c 31
Deixi 4:357c5386a78c 32 uint8_t Date::GetHour()
Deixi 4:357c5386a78c 33 {
Deixi 4:357c5386a78c 34 uint8_t hour = rtc_read(HOURS);
Deixi 4:357c5386a78c 35 return bcdToUint(hour & 0x2F);
Deixi 4:357c5386a78c 36 }
Deixi 4:357c5386a78c 37
Deixi 4:357c5386a78c 38 uint8_t Date::GetDay()
Deixi 4:357c5386a78c 39 {
Deixi 4:357c5386a78c 40 uint8_t day = rtc_read(DAYS);
Deixi 4:357c5386a78c 41 return bcdToUint(day & 0x2F);
Deixi 4:357c5386a78c 42 }
Deixi 4:357c5386a78c 43
Deixi 4:357c5386a78c 44 uint8_t Date::GetMonth()
Deixi 4:357c5386a78c 45 {
Deixi 4:357c5386a78c 46 uint8_t month = rtc_read(MONTHS);
Deixi 4:357c5386a78c 47 return bcdToUint(month & 0x1F);
Deixi 4:357c5386a78c 48 }
Deixi 4:357c5386a78c 49
Deixi 4:357c5386a78c 50 uint8_t Date::GetYear()
Deixi 4:357c5386a78c 51 {
Deixi 4:357c5386a78c 52 uint8_t year = rtc_read(YEARS);
Deixi 4:357c5386a78c 53 return bcdToUint(year & 0x4F);
Deixi 4:357c5386a78c 54 }