Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
comparator.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DRIVERS_COMPARATOR_H_
8#define ZEPHYR_INCLUDE_DRIVERS_COMPARATOR_H_
9
15
24
25#include <zephyr/device.h>
26#include <errno.h>
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
43
50typedef void (*comparator_callback_t)(const struct device *dev, void *user_data);
51
56
61typedef int (*comparator_api_get_output)(const struct device *dev);
62
67typedef int (*comparator_api_set_trigger)(const struct device *dev,
68 enum comparator_trigger trigger);
69
74typedef int (*comparator_api_set_trigger_callback)(const struct device *dev,
75 comparator_callback_t callback,
76 void *user_data);
77
82typedef int (*comparator_api_trigger_is_pending)(const struct device *dev);
83
105
107
117__syscall int comparator_get_output(const struct device *dev);
118
119static inline int z_impl_comparator_get_output(const struct device *dev)
120{
121 return DEVICE_API_GET(comparator, dev)->get_output(dev);
122}
123
132__syscall int comparator_set_trigger(const struct device *dev,
133 enum comparator_trigger trigger);
134
135static inline int z_impl_comparator_set_trigger(const struct device *dev,
136 enum comparator_trigger trigger)
137{
138 return DEVICE_API_GET(comparator, dev)->set_trigger(dev, trigger);
139}
140
153static inline int comparator_set_trigger_callback(const struct device *dev,
154 comparator_callback_t callback,
155 void *user_data)
156{
157 return DEVICE_API_GET(comparator, dev)->set_trigger_callback(dev, callback, user_data);
158}
159
169__syscall int comparator_trigger_is_pending(const struct device *dev);
170
171static inline int z_impl_comparator_trigger_is_pending(const struct device *dev)
172{
173 return DEVICE_API_GET(comparator, dev)->trigger_is_pending(dev);
174}
175
176#ifdef __cplusplus
177}
178#endif
179
181
182#include <zephyr/syscalls/comparator.h>
183
184#endif /* ZEPHYR_INCLUDE_DRIVERS_COMPARATOR_H_ */
#define DEVICE_API_GET(_class, _dev)
Expands to the pointer of a device's API for a given class.
Definition device.h:1449
System error numbers.
static int comparator_set_trigger_callback(const struct device *dev, comparator_callback_t callback, void *user_data)
Set comparator's trigger callback.
Definition comparator.h:153
int comparator_trigger_is_pending(const struct device *dev)
Check if comparator's trigger is pending and clear it.
int(* comparator_api_trigger_is_pending)(const struct device *dev)
Check if comparator's trigger is pending and clear it.
Definition comparator.h:82
void(* comparator_callback_t)(const struct device *dev, void *user_data)
Comparator callback template.
Definition comparator.h:50
int(* comparator_api_set_trigger_callback)(const struct device *dev, comparator_callback_t callback, void *user_data)
Set comparator's trigger callback.
Definition comparator.h:74
int(* comparator_api_get_output)(const struct device *dev)
@def_driverbackendgroup{Comparator,comparator_interface}
Definition comparator.h:61
int comparator_get_output(const struct device *dev)
Get comparator's output state.
int(* comparator_api_set_trigger)(const struct device *dev, enum comparator_trigger trigger)
Set comparator's trigger.
Definition comparator.h:67
int comparator_set_trigger(const struct device *dev, enum comparator_trigger trigger)
Set comparator's trigger.
comparator_trigger
Comparator trigger enumerations.
Definition comparator.h:33
@ COMPARATOR_TRIGGER_RISING_EDGE
Trigger on rising edge of comparator output.
Definition comparator.h:37
@ COMPARATOR_TRIGGER_BOTH_EDGES
Trigger on both edges of comparator output.
Definition comparator.h:41
@ COMPARATOR_TRIGGER_FALLING_EDGE
Trigger on falling edge of comparator output.
Definition comparator.h:39
@ COMPARATOR_TRIGGER_NONE
No trigger.
Definition comparator.h:35
@driver_ops{Comparator}
Definition comparator.h:87
comparator_api_set_trigger_callback set_trigger_callback
@driver_ops_mandatory Set comparator's trigger callback.
Definition comparator.h:99
comparator_api_trigger_is_pending trigger_is_pending
@driver_ops_mandatory Check if comparator's trigger is pending and clear it.
Definition comparator.h:103
comparator_api_set_trigger set_trigger
@driver_ops_mandatory Set comparator's trigger.
Definition comparator.h:95
comparator_api_get_output get_output
@driver_ops_mandatory Get comparator's output state.
Definition comparator.h:91
Runtime device structure (in ROM) per driver instance.
Definition device.h:513