Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Fake RTC driver. More...

Files

file  rtc_fake.h
 Fake RTC driver API functions.

Functions

int rtc_fake_set_time (const struct device *, const struct rtc_time *)
 Fake implementation of the rtc_driver_api::set_time driver operation.
int rtc_fake_get_time (const struct device *, struct rtc_time *)
 Fake implementation of the rtc_driver_api::get_time driver operation.
int rtc_fake_alarm_get_supported_fields (const struct device *, uint16_t, uint16_t *)
 Fake implementation of the rtc_driver_api::alarm_get_supported_fields driver operation.
int rtc_fake_alarm_set_time (const struct device *, uint16_t, uint16_t, const struct rtc_time *)
 Fake implementation of the rtc_driver_api::alarm_set_time driver operation.
int rtc_fake_alarm_get_time (const struct device *, uint16_t, uint16_t *, struct rtc_time *)
 Fake implementation of the rtc_driver_api::alarm_get_time driver operation.
int rtc_fake_alarm_is_pending (const struct device *, uint16_t)
 Fake implementation of the rtc_driver_api::alarm_is_pending driver operation.
int rtc_fake_alarm_set_callback (const struct device *, uint16_t, rtc_alarm_callback, void *)
 Fake implementation of the rtc_driver_api::alarm_set_callback driver operation.
int rtc_fake_update_set_callback (const struct device *, rtc_update_callback, void *)
 Fake implementation of the rtc_driver_api::update_set_callback driver operation.
int rtc_fake_set_calibration (const struct device *, int32_t)
 Fake implementation of the rtc_driver_api::set_calibration driver operation.
int rtc_fake_get_calibration (const struct device *, int32_t *)
 Fake implementation of the rtc_driver_api::get_calibration driver operation.

Detailed Description

Fake RTC driver.

This is a Fake Function Framework (FFF) implementation of the RTC API, provided for use in tests. It is enabled by CONFIG_RTC_FAKE and instantiated from zephyr,fake-rtc devicetree nodes.

Each fake below is paired with an FFF control structure named after it with an additional _fake suffix, which tests use to set return values, install custom fakes, or inspect call counts and captured arguments. The control structures are not listed here; see Mocking via FFF.

Use return_val for fakes that only report status; a fake with output parameters must be driven with a custom_fake, as return_val leaves those parameters untouched.

When CONFIG_ZTEST is enabled, a ztest rule resets every fake before each test case.

const struct device *dev = DEVICE_DT_GET(DT_NODELABEL(fake_rtc));
struct rtc_time tm = {0};
rtc_fake_set_time_fake.return_val = -EINVAL;
zassert_equal(1, rtc_fake_set_time_fake.call_count);
zassert_equal(dev, rtc_fake_set_time_fake.arg0_val);
#define DEVICE_DT_GET(node_id)
Get a device reference from a devicetree node identifier.
Definition device.h:323
#define DT_NODELABEL(label)
Get a node identifier for a node label.
Definition devicetree.h:197
int rtc_set_time(const struct device *dev, const struct rtc_time *timeptr)
API for setting RTC time.
#define EINVAL
Invalid argument.
Definition errno.h:61
#define zassert_equal(a, b,...)
Assert that a equals b.
Definition ztest_assert.h:321
Runtime device structure (in ROM) per driver instance.
Definition device.h:543
Structure for storing date and time values with sub-second precision.
Definition rtc.h:67
Definition time.h:24

Function Documentation

◆ rtc_fake_alarm_get_supported_fields()

int rtc_fake_alarm_get_supported_fields ( const struct device * ,
uint16_t ,
uint16_t *  )

#include <zephyr/drivers/rtc/rtc_fake.h>

Fake implementation of the rtc_driver_api::alarm_get_supported_fields driver operation.

Attention
Available only when the following Kconfig option is enabled: CONFIG_RTC_ALARM.

◆ rtc_fake_alarm_get_time()

int rtc_fake_alarm_get_time ( const struct device * ,
uint16_t ,
uint16_t * ,
struct rtc_time *  )

#include <zephyr/drivers/rtc/rtc_fake.h>

Fake implementation of the rtc_driver_api::alarm_get_time driver operation.

Attention
Available only when the following Kconfig option is enabled: CONFIG_RTC_ALARM.

◆ rtc_fake_alarm_is_pending()

int rtc_fake_alarm_is_pending ( const struct device * ,
uint16_t  )

#include <zephyr/drivers/rtc/rtc_fake.h>

Fake implementation of the rtc_driver_api::alarm_is_pending driver operation.

Attention
Available only when the following Kconfig option is enabled: CONFIG_RTC_ALARM.

◆ rtc_fake_alarm_set_callback()

int rtc_fake_alarm_set_callback ( const struct device * ,
uint16_t ,
rtc_alarm_callback ,
void *  )

#include <zephyr/drivers/rtc/rtc_fake.h>

Fake implementation of the rtc_driver_api::alarm_set_callback driver operation.

Attention
Available only when the following Kconfig option is enabled: CONFIG_RTC_ALARM.

◆ rtc_fake_alarm_set_time()

int rtc_fake_alarm_set_time ( const struct device * ,
uint16_t ,
uint16_t ,
const struct rtc_time *  )

#include <zephyr/drivers/rtc/rtc_fake.h>

Fake implementation of the rtc_driver_api::alarm_set_time driver operation.

Attention
Available only when the following Kconfig option is enabled: CONFIG_RTC_ALARM.

◆ rtc_fake_get_calibration()

int rtc_fake_get_calibration ( const struct device * ,
int32_t *  )

#include <zephyr/drivers/rtc/rtc_fake.h>

Fake implementation of the rtc_driver_api::get_calibration driver operation.

Attention
Available only when the following Kconfig option is enabled: CONFIG_RTC_CALIBRATION.

◆ rtc_fake_get_time()

int rtc_fake_get_time ( const struct device * ,
struct rtc_time *  )

#include <zephyr/drivers/rtc/rtc_fake.h>

Fake implementation of the rtc_driver_api::get_time driver operation.

◆ rtc_fake_set_calibration()

int rtc_fake_set_calibration ( const struct device * ,
int32_t  )

#include <zephyr/drivers/rtc/rtc_fake.h>

Fake implementation of the rtc_driver_api::set_calibration driver operation.

Attention
Available only when the following Kconfig option is enabled: CONFIG_RTC_CALIBRATION.

◆ rtc_fake_set_time()

int rtc_fake_set_time ( const struct device * ,
const struct rtc_time *  )

#include <zephyr/drivers/rtc/rtc_fake.h>

Fake implementation of the rtc_driver_api::set_time driver operation.

◆ rtc_fake_update_set_callback()

int rtc_fake_update_set_callback ( const struct device * ,
rtc_update_callback ,
void *  )

#include <zephyr/drivers/rtc/rtc_fake.h>

Fake implementation of the rtc_driver_api::update_set_callback driver operation.

Attention
Available only when the following Kconfig option is enabled: CONFIG_RTC_UPDATE.