no-OS
Loading...
Searching...
No Matches
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 "no_os_alloc.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)
 

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.
 
int32_t no_os_rtc_remove (struct no_os_rtc_desc *dev)
 Free the resources allocated by no_os_rtc_init().
 
int32_t no_os_rtc_start (struct no_os_rtc_desc *dev)
 Start the real time clock.
 
int32_t no_os_rtc_stop (struct no_os_rtc_desc *dev)
 Stop the real time clock.
 
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.
 
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.
 
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.
 

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.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ MS_TO_RSSA

#define MS_TO_RSSA ( x)
Value:
(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.

◆ 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.