RTC. Implemented function rtcConvertDateTimeToFAT()

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7436 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
barthess 2014-10-30 19:31:21 +00:00
parent b665c20b66
commit c145bd903f
2 changed files with 18 additions and 4 deletions

View File

@ -124,7 +124,7 @@ extern "C" {
#if RTC_SUPPORTS_CALLBACKS
void rtcSetCallback(RTCDriver *rtcp, rtccb_t callback);
#endif
uint32_t rtcConvertDateTimeToFAT(RTCDateTime *timespec);
uint32_t rtcConvertDateTimeToFAT(const RTCDateTime *timespec);
#ifdef __cplusplus
}
#endif

View File

@ -193,12 +193,26 @@ void rtcSetCallback(RTCDriver *rtcp, rtccb_t callback) {
*
* @api
*/
uint32_t rtcConvertDateTimeToFAT(RTCDateTime *timespec) {
uint32_t rtcConvertDateTimeToFAT(const RTCDateTime *timespec) {
uint32_t fattime;
uint32_t sec, min, hour, tmp;
osalDbgCheck(timespec != NULL);
/* TODO: Implement.*/
return 0;
tmp = timespec->millisecond / 1000;
sec = tmp % 60;
min = (tmp - sec) % 3600;
hour = (tmp - sec - min * 60) / 3600;
fattime = sec >> 1;
fattime |= min << 5;
fattime |= hour << 11;
fattime |= timespec->day << 16;
fattime |= timespec->month << 21;
fattime |= timespec->year << 25;
return fattime;
}
#endif /* HAL_USE_RTC */