Sapphire SoC DS Sapphire SoC UG Sapphire HP SoC DS Sapphire HP SoC UG RISC-V Embedded IDE UG Board Support Package
Loading...
Searching...
No Matches
EMC1413.c File Reference
#include "sensor/device/EMC1413.h"
#include <math.h>

Go to the source code of this file.

Overview

EMC1413 Temperature Sensor driver implementation.

Implements the functions defined in EMC1413.h for controlling EMC1413 Temperature Sensor input/output and interrupts on the EfxSapphireSoC platform.

Definition in file EMC1413.c.

Macros

#define PRODUCT_ID   0xFD
#define MICROCHIP_ID   0xFE
#define INT_DIODE_HB   0x00
#define INT_DIODE_LB   0x29
#define EXT_DIODE1_HB   0x01
#define EXT_DIODE1_LB   0x10
#define EXT_DIODE2_HB   0x23
#define EXT_DIODE2_LB   0x24
#define STATUS_REG   0x02
#define CONFIG_REG   0x03
#define CONVERT_RATE_REG   0x04
#define HIGH_LIMIT_REG_INT_DIODE   0x05
#define LOW_LIMIT_REG_INT_DIODE   0x06
#define HIGH_LIMIT_REG_EXT_DIODE1_HB   0x07
#define LOW_LIMIT_REG_EXT_DIODE1_HB   0x08
#define HIGH_LIMIT_REG_EXT_DIODE1_LB   0x13
#define LOW_LIMIT_REG_EXT_DIODE1_LB   0x14
#define HIGH_LIMIT_REG_EXT_DIODE2_HB   0x15
#define LOW_LIMIT_REG_EXT_DIODE2_HB   0x16
#define HIGH_LIMIT_REG_EXT_DIODE2_LB   0x17
#define LOW_LIMIT_REG_EXT_DIODE2_LB   0x18
#define HIGH_LIMIT_REG_EXT_DIODE3_HB   0x2C
#define HIGH_LIMIT_REG_EXT_DIODE3_LB   0x2E
#define LOW_LIMIT_REG_EXT_DIODE3_HB   0x2D
#define LOW_LIMIT_REG_EXT_DIODE3_LB   0x2F
#define THERM_LIMIT   0X37
#define THERM_LIMIT_EXT_DIODE1   0X19
#define THERM_LIMIT_EXT_DIODE2   0X1A
#define THERM_LIMIT_EXT_DIODE3   0X30
#define THERM_LIMIT_INT_DIODE   0X20
#define THERM_LIMIT_HYSTERESIS   0X21
#define HIGH_LIMIT_STATUS_REG   0x35
#define LOW_LIMIT_STATUS_REG   0x36
#define THERM_LIMIT_STATUS_REG   0x37
#define BETA_CONFIG_EX1_REG   0x25
#define BETA_CONFIG_EX2_REG   0x26
#define FILTER_CTRL_REG   0x40
#define EXT_DIODE_FAULT   0x1B
#define CONSECUTIVE_ALRT_REG   0x70
#define CHANNEL_MASK_REG   0x1F
#define DEFAULT_HIGH_LIMIT_VALUE   0x55
#define DEFAULT_LOW_LIMIT_VALUE   0x00

Functions

temp_sensor_status_t emc1413_getTemp (temp_sensor_instance_t *temp)
 Get temperature from EMC1413 Temperature Sensor.
temp_sensor_status_t emc1413_getTempLimit (temp_sensor_instance_t *temp)
 Get temperature limits from EMC1413 Temperature Sensor.
temp_sensor_status_t emc1413_setTempRange (temp_sensor_instance_t *temp, u8 enable_extended)
 Set temperature range for EMC1413 Temperature Sensor.
temp_sensor_status_t emc1413_setTempLimit (temp_sensor_instance_t *temp)
 Set temperature limits for EMC1413 Temperature Sensor.
temp_sensor_status_t emc1413_checkTempAlert (temp_sensor_instance_t *temp)
 Check for temperature alerts from EMC1413 Temperature Sensor.
u8 emc1413_checkTempRange (temp_sensor_instance_t *temp)
 Check if temperature is within range for EMC1413 Temperature Sensor.

Variables

const temp_sensor_api_t emc1413_driver
 EMC1413 Driver Instance. Point your generic Temperature Sensor pointer to this structure to use the EMC1413.

Macro Definition Documentation

◆ BETA_CONFIG_EX1_REG

#define BETA_CONFIG_EX1_REG   0x25

Definition at line 72 of file EMC1413.c.

◆ BETA_CONFIG_EX2_REG

#define BETA_CONFIG_EX2_REG   0x26

Definition at line 73 of file EMC1413.c.

◆ CHANNEL_MASK_REG

#define CHANNEL_MASK_REG   0x1F

Definition at line 79 of file EMC1413.c.

◆ CONFIG_REG

#define CONFIG_REG   0x03

Definition at line 37 of file EMC1413.c.

◆ CONSECUTIVE_ALRT_REG

#define CONSECUTIVE_ALRT_REG   0x70

Definition at line 78 of file EMC1413.c.

◆ CONVERT_RATE_REG

#define CONVERT_RATE_REG   0x04

Definition at line 38 of file EMC1413.c.

◆ DEFAULT_HIGH_LIMIT_VALUE

#define DEFAULT_HIGH_LIMIT_VALUE   0x55

Definition at line 82 of file EMC1413.c.

◆ DEFAULT_LOW_LIMIT_VALUE

#define DEFAULT_LOW_LIMIT_VALUE   0x00

Definition at line 83 of file EMC1413.c.

◆ EXT_DIODE1_HB

#define EXT_DIODE1_HB   0x01

Definition at line 30 of file EMC1413.c.

◆ EXT_DIODE1_LB

#define EXT_DIODE1_LB   0x10

Definition at line 31 of file EMC1413.c.

◆ EXT_DIODE2_HB

#define EXT_DIODE2_HB   0x23

Definition at line 32 of file EMC1413.c.

◆ EXT_DIODE2_LB

#define EXT_DIODE2_LB   0x24

Definition at line 33 of file EMC1413.c.

◆ EXT_DIODE_FAULT

#define EXT_DIODE_FAULT   0x1B

Definition at line 77 of file EMC1413.c.

◆ FILTER_CTRL_REG

#define FILTER_CTRL_REG   0x40

Definition at line 76 of file EMC1413.c.

◆ HIGH_LIMIT_REG_EXT_DIODE1_HB

#define HIGH_LIMIT_REG_EXT_DIODE1_HB   0x07

Definition at line 43 of file EMC1413.c.

◆ HIGH_LIMIT_REG_EXT_DIODE1_LB

#define HIGH_LIMIT_REG_EXT_DIODE1_LB   0x13

Definition at line 45 of file EMC1413.c.

◆ HIGH_LIMIT_REG_EXT_DIODE2_HB

#define HIGH_LIMIT_REG_EXT_DIODE2_HB   0x15

Definition at line 47 of file EMC1413.c.

◆ HIGH_LIMIT_REG_EXT_DIODE2_LB

#define HIGH_LIMIT_REG_EXT_DIODE2_LB   0x17

Definition at line 49 of file EMC1413.c.

◆ HIGH_LIMIT_REG_EXT_DIODE3_HB

#define HIGH_LIMIT_REG_EXT_DIODE3_HB   0x2C

Definition at line 53 of file EMC1413.c.

◆ HIGH_LIMIT_REG_EXT_DIODE3_LB

#define HIGH_LIMIT_REG_EXT_DIODE3_LB   0x2E

Definition at line 54 of file EMC1413.c.

◆ HIGH_LIMIT_REG_INT_DIODE

#define HIGH_LIMIT_REG_INT_DIODE   0x05

Definition at line 41 of file EMC1413.c.

◆ HIGH_LIMIT_STATUS_REG

#define HIGH_LIMIT_STATUS_REG   0x35

Definition at line 67 of file EMC1413.c.

◆ INT_DIODE_HB

#define INT_DIODE_HB   0x00

Definition at line 28 of file EMC1413.c.

◆ INT_DIODE_LB

#define INT_DIODE_LB   0x29

Definition at line 29 of file EMC1413.c.

◆ LOW_LIMIT_REG_EXT_DIODE1_HB

#define LOW_LIMIT_REG_EXT_DIODE1_HB   0x08

Definition at line 44 of file EMC1413.c.

◆ LOW_LIMIT_REG_EXT_DIODE1_LB

#define LOW_LIMIT_REG_EXT_DIODE1_LB   0x14

Definition at line 46 of file EMC1413.c.

◆ LOW_LIMIT_REG_EXT_DIODE2_HB

#define LOW_LIMIT_REG_EXT_DIODE2_HB   0x16

Definition at line 48 of file EMC1413.c.

◆ LOW_LIMIT_REG_EXT_DIODE2_LB

#define LOW_LIMIT_REG_EXT_DIODE2_LB   0x18

Definition at line 50 of file EMC1413.c.

◆ LOW_LIMIT_REG_EXT_DIODE3_HB

#define LOW_LIMIT_REG_EXT_DIODE3_HB   0x2D

Definition at line 55 of file EMC1413.c.

◆ LOW_LIMIT_REG_EXT_DIODE3_LB

#define LOW_LIMIT_REG_EXT_DIODE3_LB   0x2F

Definition at line 56 of file EMC1413.c.

◆ LOW_LIMIT_REG_INT_DIODE

#define LOW_LIMIT_REG_INT_DIODE   0x06

Definition at line 42 of file EMC1413.c.

◆ LOW_LIMIT_STATUS_REG

#define LOW_LIMIT_STATUS_REG   0x36

Definition at line 68 of file EMC1413.c.

◆ MICROCHIP_ID

#define MICROCHIP_ID   0xFE

Definition at line 25 of file EMC1413.c.

◆ PRODUCT_ID

#define PRODUCT_ID   0xFD

Definition at line 24 of file EMC1413.c.

◆ STATUS_REG

#define STATUS_REG   0x02

Definition at line 36 of file EMC1413.c.

◆ THERM_LIMIT

#define THERM_LIMIT   0X37

Definition at line 59 of file EMC1413.c.

◆ THERM_LIMIT_EXT_DIODE1

#define THERM_LIMIT_EXT_DIODE1   0X19

Definition at line 60 of file EMC1413.c.

◆ THERM_LIMIT_EXT_DIODE2

#define THERM_LIMIT_EXT_DIODE2   0X1A

Definition at line 61 of file EMC1413.c.

◆ THERM_LIMIT_EXT_DIODE3

#define THERM_LIMIT_EXT_DIODE3   0X30

Definition at line 62 of file EMC1413.c.

◆ THERM_LIMIT_HYSTERESIS

#define THERM_LIMIT_HYSTERESIS   0X21

Definition at line 64 of file EMC1413.c.

◆ THERM_LIMIT_INT_DIODE

#define THERM_LIMIT_INT_DIODE   0X20

Definition at line 63 of file EMC1413.c.

◆ THERM_LIMIT_STATUS_REG

#define THERM_LIMIT_STATUS_REG   0x37

Definition at line 69 of file EMC1413.c.