Difference between revisions of "Unit RTC"
Line 27: | Line 27: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''RTC device type | + | <div style="font-size: 14px; padding-left: 12px;">'''RTC device type''' <code> RTC_TYPE_* </code></div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
Line 38: | Line 38: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''RTC device state | + | <div style="font-size: 14px; padding-left: 12px;">'''RTC device state''' <code> RTC_STATE_* </code></div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
Line 52: | Line 52: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''RTC device flag | + | <div style="font-size: 14px; padding-left: 12px;">'''RTC device flag''' <code> RTC_FLAG_* </code></div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
Line 69: | Line 69: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''RTC logging | + | <div style="font-size: 14px; padding-left: 12px;">'''RTC logging''' <code> RTC_LOG_* </code></div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
Line 254: | Line 254: | ||
|- | |- | ||
| <code>RTC_DEFAULT_LOG_LEVEL:LongWord = RTC_LOG_LEVEL_DEBUG;</code> | | <code>RTC_DEFAULT_LOG_LEVEL:LongWord = RTC_LOG_LEVEL_DEBUG;</code> | ||
− | | style="width: | + | | style="width: 40%;"|Minimum level for RTC messages. Only messages with level greater than or equal to this will be printed. |
|- | |- | ||
|} | |} | ||
Line 260: | Line 260: | ||
|- | |- | ||
| <code>RTC_LOG_ENABLED:Boolean;</code> | | <code>RTC_LOG_ENABLED:Boolean;</code> | ||
− | | style="width: | + | | style="width: 40%;"| |
|- | |- | ||
|} | |} |
Revision as of 03:32, 27 March 2017
Return to Unit Reference
Contents
[hide]Description
Ultibo Real Time Clock device interface unit
The RTC unit provides the device interface for real time clock modules to be registered with Ultibo core. Each RTC module requires a driver that communicates with the specific hardware to implement the device interface although many devices may use the same chip and will be covered by a single driver.
This unit registers the RTCGetTime
and RTCSetTime
functions with the Platform unit to enable hardware independent access to a real time clock module.
Constants
RTC_*
RTC_TYPE_*
RTC_STATE_*
RTC_FLAG_*
RTC_LOG_*
Type definitions
RTC properties
RTC enumeration callback
TRTCEnumerate = function(RTC:PRTCDevice; Data:Pointer):LongWord;
|
RTC notification callback
TRTCNotification = function(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;
|
RTC device start
TRTCDeviceStart = function(RTC:PRTCDevice):LongWord;
|
RTC device stop
TRTCDeviceStop = function(RTC:PRTCDevice):LongWord;
|
RTC device get time
TRTCDeviceGetTime = function(RTC:PRTCDevice):Int64;
|
RTC device set time
TRTCDeviceSetTime = function(RTC:PRTCDevice; const Time:Int64):Int64;
|
RTC device properties
TRTCDeviceProperties = function(RTC:PRTCDevice; Properties:PRTCProperties):LongWord;
|
RTC device
Public variables
RTC logging
RTC_DEFAULT_LOG_LEVEL:LongWord = RTC_LOG_LEVEL_DEBUG;
|
Minimum level for RTC messages. Only messages with level greater than or equal to this will be printed. |
RTC_LOG_ENABLED:Boolean;
|
Function declarations
Initialization functions
RTC functions
function RTCDeviceSetTime(RTC:PRTCDevice; const Time:Int64):Int64;
function RTCDeviceProperties(RTC:PRTCDevice; Properties:PRTCProperties):LongWord;
function RTCDeviceDestroy(RTC:PRTCDevice):LongWord;
function RTCDeviceRegister(RTC:PRTCDevice):LongWord;
function RTCDeviceDeregister(RTC:PRTCDevice):LongWord;
function RTCDeviceFindByName(const Name:String):PRTCDevice; inline;
function RTCDeviceFindByDescription(const Description:String):PRTCDevice; inline;
function RTCDeviceEnumerate(Callback:TRTCEnumerate; Data:Pointer):LongWord;
function RTCDeviceNotification(RTC:PRTCDevice; Callback:TRTCNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
RTL RTC functions
function SysRTCSetTime(const Time:Int64):Int64;
RTC helper functions
function RTCDeviceGetDefault:PRTCDevice; inline;
function RTCDeviceSetDefault(RTC:PRTCDevice):LongWord;
function RTCDeviceCheck(RTC:PRTCDevice):PRTCDevice;
function RTCSystemTimeToFileTime(const SystemTime:TSystemTime; var FileTime:Int64):Boolean;
function RTCFileTimeToSystemTime(const FileTime:Int64; var SystemTime:TSystemTime):Boolean;
procedure RTCLog(Level:LongWord; RTC:PRTCDevice; const AText:String);
procedure RTCLogInfo(RTC:PRTCDevice; const AText:String); inline;
procedure RTCLogError(RTC:PRTCDevice; const AText:String); inline;
procedure RTCLogDebug(RTC:PRTCDevice; const AText:String); inline;
Return to Unit Reference