LCOV - code coverage report
Current view: top level - zephyr/drivers/comparator - nrf_lpcomp.h Coverage Total Hit
Test: new.info Lines: 90.0 % 10 9
Test Date: 2025-09-05 16:43:28

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2024 Nordic Semiconductor ASA
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef ZEPHYR_INCLUDE_DRIVERS_COMP_NRF_LPCOMP_H_
       8              : #define ZEPHYR_INCLUDE_DRIVERS_COMP_NRF_LPCOMP_H_
       9              : 
      10              : #include <zephyr/drivers/comparator.h>
      11              : 
      12              : #ifdef __cplusplus
      13              : extern "C" {
      14              : #endif
      15              : 
      16              : /** Positive input selection */
      17            1 : enum comp_nrf_lpcomp_psel {
      18              :         /** AIN0 external input */
      19              :         COMP_NRF_LPCOMP_PSEL_AIN0,
      20              :         /** AIN1 external input */
      21              :         COMP_NRF_LPCOMP_PSEL_AIN1,
      22              :         /** AIN2 external input */
      23              :         COMP_NRF_LPCOMP_PSEL_AIN2,
      24              :         /** AIN3 external input */
      25              :         COMP_NRF_LPCOMP_PSEL_AIN3,
      26              :         /** AIN4 external input */
      27              :         COMP_NRF_LPCOMP_PSEL_AIN4,
      28              :         /** AIN5 external input */
      29              :         COMP_NRF_LPCOMP_PSEL_AIN5,
      30              :         /** AIN6 external input */
      31              :         COMP_NRF_LPCOMP_PSEL_AIN6,
      32              :         /** AIN7 external input */
      33              :         COMP_NRF_LPCOMP_PSEL_AIN7,
      34              : };
      35              : 
      36              : /** External reference selection */
      37            1 : enum comp_nrf_lpcomp_extrefsel {
      38              :         /** AIN0 external input */
      39              :         COMP_NRF_LPCOMP_EXTREFSEL_AIN0,
      40              :         /** AIN1 external input */
      41              :         COMP_NRF_LPCOMP_EXTREFSEL_AIN1,
      42              : };
      43              : 
      44              : /** Reference selection */
      45            1 : enum comp_nrf_lpcomp_refsel {
      46              :         /** Use (VDD * (1/8)) as reference */
      47              :         COMP_NRF_LPCOMP_REFSEL_VDD_1_8,
      48              :         /** Use (VDD * (2/8)) as reference */
      49              :         COMP_NRF_LPCOMP_REFSEL_VDD_2_8,
      50              :         /** Use (VDD * (3/8)) as reference */
      51              :         COMP_NRF_LPCOMP_REFSEL_VDD_3_8,
      52              :         /** Use (VDD * (4/8)) as reference */
      53              :         COMP_NRF_LPCOMP_REFSEL_VDD_4_8,
      54              :         /** Use (VDD * (5/8)) as reference */
      55              :         COMP_NRF_LPCOMP_REFSEL_VDD_5_8,
      56              :         /** Use (VDD * (6/8)) as reference */
      57              :         COMP_NRF_LPCOMP_REFSEL_VDD_6_8,
      58              :         /** Use (VDD * (7/8)) as reference */
      59              :         COMP_NRF_LPCOMP_REFSEL_VDD_7_8,
      60              :         /** Use (VDD * (1/16)) as reference */
      61              :         COMP_NRF_LPCOMP_REFSEL_VDD_1_16,
      62              :         /** Use (VDD * (3/16)) as reference */
      63              :         COMP_NRF_LPCOMP_REFSEL_VDD_3_16,
      64              :         /** Use (VDD * (5/16)) as reference */
      65              :         COMP_NRF_LPCOMP_REFSEL_VDD_5_16,
      66              :         /** Use (VDD * (7/16)) as reference */
      67              :         COMP_NRF_LPCOMP_REFSEL_VDD_7_16,
      68              :         /** Use (VDD * (9/16)) as reference */
      69              :         COMP_NRF_LPCOMP_REFSEL_VDD_9_16,
      70              :         /** Use (VDD * (11/16)) as reference */
      71              :         COMP_NRF_LPCOMP_REFSEL_VDD_11_16,
      72              :         /** Use (VDD * (13/16)) as reference */
      73              :         COMP_NRF_LPCOMP_REFSEL_VDD_13_16,
      74              :         /** Use (VDD * (15/16)) as reference */
      75              :         COMP_NRF_LPCOMP_REFSEL_VDD_15_16,
      76              :         /** Use external analog reference */
      77              :         COMP_NRF_LPCOMP_REFSEL_AREF,
      78              : };
      79              : 
      80              : /**
      81              :  * @brief Configuration structure
      82              :  *
      83              :  * @note extrefsel is only used if refsel == COMP_NRF_LPCOMP_REFSEL_AREF
      84              :  */
      85            1 : struct comp_nrf_lpcomp_config {
      86              :         /** Positive input selection */
      87            1 :         enum comp_nrf_lpcomp_psel psel;
      88              :         /** External reference selection */
      89            1 :         enum comp_nrf_lpcomp_extrefsel extrefsel;
      90              :         /** Reference selection */
      91            1 :         enum comp_nrf_lpcomp_refsel refsel;
      92              :         /** Hysteresis configuration */
      93            1 :         bool enable_hyst;
      94              : };
      95              : 
      96              : /**
      97              :  * @brief Configure comparator
      98              :  *
      99              :  * @param dev Comparator device instance
     100              :  * @param config Configuration
     101              :  *
     102              :  * @retval 0 if successful
     103              :  * @retval negative errno-code otherwise
     104              :  */
     105            1 : int comp_nrf_lpcomp_configure(const struct device *dev,
     106              :                               const struct comp_nrf_lpcomp_config *config);
     107              : 
     108              : #ifdef __cplusplus
     109              : }
     110              : #endif
     111              : 
     112              : #endif /* ZEPHYR_INCLUDE_DRIVERS_COMP_NRF_LPCOMP_H_ */
        

Generated by: LCOV version 2.0-1