no-OS
Macros | Functions
maxim_rtc.c File Reference

Implementation of RTC driver. More...

#include <stdlib.h>
#include <errno.h>
#include "no_os_irq.h"
#include "no_os_rtc.h"
#include "no_os_util.h"
#include "rtc.h"
#include "maxim_rtc.h"
#include "rtc_reva_regs.h"
#include "mxc_errors.h"
Include dependency graph for maxim_rtc.c:

Macros

#define MS_TO_RSSA(x)   (0 - ((x * 256) / 1000))
 

Functions

int32_t no_os_rtc_init (struct no_os_rtc_desc **device, struct no_os_rtc_init_param *init_param)
 Initialize the RTC peripheral. More...
 
int32_t no_os_rtc_remove (struct no_os_rtc_desc *dev)
 Free the resources allocated by no_os_rtc_init(). More...
 
int32_t no_os_rtc_start (struct no_os_rtc_desc *dev)
 Start the real time clock. More...
 
int32_t no_os_rtc_stop (struct no_os_rtc_desc *dev)
 Stop the real time clock. More...
 
int32_t no_os_rtc_get_cnt (struct no_os_rtc_desc *dev, uint32_t *tmr_cnt)
 Get the current count for the real time clock. More...
 
int32_t no_os_rtc_set_cnt (struct no_os_rtc_desc *dev, uint32_t tmr_cnt)
 Set the current count for the real time clock. More...
 
int32_t no_os_rtc_set_irq_time (struct no_os_rtc_desc *dev, uint32_t irq_time)
 Set the current count for the real time clock. More...
 

Detailed Description

Implementation of RTC driver.

Author
Ciprian Regus (cipri.nosp@m.an.r.nosp@m.egus@.nosp@m.anal.nosp@m.og.co.nosp@m.m)

Copyright 2022(c) Analog Devices, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Macro Definition Documentation

◆ MS_TO_RSSA

#define MS_TO_RSSA (   x)    (0 - ((x * 256) / 1000))

Function Documentation

◆ no_os_rtc_get_cnt()

int32_t no_os_rtc_get_cnt ( struct no_os_rtc_desc dev,
uint32_t *  tmr_cnt 
)

Get the current count for the real time clock.

Parameters
dev- The RTC descriptor.
tmr_cnt- Pointer where the read counter will be stored.
Returns
0 in case of success, errno codes otherwise.

◆ no_os_rtc_init()

int32_t no_os_rtc_init ( struct no_os_rtc_desc **  device,
struct no_os_rtc_init_param init_param 
)

Initialize the RTC peripheral.

Parameters
device- The RTC descriptor.
init_param- The structure that contains the RTC initialization.
Returns
0 in case of success, errno codes otherwise.

◆ no_os_rtc_remove()

int32_t no_os_rtc_remove ( struct no_os_rtc_desc dev)

Free the resources allocated by no_os_rtc_init().

Parameters
dev- The RTC descriptor.
Returns
0 in case of success, errno codes otherwise.

◆ no_os_rtc_set_cnt()

int32_t no_os_rtc_set_cnt ( struct no_os_rtc_desc dev,
uint32_t  tmr_cnt 
)

Set the current count for the real time clock.

Parameters
dev- The RTC descriptor.
tmr_cnt- New value of the timer counter.
Returns
0 in case of success, errno codes otherwise.

◆ no_os_rtc_set_irq_time()

int32_t no_os_rtc_set_irq_time ( struct no_os_rtc_desc dev,
uint32_t  irq_time 
)

Set the current count for the real time clock.

Parameters
dev- The RTC descriptor.
irq_time- The number of seconds at which the interrupt must occur.
Returns
0

◆ no_os_rtc_start()

int32_t no_os_rtc_start ( struct no_os_rtc_desc dev)

Start the real time clock.

Parameters
dev- The RTC descriptor.
Returns
0 in case of success, errno codes otherwise.
Here is the caller graph for this function:

◆ no_os_rtc_stop()

int32_t no_os_rtc_stop ( struct no_os_rtc_desc dev)

Stop the real time clock.

Parameters
dev- The RTC descriptor.
Returns
0 in case of success, errno codes otherwise.
Here is the caller graph for this function: