UT for adt7481

This commit is contained in:
swateeshrivastava
2019-02-15 12:46:31 +05:30
parent 276df6fe8b
commit 642c8ccca3
6 changed files with 1188 additions and 6 deletions

View File

@@ -167,5 +167,17 @@ ReturnStatus adt7481_get_therm_hysteresis(const I2C_Dev *i2c_dev,
int8_t *tempHysteresisValue);
ReturnStatus adt7481_set_therm_hysteresis(const I2C_Dev *i2c_dev,
int8_t tempHysteresisValue);
ReturnStatus adt7481_set_remote1_temp_therm_limit(const I2C_Dev *i2c_dev,
int8_t tempLimitValue);
ReturnStatus adt7481_set_remote1_temp_high_limit(const I2C_Dev *i2c_dev,
int8_t tempLimitValue);
ReturnStatus adt7481_set_remote1_temp_low_limit(const I2C_Dev *i2c_dev,
int8_t tempLimitValue);
ReturnStatus adt7481_get_remote1_temp_therm_limit(const I2C_Dev *i2c_dev,
int8_t *tempLimitValue);
ReturnStatus adt7481_get_remote1_temp_high_limit(const I2C_Dev *i2c_dev,
int8_t *tempLimitValue);
ReturnStatus adt7481_get_remote1_temp_low_limit(const I2C_Dev *i2c_dev,
int8_t *tempLimitValue);
#endif /* ADT7481_H_ */

View File

@@ -245,11 +245,11 @@ ePostCode adt7481_probe(const I2C_Dev *i2c_dev, POSTData *postData)
} else if ((devId == TEMP_ADT7481_DEV_ID) &&
(manfId == TEMP_ADT7481_MANF_ID)) {
postcode = POST_DEV_FOUND;
post_update_POSTData(postData, i2c_dev->bus, i2c_dev->slave_addr,
manfId, devId);
} else {
postcode = POST_DEV_ID_MISMATCH;
}
post_update_POSTData(postData, i2c_dev->bus, i2c_dev->slave_addr, manfId,
devId);
return postcode;
}
@@ -1122,7 +1122,7 @@ ReturnStatus adt7481_set_remote1_temp_offset(const I2C_Dev *i2c_dev,
int16_t tempOffsetValue)
{
ReturnStatus status = RETURN_NOTOK;
uint8_t regValue = 0x0000;
uint16_t regValue = 0x0000;
/* Converting Temp limit into the register value */
regValue = TEMP_TO_REG_U16(tempOffsetValue);
@@ -1132,7 +1132,7 @@ ReturnStatus adt7481_set_remote1_temp_offset(const I2C_Dev *i2c_dev,
(uint8_t)regValue);
if (status == RETURN_OK) {
/* Write MSB data */
status = adt7481_raw_write(i2c_dev, ADT7481_REG_W_REMOTE1_OFFSET_L,
status = adt7481_raw_write(i2c_dev, ADT7481_REG_W_REMOTE1_OFFSET_H,
(uint8_t)(regValue >> 8));
}
return status;
@@ -1162,7 +1162,7 @@ ReturnStatus adt7481_get_remote2_temp_offset(const I2C_Dev *i2c_dev,
tempOffsetValue = NULL;
} else {
/* Read MSB data */
status = adt7481_raw_read(i2c_dev, ADT7481_REG_R_REMOTE2_OFFSET_L,
status = adt7481_raw_read(i2c_dev, ADT7481_REG_R_REMOTE2_OFFSET_H,
&hRegValue);
if (status != RETURN_OK) {
tempOffsetValue = NULL;
@@ -1188,7 +1188,7 @@ ReturnStatus adt7481_set_remote2_temp_offset(const I2C_Dev *i2c_dev,
int8_t tempOffsetValue)
{
ReturnStatus status = RETURN_NOTOK;
uint8_t regValue = 0x0000;
uint16_t regValue = 0x0000;
/* Converting Temp limit into the register value */
regValue = TEMP_TO_REG_U16(tempOffsetValue);

View File

@@ -203,6 +203,9 @@ $(PATHB)Test_led$(TARGET_EXTENSION): $(STD_FILES) $(TEST_LED_SRC)
TEST_OCMP_LED_SRC=$(OCWARE_ROOT)/src/devices/ocmp_wrappers/ocmp_led.c $(OCWARE_ROOT)/src/devices/led.c $(OCWARE_ROOT)/src/devices/sx1509.c $(OCWARE_ROOT)/src/devices/i2cbus.c fake/fake_GPIO.c fake/fake_I2C.c fake/fake_ThreadedISR.c fake/fake_SX1509_register.c fake/fake_led.c stub/stub_GateMutex.c $(OCWARE_ROOT)/platform/oc-sdr/cfg/OC_CONNECT_LED.c
$(PATHB)Test_ocmp_led$(TARGET_EXTENSION): $(STD_FILES) $(TEST_OCMP_LED_SRC)
TEST_ADT7481_SRC=$(OCWARE_ROOT)/src/devices/adt7481.c $(OCWARE_ROOT)/src/devices/i2cbus.c fake/fake_GPIO.c fake/fake_I2C.c fake/fake_ThreadedISR.c fake/fake_adt7481.c stub/stub_GateMutex.c $(OCWARE_ROOT)/src/post/post_util.c $(OCWARE_ROOT)/platform/oc-sdr/cfg/OC_CONNECT_SDR.c
$(PATHB)Test_adt7481$(TARGET_EXTENSION): $(STD_FILES) $(TEST_ADT7481_SRC)
$(PATHB)%$(TARGET_EXTENSION):
$(C_COMPILER) $(CFLAGS) $(INC_DIRS) $(SYMBOLS) $^ -o $@
$(COV_CMDS)

View File

@@ -0,0 +1,66 @@
/**
* Copyright (c) 2017-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
#include "include/test_adt7481.h"
OcGpio_Port s_fake_io_port = {
.fn_table = &FakeGpio_fnTable,
.object_data = &(FakeGpio_Obj){},
};
const I2C_Dev adt_invalid_dev = {
.bus = 7,
.slave_addr = 0x52,
};
const I2C_Dev adt_invalid_bus = {
.bus = 3,
.slave_addr = 0x2F,
};
uint8_t ADT7481_regs[] = {
[ADT7481_REG_LOCAL_TEMP_R] = 0x00,
[ADT7481_REG_REMOTE_1_TEMP_HIGH_BYTE_R] = 0x00,
[ADT7481_REG_STATUS_1_R] = 0x00,
[ADT7481_REG_CONFIGURATION_1_R] = 0x00,
[ADT7481_REG_COVERSION_RATE_CHANNEL_SEL_R] = 0x00,
[ADT7481_REG_LOCAL_TEMP_HIGH_LIMIT_R] = 0x00,
[ADT7481_REG_LOCAL_TEMP_LOW_LIMIT_R] = 0x00,
[ADT7481_REG_REMOTE_1_TEMP_HIGH_LIMIT_R] = 0x00,
[ADT7481_REG_REMOTE_1_TEMP_LOW_LIMIT_R] = 0x00,
[ADT7481_REG_CONFIGURATION_1_W] = 0x00,
[ADT7481_REG_COVERSION_RATE_CHANNEL_SEL_W] = 0x00,
[ADT7481_REG_LOCAL_TEMP_HIGH_LIMIT_W] = 0x00,
[ADT7481_REG_LOCAL_TEMP_LOW_LIMIT_W] = 0x00,
[ADT7481_REG_REMOTE_1_TEMP_HIGH_LIMIT_W] = 0x00,
[ADT7481_REG_REMOTE_1_TEMP_LOW_LIMIT_W] = 0x00,
[ADT7481_REG_ONE_SHOT_W] = 0x00,
[ADT7481_REG_REMOTE_1_TEMP_LOW_BYTE_R] = 0x00,
[ADT7481_REG_REMOTE_1_TEMP_OFFSET_HIGH_BYTE_R] = 0x00,
[ADT7481_REG_REMOTE_1_TEMP_OFFSET_LOW_BYTE_R] = 0x00,
[ADT7481_REG_REMOTE_1_TEMP_HIGH_LIMIT_LOW_BYTE_R] = 0x00,
[ADT7481_REG_REMOTE_1_TEMP_LOW_LIMIT_LOW_BYTE_R] = 0x00,
[ADT7481_REG_REMOTE_1_THERM_LIMIT_R] = 0x00,
[ADT7481_REG_LOCAL_THERM_LIMIT_R] = 0x00,
[ADT7481_REG_THERM_HYSTERESIS_R] = 0x00,
[ADT7481_REG_CONSECUTIVE_ALERT_R] = 0x00,
[ADT7481_REG_STATUS_2_R] = 0x00,
[ADT7481_REG_CONFIGURATION_2_R] = 0x00,
[ADT7481_REG_REMOTE_2_TEMP_HIGH_BYTE_R] = 0x00,
[ADT7481_REG_REMOTE_2_TEMP_HIGH_LIMIT_R] = 0x00,
[ADT7481_REG_REMOTE_2_TEMP_LOW_LIMIT_R] = 0x00,
[ADT7481_REG_REMOTE_2_TEMP_LOW_BYTE_R] = 0x00,
[ADT7481_REG_REMOTE_2_TEMP_OFFSET_HIGH_BYTE_R] = 0x00,
[ADT7481_REG_REMOTE_2_TEMP_OFFSET_LOW_BYTE_R] = 0x00,
[ADT7481_REG_REMOTE_2_TEMP_HIGH_LIMIT_LOW_BYTE_R] = 0x00,
[ADT7481_REG_REMOTE_2_TEMP_LOW_LIMIT_LOW_BYTE_R] = 0x00,
[ADT7481_REG_REMOTE_2_THERM_LIMIT_R] = 0x00,
[ADT7481_REG_DEVICE_ID_R] = 0x00,
[ADT7481_REG_MAN_ID_R] = 0x00,
[ADT7481_REG_END] = 0x00,
};

View File

@@ -0,0 +1,100 @@
/**
* Copyright (c) 2017-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
#ifndef _TEST_ADT7481_H
#define _TEST_ADT7481_H
#include "fake/fake_GPIO.h"
#include "fake/fake_I2C.h"
#include "fake/fake_ThreadedISR.h"
#include "inc/devices/adt7481.h"
#include <stdbool.h>
#include <string.h>
#include "unity.h"
#define ADT7481_CONFIG1_SET_VALUE 0x59
#define ADT7481_CONFIG1_VALUE 0x58
#define ADT7481_COVERSION_RATE_CHANNEL_SEL 0x61
#define ADT7481_DEFAULT_VAL 0xFF
#define ADT7481_INVALID_DEV_ID 0x80
#define ADT7481_INVALID_MANF_ID 0x40
#define ADT7481_LOCAL_TEMP_R_VAL 0x63
#define ADT7481_REMOTE_1_TEMP_HIGH_BYTE_R_VAL 0x54
#define ADT7481_REMOTE_1_TEMP_LOW_BYTE_R_VAL 0x65
#define ADT7481_REMOTE_2_TEMP_HIGH_BYTE_R_VAL 0x73
#define ADT7481_REMOTE_2_TEMP_LOW_BYTE_R_VAL 0x67
#define ADT7481_SET_COVERSION_RATE_CHANNEL_SEL 0x62
#define ADT7481_SET_LOCAL_TEMP_LIMIT1 -63
#define ADT7481_SET_LOCAL_TEMP_LIMIT2 -62
#define ADT7481_SET_LOCAL_TEMP_LIMIT3 -61
#define ADT7481_SET_LOCAL_TEMP_LIMIT4 -60
#define ADT7481_STATUS_1_R_VAL 0x63
#define ADT7481_STATUS_2_R_VAL 0x64
#define ADT7481_TEMP_LIMIT1 0x41
#define ADT7481_TEMP_LIMIT2 0x42
#define ADT7481_TEMP_LIMIT3 0x43
#define ADT7481_TEMP_LIMIT4 0x44
#define ADT7481_REMOTE_TEMP_LIMIT 0x62
#define ADT7481_REMOTE_1_TEMP_HIGH_LIMIT_LOW_BYTE_R_VAl 0x1A
#define ADT7481_REMOTE_1_TEMP_HIGH_LIMIT_R_VAL 0x50
#define ADT7481_REMOTE_1_THER_LIMIT_R_VAL 0x85
#define ADT7481_REMOTE_1_TEMP_LOW_LIMIT_LOW_BYTE_R_VAL 0x67
#define ADT7481_REMOTE_1_TEMP_LOW_LIMIT_R_VAL 0x89
#define ADT7481_REMOTE_1_TEMP_OFFSET_HIGH_BYTE_R 0x70
#define ADT7481_REMOTE_1_TEMP_OFFSET_LOW_BYTE_R 0x67
#define ADT7481_REMOTE_2_TEMP_LIMIT 0x90
#define CONF_TEMP_ADT7481_INVALID_PARAM 4
#define POST_DATA_NULL 0x00
#define REG_U8_TO_TEMP(y) (y - 64)
#define REG_U16_TO_TEMP(y) (y - 64)
#define TEMP_TO_REG_U8(x) (x + 64)
#define TEMP_TO_REG_U16(x) ((x + 64) << 8)
typedef enum ADT7481Regs {
ADT7481_REG_LOCAL_TEMP_R = 0x00,
ADT7481_REG_REMOTE_1_TEMP_HIGH_BYTE_R,
ADT7481_REG_STATUS_1_R,
ADT7481_REG_CONFIGURATION_1_R,
ADT7481_REG_COVERSION_RATE_CHANNEL_SEL_R,
ADT7481_REG_LOCAL_TEMP_HIGH_LIMIT_R,
ADT7481_REG_LOCAL_TEMP_LOW_LIMIT_R,
ADT7481_REG_REMOTE_1_TEMP_HIGH_LIMIT_R,
ADT7481_REG_REMOTE_1_TEMP_LOW_LIMIT_R,
ADT7481_REG_CONFIGURATION_1_W,
ADT7481_REG_COVERSION_RATE_CHANNEL_SEL_W,
ADT7481_REG_LOCAL_TEMP_HIGH_LIMIT_W,
ADT7481_REG_LOCAL_TEMP_LOW_LIMIT_W,
ADT7481_REG_REMOTE_1_TEMP_HIGH_LIMIT_W,
ADT7481_REG_REMOTE_1_TEMP_LOW_LIMIT_W,
ADT7481_REG_ONE_SHOT_W,
ADT7481_REG_REMOTE_1_TEMP_LOW_BYTE_R,
ADT7481_REG_REMOTE_1_TEMP_OFFSET_HIGH_BYTE_R,
ADT7481_REG_REMOTE_1_TEMP_OFFSET_LOW_BYTE_R,
ADT7481_REG_REMOTE_1_TEMP_HIGH_LIMIT_LOW_BYTE_R,
ADT7481_REG_REMOTE_1_TEMP_LOW_LIMIT_LOW_BYTE_R,
ADT7481_REG_REMOTE_1_THERM_LIMIT_R = 0x19,
ADT7481_REG_LOCAL_THERM_LIMIT_R = 0x20,
ADT7481_REG_THERM_HYSTERESIS_R,
ADT7481_REG_CONSECUTIVE_ALERT_R,
ADT7481_REG_STATUS_2_R,
ADT7481_REG_CONFIGURATION_2_R,
ADT7481_REG_REMOTE_2_TEMP_HIGH_BYTE_R = 0x30,
ADT7481_REG_REMOTE_2_TEMP_HIGH_LIMIT_R,
ADT7481_REG_REMOTE_2_TEMP_LOW_LIMIT_R,
ADT7481_REG_REMOTE_2_TEMP_LOW_BYTE_R,
ADT7481_REG_REMOTE_2_TEMP_OFFSET_HIGH_BYTE_R,
ADT7481_REG_REMOTE_2_TEMP_OFFSET_LOW_BYTE_R,
ADT7481_REG_REMOTE_2_TEMP_HIGH_LIMIT_LOW_BYTE_R,
ADT7481_REG_REMOTE_2_TEMP_LOW_LIMIT_LOW_BYTE_R,
ADT7481_REG_REMOTE_2_THERM_LIMIT_R = 0x39,
ADT7481_REG_DEVICE_ID_R = 0x3D,
ADT7481_REG_MAN_ID_R,
ADT7481_REG_END = 0xFF,
} ADT7481Regs;
#endif

File diff suppressed because it is too large Load Diff