Example Application 1.0.0
A Zephyr-based example application
Loading...
Searching...
No Matches
blink.h
1/*
2 * Copyright (c) 2024 Nordic Semiconductor ASA
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
6#ifndef APP_DRIVERS_BLINK_H_
7#define APP_DRIVERS_BLINK_H_
8
9#include <zephyr/device.h>
10#include <zephyr/toolchain.h>
11
24
36
38__subsystem struct blink_driver_api {
50 int (*set_period_ms)(const struct device *dev, unsigned int period_ms);
51};
52
54
67
79__syscall int blink_set_period_ms(const struct device *dev,
80 unsigned int period_ms);
81
82static inline int z_impl_blink_set_period_ms(const struct device *dev,
83 unsigned int period_ms)
84{
85 __ASSERT_NO_MSG(DEVICE_API_IS(blink, dev));
86
87 return DEVICE_API_GET(blink, dev)->set_period_ms(dev, period_ms);
88}
89
101static inline int blink_off(const struct device *dev)
102{
103 return blink_set_period_ms(dev, 0);
104}
105
106#include <syscalls/blink.h>
107
109
111
112#endif /* APP_DRIVERS_BLINK_H_ */