7#ifndef ZEPHYR_INCLUDE_DRIVERS_COMPARATOR_H_
8#define ZEPHYR_INCLUDE_DRIVERS_COMPARATOR_H_
54typedef int (*comparator_api_get_output)(
const struct device *dev);
55typedef int (*comparator_api_set_trigger)(
const struct device *dev,
57typedef int (*comparator_api_set_trigger_callback)(
const struct device *dev,
60typedef int (*comparator_api_trigger_is_pending)(
const struct device *dev);
62__subsystem
struct comparator_driver_api {
63 comparator_api_get_output get_output;
64 comparator_api_set_trigger set_trigger;
65 comparator_api_set_trigger_callback set_trigger_callback;
66 comparator_api_trigger_is_pending trigger_is_pending;
82static inline int z_impl_comparator_get_output(
const struct device *dev)
99static inline int z_impl_comparator_set_trigger(
const struct device *dev,
102 return DEVICE_API_GET(comparator, dev)->set_trigger(dev, trigger);
122 return DEVICE_API_GET(comparator, dev)->set_trigger_callback(dev, callback, user_data);
136static inline int z_impl_comparator_trigger_is_pending(
const struct device *dev)
147#include <zephyr/syscalls/comparator.h>
#define DEVICE_API_GET(_class, _dev)
Expands to the pointer of a device's API for a given class.
Definition device.h:1350
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:118
int comparator_trigger_is_pending(const struct device *dev)
Check if comparator's trigger is pending and clear it.
void(* comparator_callback_t)(const struct device *dev, void *user_data)
Comparator callback template.
Definition comparator.h:50
int comparator_get_output(const struct device *dev)
Get comparator's output state.
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
Runtime device structure (in ROM) per driver instance.
Definition device.h:510