#ifndef __SENSOR_TBL_H__
#define __SENSOR_TBL_H__

#include <stdint.h>

typedef enum {
	NotMonitorOnStandby = 0,
	MonitorOnStandby = 1,
	
}monit_sta_t;

/**
 ** @brief HAL read/write/init function type definition
 ***/
typedef int (*sensor_init_hndlr_t) (void);
typedef int (*sensor_write_hndlr_t) (void);
typedef int (*sensor_read_hndlr_t) (uint8_t *reading);

/**
 ** @brief HAL Device Table
 ***/
typedef struct
{
    uint8_t         sensor_number;
	uint8_t			poweron_delay;	//scan this sensor after poweron_delay seconds, when bmc power on.
	uint8_t			reset_delay;	//scan this sensor after reset_delay senconds, when cpu reset.
	uint8_t			monitor_interval;	//Monitoring this sensor every monitor_interval seconds.
	monit_sta_t  	monitor_state;		//whether monitoring this sensor when standby.			
    sensor_read_hndlr_t 	device_read;
    sensor_write_hndlr_t 	device_write;
    sensor_init_hndlr_t 	device_init;
} sensor_tbl_t;

#endif /* __SENSOR_TBL_H__ */
