Skip to content

Commit 7f2e5a7

Browse files
committed
projects: led: ltc3220: add project for LTC3220
Created LTC3220 project example for Maxim platform Includes tests for the different features of the LTC3220 Signed-off-by: Jan Carlo Roleda <[email protected]>
1 parent be9d0a6 commit 7f2e5a7

File tree

10 files changed

+675
-0
lines changed

10 files changed

+675
-0
lines changed

projects/ltc3220/makefile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
EXAMPLE ?= dummy
2+
3+
PLATFORM ?= maxim
4+
5+
include ../../tools/scripts/generic_variables.mk
6+
7+
include ../../tools/scripts/examples.mk
8+
9+
include src.mk
10+
11+
include ../../tools/scripts/generic.mk

projects/ltc3220/src.mk

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
INCS += $(INCLUDE)/no_os_error.h \
2+
$(INCLUDE)/no_os_gpio.h \
3+
$(INCLUDE)/no_os_irq.h \
4+
$(INCLUDE)/no_os_list.h \
5+
$(INCLUDE)/no_os_uart.h \
6+
$(INCLUDE)/no_os_lf256fifo.h\
7+
$(INCLUDE)/no_os_dma.h \
8+
$(INCLUDE)/no_os_init.h \
9+
$(INCLUDE)/no_os_util.h \
10+
$(INCLUDE)/no_os_i2c.h \
11+
$(INCLUDE)/no_os_mutex.h \
12+
$(INCLUDE)/no_os_alloc.h \
13+
$(INCLUDE)/no_os_delay.h
14+
15+
SRCS += $(DRIVERS)/api/no_os_gpio.c \
16+
$(DRIVERS)/api/no_os_irq.c \
17+
$(NO-OS)/util/no_os_list.c \
18+
$(DRIVERS)/api/no_os_uart.c \
19+
$(NO-OS)/util/no_os_lf256fifo.c \
20+
$(DRIVERS)/api/no_os_dma.c \
21+
$(DRIVERS)/api/no_os_i2c.c \
22+
$(NO-OS)/util/no_os_util.c \
23+
$(NO-OS)/util/no_os_mutex.c \
24+
$(NO-OS)/util/no_os_alloc.c
25+
26+
27+
INCS += $(DRIVERS)/led/ltc3220/ltc3220.h
28+
SRCS += $(DRIVERS)/led/ltc3220/ltc3220.c
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/***************************************************************************//**
2+
* @file common_data.c
3+
* @brief Defines common data to be used by LTC3220 examples.
4+
* @author Jan Carlo Roleda ([email protected])
5+
********************************************************************************
6+
* Copyright 2025(c) Analog Devices, Inc.
7+
*
8+
* Redistribution and use in source and binary forms, with or without
9+
* modification, are permitted provided that the following conditions are met:
10+
*
11+
* 1. Redistributions of source code must retain the above copyright notice,
12+
* this list of conditions and the following disclaimer.
13+
*
14+
* 2. Redistributions in binary form must reproduce the above copyright notice,
15+
* this list of conditions and the following disclaimer in the documentation
16+
* and/or other materials provided with the distribution.
17+
*
18+
* 3. Neither the name of Analog Devices, Inc. nor the names of its
19+
* contributors may be used to endorse or promote products derived from this
20+
* software without specific prior written permission.
21+
*
22+
* THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR
23+
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
25+
* EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
26+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
28+
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
31+
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32+
*******************************************************************************/
33+
34+
#include "common_data.h"
35+
36+
const struct no_os_i2c_init_param iip = {
37+
.device_id = I2C_DEVICE_ID,
38+
.max_speed_hz = 400000,
39+
.slave_address = DEV_I2C_ADDRESS,
40+
.platform_ops = I2C_OPS,
41+
.extra = &ltc3220_i2c_extra,
42+
};
43+
44+
const struct no_os_gpio_init_param gip = {
45+
.port = GPIO_RST_PIN_PORT,
46+
.number = GPIO_RST_PIN_NUM,
47+
.pull = NO_OS_PULL_NONE,
48+
.platform_ops = GPIO_OPS,
49+
.extra = &ltc3220_gpio_extra,
50+
};
51+
52+
struct ltc3220_init_param ltc3220_user_init = {
53+
.i2c_init_param = iip,
54+
.gpio_init_param = gip,
55+
};
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/***************************************************************************//**
2+
* @file common_data.h
3+
* @brief Defines common data to be used by LTC3220 examples.
4+
* @author Jan Carlo Roleda ([email protected])
5+
********************************************************************************
6+
* Copyright 2025(c) Analog Devices, Inc.
7+
*
8+
* Redistribution and use in source and binary forms, with or without
9+
* modification, are permitted provided that the following conditions are met:
10+
*
11+
* 1. Redistributions of source code must retain the above copyright notice,
12+
* this list of conditions and the following disclaimer.
13+
*
14+
* 2. Redistributions in binary form must reproduce the above copyright notice,
15+
* this list of conditions and the following disclaimer in the documentation
16+
* and/or other materials provided with the distribution.
17+
*
18+
* 3. Neither the name of Analog Devices, Inc. nor the names of its
19+
* contributors may be used to endorse or promote products derived from this
20+
* software without specific prior written permission.
21+
*
22+
* THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR
23+
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
25+
* EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
26+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
28+
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
31+
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32+
*******************************************************************************/
33+
#ifndef __COMMON_DATA_H__
34+
#define __COMMON_DATA_H__
35+
36+
#include "parameters.h"
37+
#include "ltc3220.h"
38+
39+
extern const struct no_os_i2c_init_param iip;
40+
extern const struct no_os_gpio_init_param gip;
41+
extern struct ltc3220_init_param ltc3220_user_init;
42+
43+
#endif /* __COMMON_DATA_H__ */

0 commit comments

Comments
 (0)