mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-20 16:25:18 +00:00
UT for led device
This commit is contained in:
@@ -23,6 +23,8 @@
|
|||||||
* MACRO DEFINITIONS
|
* MACRO DEFINITIONS
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
#define LED_OFF 0xFF
|
#define LED_OFF 0xFF
|
||||||
|
#define LED_RED 0xAA
|
||||||
|
#define LED_GREEN 0x55
|
||||||
|
|
||||||
/* ClkX = fOSC/(2^(RegMisc[6:4]-1); 0x50-125kHz, 0x40-250KHz, 0x30-500KHz,
|
/* ClkX = fOSC/(2^(RegMisc[6:4]-1); 0x50-125kHz, 0x40-250KHz, 0x30-500KHz,
|
||||||
* 0x20-1MHz, 0x10-2MHz; Fading - Linear */
|
* 0x20-1MHz, 0x10-2MHz; Fading - Linear */
|
||||||
@@ -84,5 +86,8 @@ ReturnStatus hci_led_system_boot(const HciLedCfg *driver);
|
|||||||
ReturnStatus led_init(const HciLedCfg *driver);
|
ReturnStatus led_init(const HciLedCfg *driver);
|
||||||
ePostCode led_probe(const HciLedCfg *driver, POSTData *postData);
|
ePostCode led_probe(const HciLedCfg *driver, POSTData *postData);
|
||||||
void led_configure(HciLedCfg *driver);
|
void led_configure(HciLedCfg *driver);
|
||||||
|
ReturnStatus hci_led_backhaul_failure(const HciLedCfg *driver);
|
||||||
|
ReturnStatus hci_led_radio_failure(const HciLedCfg *driver);
|
||||||
|
ReturnStatus hci_led_system_failure(const HciLedCfg *driver);
|
||||||
|
ReturnStatus hci_led_system_running(const HciLedCfg *driver);
|
||||||
#endif /* INA226_H_ */
|
#endif /* INA226_H_ */
|
||||||
|
|||||||
@@ -189,15 +189,18 @@ static const hciLedData ledData[HCI_LED_TOTAL_NOS] =
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
ReturnStatus hci_led_turnon_green(const HciLedCfg *driver)
|
ReturnStatus hci_led_turnon_green(const HciLedCfg *driver)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_OK;
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/* Turn On Left side Green LEDs */
|
/* Turn On Left side Green LEDs */
|
||||||
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_LEFT],
|
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_LEFT],
|
||||||
SX1509_REG_AB, 0x55, 0x55);
|
SX1509_REG_AB, LED_GREEN, LED_GREEN);
|
||||||
if (status == RETURN_OK) {
|
if (status == RETURN_OK) {
|
||||||
/* Turn On Right side Green LEDs */
|
/* Turn On Right side Green LEDs */
|
||||||
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_RIGHT],
|
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_RIGHT],
|
||||||
SX1509_REG_AB, 0x55, 0x55);
|
SX1509_REG_AB, LED_GREEN, 0x55);
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -214,15 +217,18 @@ ReturnStatus hci_led_turnon_green(const HciLedCfg *driver)
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
ReturnStatus hci_led_turnon_red(const HciLedCfg *driver)
|
ReturnStatus hci_led_turnon_red(const HciLedCfg *driver)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_OK;
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/* Turn On Left side Red LEDs */
|
/* Turn On Left side Red LEDs */
|
||||||
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_LEFT],
|
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_LEFT],
|
||||||
SX1509_REG_AB, 0xAA, 0xAA);
|
SX1509_REG_AB, LED_RED, LED_RED);
|
||||||
if (status == RETURN_OK) {
|
if (status == RETURN_OK) {
|
||||||
/* Turn On Right side Red LEDs */
|
/* Turn On Right side Red LEDs */
|
||||||
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_RIGHT],
|
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_RIGHT],
|
||||||
SX1509_REG_AB, 0xAA, 0xAA);
|
SX1509_REG_AB, LED_RED, LED_RED);
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -239,8 +245,11 @@ ReturnStatus hci_led_turnon_red(const HciLedCfg *driver)
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
ReturnStatus hci_led_turnoff_all(const HciLedCfg *driver)
|
ReturnStatus hci_led_turnoff_all(const HciLedCfg *driver)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_OK;
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/* Turn Off Left side LEDs */
|
/* Turn Off Left side LEDs */
|
||||||
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_LEFT],
|
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_LEFT],
|
||||||
SX1509_REG_AB, LED_OFF, LED_OFF);
|
SX1509_REG_AB, LED_OFF, LED_OFF);
|
||||||
@@ -264,9 +273,12 @@ ReturnStatus hci_led_turnoff_all(const HciLedCfg *driver)
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
static ReturnStatus hci_led_configure_sx1509_onofftime(const I2C_Dev *ioexpDev)
|
static ReturnStatus hci_led_configure_sx1509_onofftime(const I2C_Dev *ioexpDev)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_OK;
|
|
||||||
uint8_t index;
|
uint8_t index;
|
||||||
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!ioexpDev) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
for (index = 0; index < 14; index++) {
|
for (index = 0; index < 14; index++) {
|
||||||
/* Configure RegTOn time of LEDs */
|
/* Configure RegTOn time of LEDs */
|
||||||
status = ioexp_led_set_on_time(ioexpDev, index, REG_T_ON_VALUE);
|
status = ioexp_led_set_on_time(ioexpDev, index, REG_T_ON_VALUE);
|
||||||
@@ -282,7 +294,54 @@ static ReturnStatus hci_led_configure_sx1509_onofftime(const I2C_Dev *ioexpDev)
|
|||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
/*****************************************************************************
|
||||||
|
** FUNCTION NAME : hci_led_configure_onofftime_left
|
||||||
|
**
|
||||||
|
** DESCRIPTION : Configure On and Off time of left LEDs on the LED
|
||||||
|
*board.
|
||||||
|
**
|
||||||
|
** ARGUMENTS : None
|
||||||
|
**
|
||||||
|
** RETURN TYPE : Success or Failure
|
||||||
|
**
|
||||||
|
*****************************************************************************/
|
||||||
|
static ReturnStatus hci_led_configure_onofftime_left(const HciLedCfg *driver)
|
||||||
|
{
|
||||||
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
/* Configure LED driver parameters(RegTOn, RegOff) for Left side LEDs */
|
||||||
|
status = hci_led_configure_sx1509_onofftime(
|
||||||
|
&driver->sx1509_dev[HCI_LED_DRIVER_LEFT]);
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
/*****************************************************************************
|
||||||
|
** FUNCTION NAME : hci_led_configure_onofftime_right
|
||||||
|
**
|
||||||
|
** DESCRIPTION : Configure On and Off time of right LEDs on the LED
|
||||||
|
*board.
|
||||||
|
**
|
||||||
|
** ARGUMENTS : None
|
||||||
|
**
|
||||||
|
** RETURN TYPE : Success or Failure
|
||||||
|
**
|
||||||
|
*****************************************************************************/
|
||||||
|
static ReturnStatus hci_led_configure_onofftime_right(const HciLedCfg *driver)
|
||||||
|
{
|
||||||
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
/* Configure LED driver parameters(RegTOn, RegOff) for Left side LEDs */
|
||||||
|
status = hci_led_configure_sx1509_onofftime(
|
||||||
|
&driver->sx1509_dev[HCI_LED_DRIVER_RIGHT]);
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
** FUNCTION NAME : hci_led_configure_onofftime
|
** FUNCTION NAME : hci_led_configure_onofftime
|
||||||
**
|
**
|
||||||
@@ -295,16 +354,17 @@ static ReturnStatus hci_led_configure_sx1509_onofftime(const I2C_Dev *ioexpDev)
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
static ReturnStatus hci_led_configure_onofftime(const HciLedCfg *driver)
|
static ReturnStatus hci_led_configure_onofftime(const HciLedCfg *driver)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_OK;
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/* Configure LED driver parameters(RegTOn, RegOff) for Left side LEDs */
|
/* Configure LED driver parameters(RegTOn, RegOff) for Left side LEDs */
|
||||||
status = hci_led_configure_sx1509_onofftime(
|
status = hci_led_configure_onofftime_left(driver);
|
||||||
&driver->sx1509_dev[HCI_LED_DRIVER_LEFT]);
|
|
||||||
if (status == RETURN_OK) {
|
if (status == RETURN_OK) {
|
||||||
/* Configure LED driver parameters(RegTOn, RegOff) for Right side LEDs
|
/* Configure LED driver parameters(RegTOn, RegOff) for Right side LEDs
|
||||||
*/
|
*/
|
||||||
hci_led_configure_sx1509_onofftime(
|
status = hci_led_configure_onofftime_right(driver);
|
||||||
&driver->sx1509_dev[HCI_LED_DRIVER_RIGHT]);
|
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -322,10 +382,13 @@ static ReturnStatus hci_led_configure_onofftime(const HciLedCfg *driver)
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
ReturnStatus hci_led_system_boot(const HciLedCfg *driver)
|
ReturnStatus hci_led_system_boot(const HciLedCfg *driver)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_OK;
|
|
||||||
uint8_t index = 0;
|
uint8_t index = 0;
|
||||||
uint8_t regValue = 0;
|
uint8_t regValue = 0;
|
||||||
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/* Turn off all LEDs */
|
/* Turn off all LEDs */
|
||||||
status = hci_led_turnoff_all(driver);
|
status = hci_led_turnoff_all(driver);
|
||||||
if (status != RETURN_OK) {
|
if (status != RETURN_OK) {
|
||||||
@@ -364,8 +427,11 @@ ReturnStatus hci_led_system_boot(const HciLedCfg *driver)
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
ReturnStatus hci_led_system_running(const HciLedCfg *driver)
|
ReturnStatus hci_led_system_running(const HciLedCfg *driver)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_OK;
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/* Turn off all LEDs */
|
/* Turn off all LEDs */
|
||||||
status = hci_led_turnoff_all(driver);
|
status = hci_led_turnoff_all(driver);
|
||||||
if (status != RETURN_OK) {
|
if (status != RETURN_OK) {
|
||||||
@@ -397,8 +463,11 @@ ReturnStatus hci_led_system_running(const HciLedCfg *driver)
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
ReturnStatus hci_led_system_failure(const HciLedCfg *driver)
|
ReturnStatus hci_led_system_failure(const HciLedCfg *driver)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_OK;
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/* Turn off all LEDs */
|
/* Turn off all LEDs */
|
||||||
status = hci_led_turnoff_all(driver);
|
status = hci_led_turnoff_all(driver);
|
||||||
if (status != RETURN_OK) {
|
if (status != RETURN_OK) {
|
||||||
@@ -430,14 +499,21 @@ ReturnStatus hci_led_system_failure(const HciLedCfg *driver)
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
ReturnStatus hci_led_radio_failure(const HciLedCfg *driver)
|
ReturnStatus hci_led_radio_failure(const HciLedCfg *driver)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_OK;
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/* Turn off all LEDs */
|
/* Turn off all LEDs */
|
||||||
status = hci_led_turnoff_all(driver);
|
status = hci_led_turnoff_all(driver);
|
||||||
|
/* Enable blink for the left LEDs */
|
||||||
|
if (status == RETURN_OK) {
|
||||||
|
status = hci_led_configure_onofftime_left(driver);
|
||||||
|
}
|
||||||
if (status == RETURN_OK) {
|
if (status == RETURN_OK) {
|
||||||
/* Turn On Left side Red LEDs */
|
/* Turn On Left side Red LEDs */
|
||||||
status =
|
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_LEFT],
|
||||||
ioexp_led_set_data(HCI_LED_DRIVER_LEFT, SX1509_REG_AB, 0xAA, 0xAA);
|
SX1509_REG_AB, LED_RED, LED_RED);
|
||||||
}
|
}
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
@@ -456,14 +532,21 @@ ReturnStatus hci_led_radio_failure(const HciLedCfg *driver)
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
ReturnStatus hci_led_backhaul_failure(const HciLedCfg *driver)
|
ReturnStatus hci_led_backhaul_failure(const HciLedCfg *driver)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_OK;
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/* Turn off all LEDs */
|
/* Turn off all LEDs */
|
||||||
status = hci_led_turnoff_all(driver);
|
status = hci_led_turnoff_all(driver);
|
||||||
|
/* Enable blink for all Right LEDs */
|
||||||
|
if (status == RETURN_OK) {
|
||||||
|
status = hci_led_configure_onofftime_right(driver);
|
||||||
|
}
|
||||||
if (status == RETURN_OK) {
|
if (status == RETURN_OK) {
|
||||||
/* Turn On Right side Red LEDs */
|
/* Turn On Right side Red LEDs */
|
||||||
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_RIGHT],
|
status = ioexp_led_set_data(&driver->sx1509_dev[HCI_LED_DRIVER_RIGHT],
|
||||||
SX1509_REG_AB, 0xAA, 0xAA);
|
SX1509_REG_AB, LED_RED, LED_RED);
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -481,15 +564,18 @@ ReturnStatus hci_led_backhaul_failure(const HciLedCfg *driver)
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
ReturnStatus led_init(const HciLedCfg *driver)
|
ReturnStatus led_init(const HciLedCfg *driver)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_OK;
|
|
||||||
uint8_t index;
|
uint8_t index;
|
||||||
|
ReturnStatus status = RETURN_NOTOK;
|
||||||
|
|
||||||
|
if (!driver) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/* Steps required to use the LED driver
|
/* Steps required to use the LED driver
|
||||||
- Disable input buffer (RegInputDisable)
|
- Disable input buffer (RegInputDisable)
|
||||||
- Disable pull-up (RegPullUp)
|
- Disable pull-up (RegPullUp)
|
||||||
- Enable open drain (RegOpenDrain)
|
- Enable open drain (RegOpenDrain)
|
||||||
- Set direction to output (RegDir) by default RegData is set high => LED
|
- Set direction to output (RegDir) \96 by default RegData is set high =>
|
||||||
OFF
|
LED OFF
|
||||||
- Enable oscillator (RegClock)
|
- Enable oscillator (RegClock)
|
||||||
- Configure LED driver clock and mode if relevant (RegMisc)
|
- Configure LED driver clock and mode if relevant (RegMisc)
|
||||||
- Enable LED driver operation (RegLEDDriverEnable)
|
- Enable LED driver operation (RegLEDDriverEnable)
|
||||||
@@ -569,6 +655,9 @@ ReturnStatus led_init(const HciLedCfg *driver)
|
|||||||
void led_configure(HciLedCfg *driver)
|
void led_configure(HciLedCfg *driver)
|
||||||
{
|
{
|
||||||
/* Initialize IO pins */
|
/* Initialize IO pins */
|
||||||
|
if (!driver) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
OcGpio_configure(&driver->pin_ec_gpio,
|
OcGpio_configure(&driver->pin_ec_gpio,
|
||||||
OCGPIO_CFG_OUTPUT | OCGPIO_CFG_OUT_HIGH);
|
OCGPIO_CFG_OUTPUT | OCGPIO_CFG_OUT_HIGH);
|
||||||
}
|
}
|
||||||
@@ -585,9 +674,12 @@ void led_configure(HciLedCfg *driver)
|
|||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
ePostCode led_probe(const HciLedCfg *driver, POSTData *postData)
|
ePostCode led_probe(const HciLedCfg *driver, POSTData *postData)
|
||||||
{
|
{
|
||||||
ReturnStatus status = RETURN_NOTOK;
|
ReturnStatus status = POST_DEV_MISSING;
|
||||||
uint8_t regValue = 0x00;
|
uint8_t regValue = 0x00;
|
||||||
|
|
||||||
|
if (!(driver && postData)) {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
/* Read Test Register 1 of LED driver SX1509 of Left LED Module(RegTest1) */
|
/* Read Test Register 1 of LED driver SX1509 of Left LED Module(RegTest1) */
|
||||||
status = ioexp_led_read_testregister_1(
|
status = ioexp_led_read_testregister_1(
|
||||||
&driver->sx1509_dev[HCI_LED_DRIVER_LEFT], ®Value);
|
&driver->sx1509_dev[HCI_LED_DRIVER_LEFT], ®Value);
|
||||||
|
|||||||
@@ -196,6 +196,10 @@ $(PATHB)Test_ocmp_debugocgpio$(TARGET_EXTENSION): $(STD_FILES) $(TEST_OCMP_DEBUG
|
|||||||
TEST_OCMP_DATXXR5A_SRC=$(OCWARE_ROOT)/src/devices/ocmp_wrappers/ocmp_dat-xxr5a-pp.c $(OCWARE_ROOT)/src/drivers/PinGroup.c $(OCWARE_ROOT)/src/devices/i2cbus.c fake/fake_I2C.c fake/fake_ThreadedISR.c fake/fake_dat.c fake/fake_PCA9557.c $(OCWARE_ROOT)/src/helpers/memory.c stub/stub_GateMutex.c $(OCWARE_ROOT)/src/drivers/GpioPCA9557.c $(OCWARE_ROOT)/src/devices/pca9557.c $(OCWARE_ROOT)/platform/oc-sdr/cfg/OC_CONNECT_FE.c
|
TEST_OCMP_DATXXR5A_SRC=$(OCWARE_ROOT)/src/devices/ocmp_wrappers/ocmp_dat-xxr5a-pp.c $(OCWARE_ROOT)/src/drivers/PinGroup.c $(OCWARE_ROOT)/src/devices/i2cbus.c fake/fake_I2C.c fake/fake_ThreadedISR.c fake/fake_dat.c fake/fake_PCA9557.c $(OCWARE_ROOT)/src/helpers/memory.c stub/stub_GateMutex.c $(OCWARE_ROOT)/src/drivers/GpioPCA9557.c $(OCWARE_ROOT)/src/devices/pca9557.c $(OCWARE_ROOT)/platform/oc-sdr/cfg/OC_CONNECT_FE.c
|
||||||
$(PATHB)Test_ocmp_dat-xxr5a$(TARGET_EXTENSION): $(STD_FILES) $(TEST_OCMP_DATXXR5A_SRC)
|
$(PATHB)Test_ocmp_dat-xxr5a$(TARGET_EXTENSION): $(STD_FILES) $(TEST_OCMP_DATXXR5A_SRC)
|
||||||
|
|
||||||
|
|
||||||
|
TEST_LED_SRC=$(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_led$(TARGET_EXTENSION): $(STD_FILES) $(TEST_LED_SRC)
|
||||||
|
|
||||||
$(PATHB)%$(TARGET_EXTENSION):
|
$(PATHB)%$(TARGET_EXTENSION):
|
||||||
$(C_COMPILER) $(CFLAGS) $(INC_DIRS) $(SYMBOLS) $^ -o $@
|
$(C_COMPILER) $(CFLAGS) $(INC_DIRS) $(SYMBOLS) $^ -o $@
|
||||||
$(COV_CMDS)
|
$(COV_CMDS)
|
||||||
|
|||||||
38
firmware/ec/test/fake/fake_led.c
Normal file
38
firmware/ec/test/fake/fake_led.c
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
/**
|
||||||
|
* 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_led.h"
|
||||||
|
|
||||||
|
const I2C_Dev s_sx1509_left_dev = {
|
||||||
|
.bus = OC_CONNECT1_I2C8,
|
||||||
|
.slave_addr = LED_SX1509_LEFT_ADDRESS,
|
||||||
|
};
|
||||||
|
|
||||||
|
const I2C_Dev s_sx1509_right_dev = {
|
||||||
|
.bus = OC_CONNECT1_I2C8,
|
||||||
|
.slave_addr = LED_SX1509_RIGHT_ADDRESS,
|
||||||
|
};
|
||||||
|
|
||||||
|
OcGpio_Port ec_io = {
|
||||||
|
.fn_table = &FakeGpio_fnTable,
|
||||||
|
.object_data = &(FakeGpio_Obj){},
|
||||||
|
};
|
||||||
|
|
||||||
|
uint8_t SX1509_right_regs[] = {
|
||||||
|
[SX1509_REG_TEST_2] = 0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
uint8_t LED_GpioPins[] = {
|
||||||
|
[INPUT_BUFFER_DISABLE] = 0x00,
|
||||||
|
[OC_EC_HCI_LED_RESET] = 0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
uint32_t LED_GpioConfig[] = {
|
||||||
|
[INPUT_BUFFER_DISABLE] = 0x00,
|
||||||
|
[OC_EC_HCI_LED_RESET] = 0x00,
|
||||||
|
};
|
||||||
37
firmware/ec/test/include/test_led.h
Normal file
37
firmware/ec/test/include/test_led.h
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/**
|
||||||
|
* 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_LED_H
|
||||||
|
#define _TEST_LED_H
|
||||||
|
|
||||||
|
#include "fake/fake_GPIO.h"
|
||||||
|
#include "fake/fake_I2C.h"
|
||||||
|
#include "inc/devices/led.h"
|
||||||
|
#include "inc/devices/sx1509.h"
|
||||||
|
#include "include/test_sx1509.h"
|
||||||
|
#include <string.h>
|
||||||
|
#include <ti/sysbios/knl/Task.h>
|
||||||
|
#include "unity.h"
|
||||||
|
|
||||||
|
#define LED_CLOCK_VALUE 0x40
|
||||||
|
#define LED_DEFAULT_VALUE 0x00
|
||||||
|
#define LED_DRIVER_ENABLE_B_VALUE 0xFF
|
||||||
|
#define LED_INVALID_PARAM 3
|
||||||
|
#define LED_POST_DATA_NULL 0x00
|
||||||
|
#define LED_POST_DEVID 0xFF
|
||||||
|
#define LED_POST_MANID 0xFF
|
||||||
|
#define LED_REG_INPUT_DISABLE_B_VALUE 0xFF
|
||||||
|
#define LED_REG_OPEN_DRAIN_B_VALUE 0xFF
|
||||||
|
#define LED_REG_PULL_UP_B_VALUE 0x00
|
||||||
|
#define LED_SYSTEM_BOOT_DATAB 0xD5
|
||||||
|
#define INPUT_BUFFER_DISABLE 0x01
|
||||||
|
#define OC_CONNECT1_I2C8 7
|
||||||
|
#define OC_EC_HCI_LED_RESET 89
|
||||||
|
#define SX1509_SOFT_RESET_REG_VALUE_2 0x34
|
||||||
|
#define REG_T_ON_14_15_VALUE 0x00
|
||||||
|
#endif
|
||||||
512
firmware/ec/test/suites/Test_led.c
Normal file
512
firmware/ec/test/suites/Test_led.c
Normal file
@@ -0,0 +1,512 @@
|
|||||||
|
/**
|
||||||
|
* 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_led.h"
|
||||||
|
|
||||||
|
extern const I2C_Dev s_sx1509_left_dev;
|
||||||
|
extern const I2C_Dev s_sx1509_right_dev;
|
||||||
|
extern HciLedCfg led_hci_ioexp;
|
||||||
|
extern uint8_t LED_GpioPins[OC_EC_HCI_LED_RESET];
|
||||||
|
extern uint8_t SX1509_regs[SX1509_REG_TEST_2];
|
||||||
|
extern uint8_t SX1509_right_regs[SX1509_REG_TEST_2];
|
||||||
|
extern uint32_t LED_GpioConfig[OC_EC_HCI_LED_RESET];
|
||||||
|
HciLedCfg ledDriver;
|
||||||
|
/* ============================= Boilerplate ================================ */
|
||||||
|
unsigned int s_task_sleep_ticks;
|
||||||
|
|
||||||
|
xdc_Void ti_sysbios_knl_Task_sleep__E(xdc_UInt32 nticks)
|
||||||
|
{
|
||||||
|
s_task_sleep_ticks += nticks;
|
||||||
|
}
|
||||||
|
|
||||||
|
void post_update_POSTData(POSTData *pData, uint8_t I2CBus, uint8_t devAddress,
|
||||||
|
uint16_t manId, uint16_t devId)
|
||||||
|
{
|
||||||
|
pData->i2cBus = I2CBus;
|
||||||
|
pData->devAddr = devAddress;
|
||||||
|
pData->manId = manId;
|
||||||
|
pData->devId = devId;
|
||||||
|
}
|
||||||
|
|
||||||
|
void suite_setUp(void)
|
||||||
|
{
|
||||||
|
fake_I2C_init();
|
||||||
|
fake_I2C_registerDevSimple(OC_CONNECT1_I2C8, LED_SX1509_LEFT_ADDRESS,
|
||||||
|
SX1509_regs, sizeof(SX1509_regs),
|
||||||
|
sizeof(SX1509_regs[0]), sizeof(uint8_t),
|
||||||
|
FAKE_I2C_DEV_BIG_ENDIAN);
|
||||||
|
fake_I2C_registerDevSimple(OC_CONNECT1_I2C8, LED_SX1509_RIGHT_ADDRESS,
|
||||||
|
SX1509_right_regs, sizeof(SX1509_right_regs),
|
||||||
|
sizeof(SX1509_right_regs[0]), sizeof(uint8_t),
|
||||||
|
FAKE_I2C_DEV_BIG_ENDIAN);
|
||||||
|
FakeGpio_registerDevSimple(LED_GpioPins, LED_GpioConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setUp(void)
|
||||||
|
{
|
||||||
|
memset(SX1509_regs, 0, sizeof(SX1509_regs));
|
||||||
|
memset(SX1509_right_regs, 0, sizeof(SX1509_right_regs));
|
||||||
|
}
|
||||||
|
|
||||||
|
void tearDown(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void suite_tearDown(void)
|
||||||
|
{
|
||||||
|
fake_I2C_deinit(); /* This will automatically unregister devices */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ================================ Tests =================================== */
|
||||||
|
void test_hci_led_turnon_green(void)
|
||||||
|
{
|
||||||
|
HciLedCfg *invalidLedDriver = NULL;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_A] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_B] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_A] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_B] = LED_DEFAULT_VALUE;
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_OK, hci_led_turnon_green(&led_hci_ioexp));
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_GREEN, SX1509_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_GREEN, SX1509_regs[SX1509_REG_DATA_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_GREEN, SX1509_right_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_GREEN, SX1509_right_regs[SX1509_REG_DATA_B]);
|
||||||
|
|
||||||
|
/* Invalid config */
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_NOTOK, hci_led_turnon_green(invalidLedDriver));
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_hci_led_turnon_red(void)
|
||||||
|
{
|
||||||
|
HciLedCfg *invalidLedDriver = NULL;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_A] = LED_GREEN;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_B] = LED_GREEN;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_A] = LED_GREEN;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_B] = LED_GREEN;
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_OK, hci_led_turnon_red(&led_hci_ioexp));
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_regs[SX1509_REG_DATA_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_right_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_right_regs[SX1509_REG_DATA_B]);
|
||||||
|
|
||||||
|
/* Invalid config */
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_NOTOK, hci_led_turnon_red(invalidLedDriver));
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_hci_led_turnoff_all(void)
|
||||||
|
{
|
||||||
|
HciLedCfg *invalidLedDriver = NULL;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_A] = LED_RED;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_B] = LED_RED;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_A] = LED_RED;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_B] = LED_RED;
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_OK, hci_led_turnoff_all(&led_hci_ioexp));
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_OFF, SX1509_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_OFF, SX1509_regs[SX1509_REG_DATA_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_OFF, SX1509_right_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_OFF, SX1509_right_regs[SX1509_REG_DATA_B]);
|
||||||
|
|
||||||
|
/* Invalid config */
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_NOTOK, hci_led_turnoff_all(invalidLedDriver));
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_hci_led_system_boot(void)
|
||||||
|
{
|
||||||
|
HciLedCfg *invalidLedDriver = NULL;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_A] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_B] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_A] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_B] = LED_DEFAULT_VALUE;
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_OK, hci_led_system_boot(&led_hci_ioexp));
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_GREEN, SX1509_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_SYSTEM_BOOT_DATAB,
|
||||||
|
SX1509_regs[SX1509_REG_DATA_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_GREEN, SX1509_right_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_SYSTEM_BOOT_DATAB,
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_B]);
|
||||||
|
|
||||||
|
/* Invalid config */
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_NOTOK, hci_led_system_boot(invalidLedDriver));
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_hci_led_system_running(void)
|
||||||
|
{
|
||||||
|
HciLedCfg *invalidLedDriver = NULL;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_A] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_B] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_A] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_B] = LED_DEFAULT_VALUE;
|
||||||
|
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_0] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[0] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_1] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[1] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_2] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[2] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_3] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[3] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_4] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[4] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_5] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[5] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_6] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[6] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_7] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[7] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_8] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[8] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_9] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[9] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_10] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[10] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_11] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[11] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_12] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[12] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_13] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[13] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_14] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[14] */
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_15] =
|
||||||
|
LED_DEFAULT_VALUE, /* ON time register I/O[15] */
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_OK, hci_led_system_running(&led_hci_ioexp));
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_GREEN, SX1509_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_GREEN, SX1509_regs[SX1509_REG_DATA_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_GREEN, SX1509_right_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_GREEN, SX1509_right_regs[SX1509_REG_DATA_B]);
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_0]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_1]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_2]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_3]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_4]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_5]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_6]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_7]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_8]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_9]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_10]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_11]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_12]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_13]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_14]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_15]);
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_0]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_1]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_2]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_3]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_4]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_5]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_6]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_7]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_8]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_9]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_11]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_12]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_13]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_14]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_15]);
|
||||||
|
|
||||||
|
/* Invalid config */
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_NOTOK, hci_led_system_running(invalidLedDriver));
|
||||||
|
}
|
||||||
|
void test_hci_led_system_failure(void)
|
||||||
|
{
|
||||||
|
HciLedCfg *invalidLedDriver = NULL;
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_OK, hci_led_system_failure(&led_hci_ioexp));
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_regs[SX1509_REG_DATA_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_right_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_right_regs[SX1509_REG_DATA_B]);
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_0]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_1]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_2]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_3]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_4]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_5]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_6]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_7]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_8]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_9]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_11]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_12]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_13]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_14]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_15]);
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_0]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_1]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_2]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_3]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_4]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_5]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_6]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_7]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_8]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_9]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_11]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_12]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_13]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_14]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_15]);
|
||||||
|
|
||||||
|
/* Invalid config */
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_NOTOK, hci_led_system_failure(invalidLedDriver));
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_hci_led_radio_failure(void)
|
||||||
|
{
|
||||||
|
HciLedCfg *invalidLedDriver = NULL;
|
||||||
|
|
||||||
|
SX1509_regs[SX1509_REG_DATA_A] = LED_GREEN;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_B] = LED_GREEN;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_A] = LED_GREEN;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_B] = LED_GREEN;
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_OK, hci_led_radio_failure(&led_hci_ioexp));
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_regs[SX1509_REG_DATA_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_OFF, SX1509_right_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_OFF, SX1509_right_regs[SX1509_REG_DATA_B]);
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_0]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_1]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_2]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_3]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_4]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_5]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_6]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_7]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_8]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_9]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_11]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_12]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE, SX1509_regs[SX1509_REG_T_ON_13]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_14]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_regs[SX1509_REG_T_ON_15]);
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_0]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_1]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_2]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_3]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_4]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_5]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_6]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_7]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_8]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_9]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_11]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_12]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_13]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_14]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_15]);
|
||||||
|
|
||||||
|
/* Invalid config */
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_NOTOK, hci_led_radio_failure(invalidLedDriver));
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_hci_led_backhaul_failure(void)
|
||||||
|
{
|
||||||
|
HciLedCfg *invalidLedDriver = NULL;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_A] = LED_GREEN;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_B] = LED_GREEN;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_A] = LED_GREEN;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_B] = LED_GREEN;
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_OK, hci_led_backhaul_failure(&led_hci_ioexp));
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_OFF, SX1509_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_OFF, SX1509_regs[SX1509_REG_DATA_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_right_regs[SX1509_REG_DATA_A]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_RED, SX1509_right_regs[SX1509_REG_DATA_B]);
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_0]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_1]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_2]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_3]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_4]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_5]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_6]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_7]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_8]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_9]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_11]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_12]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_13]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_14]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DEFAULT_VALUE, SX1509_regs[SX1509_REG_T_ON_15]);
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_0]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_1]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_2]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_3]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_4]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_5]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_6]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_7]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_8]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_9]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_11]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_12]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_13]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_14]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_T_ON_14_15_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_T_ON_15]);
|
||||||
|
|
||||||
|
/* Invalid config */
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_NOTOK, hci_led_backhaul_failure(invalidLedDriver));
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_led_configure(void)
|
||||||
|
{
|
||||||
|
led_configure(&led_hci_ioexp);
|
||||||
|
TEST_ASSERT_EQUAL(OCGPIO_CFG_OUTPUT | OCGPIO_CFG_OUT_HIGH,
|
||||||
|
LED_GpioConfig[OC_EC_HCI_LED_RESET]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_led_probe(void)
|
||||||
|
{
|
||||||
|
HciLedCfg *invalidLedDriver = NULL;
|
||||||
|
POSTData postData;
|
||||||
|
POSTData *invalidPostData = NULL;
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(POST_DEV_FOUND, led_probe(&led_hci_ioexp, &postData));
|
||||||
|
TEST_ASSERT_EQUAL(OC_CONNECT1_I2C8, postData.i2cBus);
|
||||||
|
TEST_ASSERT_EQUAL(LED_SX1509_LEFT_ADDRESS, postData.devAddr);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_POST_MANID, postData.manId);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_POST_DEVID, postData.devId);
|
||||||
|
|
||||||
|
postData.i2cBus = LED_POST_DATA_NULL;
|
||||||
|
postData.devAddr = LED_POST_DATA_NULL;
|
||||||
|
postData.manId = LED_POST_DATA_NULL;
|
||||||
|
postData.devId = LED_POST_DATA_NULL;
|
||||||
|
/* Invalid config test */
|
||||||
|
TEST_ASSERT_EQUAL(POST_DEV_MISSING, led_probe(invalidLedDriver, &postData));
|
||||||
|
TEST_ASSERT_EQUAL(LED_POST_DATA_NULL, postData.i2cBus);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_POST_DATA_NULL, postData.devAddr);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_POST_DATA_NULL, postData.manId);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_POST_DATA_NULL, postData.devId);
|
||||||
|
|
||||||
|
/* Invalid post data test */
|
||||||
|
TEST_ASSERT_EQUAL(POST_DEV_MISSING,
|
||||||
|
led_probe(&led_hci_ioexp, invalidPostData));
|
||||||
|
TEST_ASSERT_EQUAL(LED_POST_DATA_NULL, postData.i2cBus);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_POST_DATA_NULL, postData.devAddr);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_POST_DATA_NULL, postData.manId);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_POST_DATA_NULL, postData.devId);
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_led_init(void)
|
||||||
|
{
|
||||||
|
HciLedCfg *invalidLedDriver = NULL;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_A] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_regs[SX1509_REG_DATA_B] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_A] = LED_DEFAULT_VALUE;
|
||||||
|
SX1509_right_regs[SX1509_REG_DATA_B] = LED_DEFAULT_VALUE;
|
||||||
|
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_OK, led_init(&led_hci_ioexp));
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(SX1509_SOFT_RESET_REG_VALUE_2,
|
||||||
|
SX1509_regs[SX1509_REG_RESET]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(SX1509_SOFT_RESET_REG_VALUE_2,
|
||||||
|
SX1509_right_regs[SX1509_REG_RESET]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_REG_INPUT_DISABLE_B_VALUE,
|
||||||
|
SX1509_regs[SX1509_REG_INPUT_DISABLE_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_REG_INPUT_DISABLE_B_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_INPUT_DISABLE_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_REG_PULL_UP_B_VALUE,
|
||||||
|
SX1509_regs[SX1509_REG_PULL_UP_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_REG_PULL_UP_B_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_PULL_UP_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_REG_OPEN_DRAIN_B_VALUE,
|
||||||
|
SX1509_regs[SX1509_REG_OPEN_DRAIN_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_REG_OPEN_DRAIN_B_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_OPEN_DRAIN_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_CLOCK_VALUE, SX1509_regs[SX1509_REG_CLOCK]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_CLOCK_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_CLOCK]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_MISC_VALUE, SX1509_regs[SX1509_REG_MISC]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(REG_MISC_VALUE, SX1509_right_regs[SX1509_REG_MISC]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DRIVER_ENABLE_B_VALUE,
|
||||||
|
SX1509_regs[SX1509_REG_LED_DRIVER_ENABLE_B]);
|
||||||
|
TEST_ASSERT_EQUAL_HEX8(LED_DRIVER_ENABLE_B_VALUE,
|
||||||
|
SX1509_right_regs[SX1509_REG_LED_DRIVER_ENABLE_B]);
|
||||||
|
|
||||||
|
/* Invalid config test */
|
||||||
|
TEST_ASSERT_EQUAL(RETURN_NOTOK, led_init(invalidLedDriver));
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user