596 (int16_t *)&delta_raw, (
float *)&delta_s,
597 (int16_t *)&cold_raw, (
float *)&cold_s);
driver mcp9600 interrupt test header file
uint8_t mcp9600_set_alert_hysteresis(mcp9600_handle_t *handle, mcp9600_alert_t alert, uint8_t reg)
set the alert hysteresis
mcp9600_address_t
mcp9600 address enumeration definition
struct mcp9600_info_s mcp9600_info_t
mcp9600 information structure definition
mcp9600_thermocouple_type_t
mcp9600 thermocouple type enumeration definition
uint8_t mcp9600_set_active_level(mcp9600_handle_t *handle, mcp9600_alert_t alert, mcp9600_active_level_t level)
set the active level
uint8_t mcp9600_set_detect_edge(mcp9600_handle_t *handle, mcp9600_alert_t alert, mcp9600_detect_edge_t edge)
set the detect edge
uint8_t mcp9600_set_cold_junction_resolution(mcp9600_handle_t *handle, mcp9600_cold_junction_resolution_t resolution)
set the cold junction resolution
uint8_t mcp9600_clear_interrupt(mcp9600_handle_t *handle, mcp9600_alert_t alert)
clear the interrupt flag
uint8_t mcp9600_set_alert_limit(mcp9600_handle_t *handle, mcp9600_alert_t alert, int16_t reg)
set the alert limit
uint8_t mcp9600_set_thermocouple_type(mcp9600_handle_t *handle, mcp9600_thermocouple_type_t type)
set the thermocouple type
uint8_t mcp9600_stop_continuous_read(mcp9600_handle_t *handle)
stop reading data
uint8_t mcp9600_set_mode(mcp9600_handle_t *handle, mcp9600_mode_t mode)
set the mode
uint8_t mcp9600_start_continuous_read(mcp9600_handle_t *handle)
start reading data
struct mcp9600_handle_s mcp9600_handle_t
mcp9600 handle structure definition
uint8_t mcp9600_alert_limit_convert_to_register(mcp9600_handle_t *handle, float c, int16_t *reg)
convert the alert limit to the register raw data
uint8_t mcp9600_alert_hysteresis_convert_to_register(mcp9600_handle_t *handle, float c, uint8_t *reg)
convert the alert hysteresis to the register raw data
uint8_t mcp9600_set_alert_output(mcp9600_handle_t *handle, mcp9600_alert_t alert, mcp9600_bool_t enable)
set the alert output
uint8_t mcp9600_set_addr_pin(mcp9600_handle_t *handle, mcp9600_address_t addr_pin)
set the iic address pin
uint8_t mcp9600_set_filter_coefficient(mcp9600_handle_t *handle, mcp9600_filter_coefficient_t coefficient)
set the filter coefficient
uint8_t mcp9600_set_temperature_maintain_detect(mcp9600_handle_t *handle, mcp9600_alert_t alert, mcp9600_temperature_maintain_detect_t maintain_detect)
set the temperature maintain detect
uint8_t mcp9600_set_burst_mode_sample(mcp9600_handle_t *handle, mcp9600_burst_mode_sample_t sample)
set the burst mode sample
uint8_t mcp9600_info(mcp9600_info_t *info)
get chip information
uint8_t mcp9600_set_interrupt_mode(mcp9600_handle_t *handle, mcp9600_alert_t alert, mcp9600_interrupt_mode_t mode)
set the interrupt mode
uint8_t mcp9600_deinit(mcp9600_handle_t *handle)
close the chip
uint8_t mcp9600_set_adc_resolution(mcp9600_handle_t *handle, mcp9600_adc_resolution_t resolution)
set the adc resolution
uint8_t mcp9600_continuous_read(mcp9600_handle_t *handle, int16_t *hot_raw, float *hot_s, int16_t *delta_raw, float *delta_s, int16_t *cold_raw, float *cold_s)
read data continuously
uint8_t mcp9600_init(mcp9600_handle_t *handle)
initialize the chip
@ MCP9600_ACTIVE_LEVEL_LOW
@ MCP9600_COLD_JUNCTION_RESOLUTION_0P0625
@ MCP9600_FILTER_COEFFICIENT_0
@ MCP9600_ADC_RESOLUTION_18_BIT
@ MCP9600_BURST_MODE_SAMPLE_1
@ MCP9600_INTERRUPT_MODE_COMPARATOR
@ MCP9600_TEMPERATURE_MAINTAIN_DETECT_HOT_JUNCTION
@ MCP9600_DETECT_EDGE_FALLING
uint8_t mcp9600_interface_iic_deinit(void)
interface iic bus deinit
uint8_t mcp9600_interface_iic_write_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus write command
void mcp9600_interface_debug_print(const char *const fmt,...)
interface print format data
void mcp9600_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t mcp9600_interface_iic_init(void)
interface iic bus init
uint8_t mcp9600_interface_iic_read_cmd(uint8_t addr, uint8_t *buf, uint16_t len)
interface iic bus read command
#define DRIVER_MCP9600_LINK_IIC_DELAY_MS(HANDLE, FUC)
link delay_ms function
#define DRIVER_MCP9600_LINK_INIT(HANDLE, STRUCTURE)
initialize mcp9600_handle_t structure
#define DRIVER_MCP9600_LINK_IIC_INIT(HANDLE, FUC)
link iic_init function
#define DRIVER_MCP9600_LINK_IIC_WRITE_COMMAND(HANDLE, FUC)
link iic_write_cmd function
#define DRIVER_MCP9600_LINK_IIC_DEINIT(HANDLE, FUC)
link iic_deinit function
#define DRIVER_MCP9600_LINK_IIC_READ_COMMAND(HANDLE, FUC)
link iic_read_cmd function
#define DRIVER_MCP9600_LINK_DEBUG_PRINT(HANDLE, FUC)
link debug_print function
uint8_t mcp9600_interrupt_test(mcp9600_address_t addr_pin, mcp9600_thermocouple_type_t type)
interrupt test
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v