LCOV - code coverage report
Current view: top level - zephyr/drivers/sensor - mcp9600.h Coverage Total Hit
Test: new.info Lines: 5.9 % 17 1
Test Date: 2025-09-25 19:22:35

            Line data    Source code
       1            1 : /*
       2              :  * Copyright (c) 2025 Thomas Schmid <tom@lfence.de>
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : /**
       8              :  * @file
       9              :  * @brief Header file for extended sensor API of MCP9600 sensor
      10              :  * @ingroup mcp9600_interface
      11              :  */
      12              : 
      13              : #ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_MCP9600H_
      14              : #define ZEPHYR_INCLUDE_DRIVERS_SENSOR_MCP9600H_
      15              : 
      16              : /**
      17              :  * @brief Microchip MCP9600 Thermocouple Electromotive Force (EMF) to °C Converter
      18              :  * @defgroup mcp9600_interface MCP9600
      19              :  * @ingroup sensor_interface_ext
      20              :  * @{
      21              :  */
      22              : 
      23              : #ifdef __cplusplus
      24              : extern "C" {
      25              : #endif /* __cplusplus */
      26              : 
      27              : #include <zephyr/drivers/sensor.h>
      28              : 
      29              : /**
      30              :  * @brief Custom sensor channels for MCP9600
      31              :  */
      32            0 : enum sensor_channel_mcp9600 {
      33              :         SENSOR_CHAN_MCP9600_COLD_JUNCTION_TEMP = SENSOR_CHAN_PRIV_START,
      34              :         SENSOR_CHAN_MCP9600_HOT_JUNCTION_TEMP,
      35              :         SENSOR_CHAN_MCP9600_DELTA_TEMP,
      36              :         SENSOR_CHAN_MCP9600_RAW_ADC,
      37              : };
      38              : 
      39              : /**
      40              :  * @brief Custom sensor attributes for MCP9600
      41              :  */
      42            0 : enum sensor_attribute_mcp9600 {
      43              :         SENSOR_ATTR_MCP9600_ADC_RES = SENSOR_ATTR_PRIV_START,
      44              :         SENSOR_ATTR_MCP9600_FILTER_COEFFICIENT,
      45              :         SENSOR_ATTR_MCP9600_THERMOCOUPLE_TYPE,
      46              :         SENSOR_ATTR_MCP9600_COLD_JUNCTION_RESOLUTION,
      47              :         SENSOR_ATTR_MCP9600_DEV_ID, /** @brief read only */
      48              : };
      49              : 
      50              : /**
      51              :  * @name Thermocouple type selection
      52              :  * @brief Values for attribute SENSOR_CHAN_MCP9600_THERMOCOUPLE_TYPE
      53              :  * @{
      54              :  */
      55            0 : #define MCP9600_ATTR_VALUE_TYPE_K 0x0
      56            0 : #define MCP9600_ATTR_VALUE_TYPE_J 0x1
      57            0 : #define MCP9600_ATTR_VALUE_TYPE_T 0x2
      58            0 : #define MCP9600_ATTR_VALUE_TYPE_N 0x3
      59            0 : #define MCP9600_ATTR_VALUE_TYPE_S 0x4
      60            0 : #define MCP9600_ATTR_VALUE_TYPE_E 0x5
      61            0 : #define MCP9600_ATTR_VALUE_TYPE_B 0x6
      62            0 : #define MCP9600_ATTR_VALUE_TYPE_R 0x7
      63              : /** @} */
      64              : 
      65              : 
      66              : /**
      67              :  * @name ADC resolution
      68              :  * @brief MCP9600 values for attribute SENSOR_ATTR_MCP9600_ADC_RES
      69              :  * @{
      70              :  */
      71            0 : #define MCP9600_ATTR_VALUE_ADC_RES_18BIT 0x0
      72            0 : #define MCP9600_ATTR_VALUE_ADC_RES_16BIT 0x1
      73            0 : #define MCP9600_ATTR_VALUE_ADC_RES_14BIT 0x2
      74            0 : #define MCP9600_ATTR_VALUE_ADC_RES_12BIT 0x3
      75              : /**
      76              :  * @}
      77              :  */
      78              : 
      79              : 
      80              : /**
      81              :  * @name Cold junction temperature resolution
      82              :  * @brief MCP9600 values for attribute SENSOR_ATTR_MCP9600_COLD_JUNCTION_RESOLUTION
      83              :  * @{
      84              :  */
      85            0 : #define MCP9600_ATTR_VALUE_COLD_JUNC_TMP_RES_0_0625C 0x0
      86            0 : #define MCP9600_ATTR_VALUE_COLD_JUNC_TMP_RES_0_25C   0x1
      87              : /**
      88              :  * @}
      89              :  */
      90              : 
      91              : #ifdef __cplusplus
      92              : }
      93              : #endif /* __cplusplus */
      94              : 
      95              : /**
      96              :  * @}
      97              :  */
      98              : 
      99              : #endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_MCP9600H_ */
        

Generated by: LCOV version 2.0-1