rtc.h File Reference

Go to the source code of this file.

Data Structures

struct  _NUTRTC
 RTC device structure. More...

Defines

#define RTC_STATUS_PF   0x00000001
#define RTC_STATUS_AL0   0x00000020
#define RTC_STATUS_AL1   0x00000040
#define RTC_ALARM_SECOND   0x00000001
#define RTC_ALARM_MINUTE   0x00000002
#define RTC_ALARM_HOUR   0x00000004
#define RTC_ALARM_MDAY   0x00000008
#define RTC_ALARM_MONTH   0x00000010
#define RTC_ALARM_WDAY   0x00000080
#define BCD2BIN(x)   ((((u_char)(x)) >> 4) * 10 + ((x) & 0x0F))
 Convert binary coded decimal to binary value.
#define BIN2BCD(x)   (((((u_char)(x)) / 10) << 4) + (x) % 10)
 Convert binary to binary coded decimal value.

Typedefs

typedef struct _NUTRTC NUTRTC
 RTC device type.

Functions

int NutRegisterRtc (NUTRTC *rtc)
 Register a specified RTC.
int NutRtcGetTime (struct _tm *tm)
 Get date and time from the registered RTC.
int NutRtcSetTime (CONST struct _tm *tm)
 Set date and time of the registered RTC.
int NutRtcGetAlarm (int idx, struct _tm *tm, int *aflags)
 Get alarm date and time from the registered RTC.
int NutRtcSetAlarm (int idx, CONST struct _tm *tm, int aflags)
 Set alarm date and time of the registered RTC.
int NutRtcGetStatus (u_long *sflags)
 Query status flags from the registered RTC.
int NutRtcClearStatus (u_long sflags)
 Clear status flags of the registered RTC.


Define Documentation

#define RTC_STATUS_PF   0x00000001

Examples:
caltime/caltime.c, and ftpd/ftpserv.c.

Definition at line 46 of file rtc.h.

Referenced by main(), and PcfRtcGetStatus().

#define RTC_STATUS_AL0   0x00000020

Definition at line 47 of file rtc.h.

#define RTC_STATUS_AL1   0x00000040

Definition at line 48 of file rtc.h.

#define RTC_ALARM_SECOND   0x00000001

Definition at line 50 of file rtc.h.

Referenced by X12RtcGetAlarm(), and X12RtcSetAlarm().

#define RTC_ALARM_MINUTE   0x00000002

Definition at line 51 of file rtc.h.

Referenced by X12RtcGetAlarm(), and X12RtcSetAlarm().

#define RTC_ALARM_HOUR   0x00000004

Definition at line 52 of file rtc.h.

Referenced by X12RtcGetAlarm(), and X12RtcSetAlarm().

#define RTC_ALARM_MDAY   0x00000008

Definition at line 53 of file rtc.h.

Referenced by X12RtcGetAlarm(), and X12RtcSetAlarm().

#define RTC_ALARM_MONTH   0x00000010

Definition at line 54 of file rtc.h.

Referenced by X12RtcGetAlarm(), and X12RtcSetAlarm().

#define RTC_ALARM_WDAY   0x00000080

Definition at line 55 of file rtc.h.

Referenced by X12RtcGetAlarm(), and X12RtcSetAlarm().

#define BCD2BIN (  )     ((((u_char)(x)) >> 4) * 10 + ((x) & 0x0F))

Convert binary coded decimal to binary value.

Definition at line 60 of file rtc.h.

Referenced by DS1307RtcGetClock(), PcfRtcGetClock(), X12RtcGetAlarm(), and X12RtcGetClock().

#define BIN2BCD (  )     (((((u_char)(x)) / 10) << 4) + (x) % 10)

Convert binary to binary coded decimal value.

Definition at line 65 of file rtc.h.

Referenced by DS1307RtcSetClock(), PcfRtcSetClock(), X12RtcSetAlarm(), and X12RtcSetClock().


Typedef Documentation

typedef struct _NUTRTC NUTRTC

RTC device type.

Definition at line 70 of file rtc.h.


Function Documentation

int NutRegisterRtc ( NUTRTC rtc  ) 

Register a specified RTC.

This will also initialize any hardware, if required.

Parameters:
rtc Pointer to the NUTRTC structure.
Returns:
0 on success or -1 in case of an error.
Examples:
caltime/caltime.c.

Definition at line 66 of file rtc.c.

References _NUTRTC::rtc_init.

Referenced by main().

int NutRtcGetTime ( struct _tm tm  ) 

Get date and time from the registered RTC.

Portable applications should use standard C functions.

Parameters:
tm Points to a structure that receives the date and time information.
Returns:
0 on success or -1 in case of an error.

Definition at line 88 of file rtc.c.

References _NUTRTC::rtc_gettime.

Referenced by time().

int NutRtcSetTime ( CONST struct _tm tm  ) 

Set date and time of the registered RTC.

Portable applications should stime().

Parameters:
tm Points to a structure which contains the date and time information.
Returns:
0 on success or -1 in case of an error.

Definition at line 106 of file rtc.c.

References _NUTRTC::rtc_settime.

Referenced by stime().

int NutRtcGetAlarm ( int  idx,
struct _tm tm,
int *  aflags 
)

Get alarm date and time from the registered RTC.

Parameters:
idx Zero based index. Two alarms are supported.
tm Points to a structure that receives the date and time information.
aflags Points to an unsigned long that receives the enable flags.
Returns:
0 on success or -1 in case of an error.

Definition at line 125 of file rtc.c.

References _NUTRTC::rtc_getalarm.

int NutRtcSetAlarm ( int  idx,
CONST struct _tm tm,
int  aflags 
)

Set alarm date and time of the registered RTC.

Parameters:
idx Zero based index. Two alarms are supported.
tm Points to a structure which contains the date and time information. May be NULL to clear the alarm.
aflags Each bit enables a specific comparision.
  • Bit 0: Seconds
  • Bit 1: Minutes
  • Bit 2: Hours
  • Bit 3: Day of month
  • Bit 4: Month
  • Bit 7: Day of week (Sunday is zero)
Returns:
0 on success or -1 in case of an error.

Definition at line 149 of file rtc.c.

References _NUTRTC::rtc_setalarm.

int NutRtcGetStatus ( u_long sflags  ) 

Query status flags from the registered RTC.

Parameters:
sflags Points to an unsigned long that receives the status flags.
  • Bit 0: Power fail.
  • Bit 5: Alarm 0 occured.
  • Bit 6: Alarm 1 occured.
Returns:
0 on success or -1 in case of an error.
Examples:
caltime/caltime.c.

Definition at line 167 of file rtc.c.

References _NUTRTC::rtc_getstatus.

Referenced by main().

int NutRtcClearStatus ( u_long  sflags  ) 

Clear status flags of the registered RTC.

Parameters:
sflags Status flags to clear.
Returns:
Always 0.

Definition at line 182 of file rtc.c.

References _NUTRTC::rtc_clrstatus.


© 2000-2007 by egnite Software GmbH - visit http://www.ethernut.de/