diff options
| author | yangjie <[email protected]> | 2019-04-24 19:06:40 +0800 |
|---|---|---|
| committer | yangjie <[email protected]> | 2019-04-24 19:06:40 +0800 |
| commit | 02c7158c1a70869cc5e2d11dbfaae41b1979de85 (patch) | |
| tree | df707e33e46ea17f6b146f0a51f96925e7979538 /bsp | |
| parent | d91083988073ef98d2ea9bb8af0211cdc1559f36 (diff) | |
| parent | 14252b4e4072e913a030032790742f3c754983e3 (diff) | |
Merge branch 'master' of https://github.com/RT-Thread/rt-thread into yj_fix_branch
Diffstat (limited to 'bsp')
| -rw-r--r-- | bsp/stm32/libraries/HAL_Drivers/drv_gpio.c | 107 | ||||
| -rw-r--r-- | bsp/stm32/libraries/HAL_Drivers/drv_pwm.c | 6 | ||||
| -rw-r--r-- | bsp/stm32/stm32f469-st-disco/board/Kconfig | 31 | ||||
| -rw-r--r-- | bsp/stm32/stm32f469-st-disco/board/SConscript | 3 | ||||
| -rw-r--r-- | bsp/stm32/stm32f469-st-disco/board/ports/touch/SConscript | 9 | ||||
| -rw-r--r-- | bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch.c | 196 | ||||
| -rw-r--r-- | bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch.h | 55 | ||||
| -rw-r--r-- | bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch_ft.c | 213 | ||||
| -rw-r--r-- | bsp/stm32/stm32f469-st-disco/project.ewp | 18 | ||||
| -rw-r--r-- | bsp/stm32/stm32f469-st-disco/project.uvoptx | 144 | ||||
| -rw-r--r-- | bsp/stm32/stm32f469-st-disco/project.uvproj | 44 | ||||
| -rw-r--r-- | bsp/stm32/stm32f469-st-disco/project.uvprojx | 27 |
12 files changed, 753 insertions, 100 deletions
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c b/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c index 9824d3eb2f..57442f2739 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_gpio.c @@ -6,6 +6,7 @@ * Change Logs: * Date Author Notes * 2018-11-06 balanceTWK first version + * 2019-04-23 WillianChan Fix GPIO serial number disorder */ #include <board.h> @@ -153,65 +154,65 @@ static const struct pin_index pins[] = __STM32_PIN(120, H, 8), __STM32_PIN(121, H, 9), __STM32_PIN(122, H, 10), - __STM32_PIN(124, H, 11), - __STM32_PIN(125, H, 12), - __STM32_PIN(126, H, 13), - __STM32_PIN(127, H, 14), - __STM32_PIN(128, H, 15), + __STM32_PIN(123, H, 11), + __STM32_PIN(124, H, 12), + __STM32_PIN(125, H, 13), + __STM32_PIN(126, H, 14), + __STM32_PIN(127, H, 15), #endif #ifdef GPIOI - __STM32_PIN(129, I, 0), - __STM32_PIN(130, I, 1), - __STM32_PIN(131, I, 2), - __STM32_PIN(132, I, 3), - __STM32_PIN(133, I, 4), - __STM32_PIN(134, I, 5), - __STM32_PIN(135, I, 6), - __STM32_PIN(136, I, 7), - __STM32_PIN(137, I, 8), - __STM32_PIN(138, I, 9), - __STM32_PIN(139, I, 10), - __STM32_PIN(140, I, 11), - __STM32_PIN(141, I, 12), - __STM32_PIN(142, I, 13), - __STM32_PIN(143, I, 14), - __STM32_PIN(144, I, 15), + __STM32_PIN(128, I, 0), + __STM32_PIN(129, I, 1), + __STM32_PIN(130, I, 2), + __STM32_PIN(131, I, 3), + __STM32_PIN(132, I, 4), + __STM32_PIN(133, I, 5), + __STM32_PIN(134, I, 6), + __STM32_PIN(135, I, 7), + __STM32_PIN(136, I, 8), + __STM32_PIN(137, I, 9), + __STM32_PIN(138, I, 10), + __STM32_PIN(139, I, 11), + __STM32_PIN(140, I, 12), + __STM32_PIN(141, I, 13), + __STM32_PIN(142, I, 14), + __STM32_PIN(143, I, 15), #endif #ifdef GPIOJ - __STM32_PIN(145, J, 0), - __STM32_PIN(146, J, 1), - __STM32_PIN(147, J, 2), - __STM32_PIN(148, J, 3), - __STM32_PIN(149, J, 4), - __STM32_PIN(150, J, 5), - __STM32_PIN(151, J, 6), - __STM32_PIN(152, J, 7), - __STM32_PIN(153, J, 8), - __STM32_PIN(154, J, 9), - __STM32_PIN(155, J, 10), - __STM32_PIN(156, J, 11), - __STM32_PIN(157, J, 12), - __STM32_PIN(158, J, 13), - __STM32_PIN(159, J, 14), - __STM32_PIN(160, J, 15), + __STM32_PIN(144, J, 0), + __STM32_PIN(145, J, 1), + __STM32_PIN(146, J, 2), + __STM32_PIN(147, J, 3), + __STM32_PIN(148, J, 4), + __STM32_PIN(149, J, 5), + __STM32_PIN(150, J, 6), + __STM32_PIN(151, J, 7), + __STM32_PIN(152, J, 8), + __STM32_PIN(153, J, 9), + __STM32_PIN(154, J, 10), + __STM32_PIN(155, J, 11), + __STM32_PIN(156, J, 12), + __STM32_PIN(157, J, 13), + __STM32_PIN(158, J, 14), + __STM32_PIN(159, J, 15), #endif #ifdef GPIOK - __STM32_PIN(161, K, 0), - __STM32_PIN(162, K, 1), - __STM32_PIN(163, K, 2), - __STM32_PIN(164, K, 3), - __STM32_PIN(165, K, 4), - __STM32_PIN(166, K, 5), - __STM32_PIN(167, K, 6), - __STM32_PIN(168, K, 7), - __STM32_PIN(169, K, 8), - __STM32_PIN(170, K, 9), - __STM32_PIN(171, K, 10), - __STM32_PIN(172, K, 11), - __STM32_PIN(173, K, 12), - __STM32_PIN(174, K, 13), - __STM32_PIN(175, K, 14), - __STM32_PIN(176, K, 15), + __STM32_PIN(160, K, 0), + __STM32_PIN(161, K, 1), + __STM32_PIN(162, K, 2), + __STM32_PIN(163, K, 3), + __STM32_PIN(164, K, 4), + __STM32_PIN(165, K, 5), + __STM32_PIN(166, K, 6), + __STM32_PIN(167, K, 7), + __STM32_PIN(168, K, 8), + __STM32_PIN(169, K, 9), + __STM32_PIN(170, K, 10), + __STM32_PIN(171, K, 11), + __STM32_PIN(172, K, 12), + __STM32_PIN(173, K, 13), + __STM32_PIN(174, K, 14), + __STM32_PIN(175, K, 15), #endif }; diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_pwm.c b/bsp/stm32/libraries/HAL_Drivers/drv_pwm.c index 6f1c123a56..a6835e682f 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_pwm.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_pwm.c @@ -415,13 +415,13 @@ static void pwm_get_channel(void) stm32_pwm_obj[PWM1_INDEX].channel |= 1 << 0; #endif #ifdef BSP_USING_PWM1_CH2 - stm32_pwm_obj[PWM1_INDEX].channel |= 1 << 2; + stm32_pwm_obj[PWM1_INDEX].channel |= 1 << 1; #endif #ifdef BSP_USING_PWM1_CH3 - stm32_pwm_obj[PWM1_INDEX].channel |= 1 << 3; + stm32_pwm_obj[PWM1_INDEX].channel |= 1 << 2; #endif #ifdef BSP_USING_PWM1_CH4 - stm32_pwm_obj[PWM1_INDEX].channel |= 1 << 4; + stm32_pwm_obj[PWM1_INDEX].channel |= 1 << 3; #endif #ifdef BSP_USING_PWM2_CH1 stm32_pwm_obj[PWM2_INDEX].channel |= 1 << 0; diff --git a/bsp/stm32/stm32f469-st-disco/board/Kconfig b/bsp/stm32/stm32f469-st-disco/board/Kconfig index 3e5272eb8b..5615ce827c 100644 --- a/bsp/stm32/stm32f469-st-disco/board/Kconfig +++ b/bsp/stm32/stm32f469-st-disco/board/Kconfig @@ -26,6 +26,19 @@ menu "Onboard Peripheral Drivers" select FAL_USING_SFUD_PORT default n + config BSP_USING_TOUCH + bool "Enable TOUCH" + select BSP_USING_I2C1 + default n + if BSP_USING_TOUCH + config BSP_TOUCH_INT_PIN + int "Touch interrupt pin" + default 149 + config BSP_I2C_NAME + string "I2C Bus Name" + default "i2c1" + endif + config BSP_MOUNT_QSPI_WITH_LFS bool "Mount QSPI flash to / with little fs" depends on BSP_USING_QSPI_FLASH @@ -55,6 +68,24 @@ menu "On-chip Peripheral Drivers" depends on BSP_USING_UART3 && RT_SERIAL_USING_DMA default n endif + + menuconfig BSP_USING_I2C1 + bool "Enable I2C1 BUS (software simulation)" + default n + select RT_USING_I2C + select RT_USING_I2C_BITOPS + select RT_USING_PIN + if BSP_USING_I2C1 + comment "Notice: PB8 --> 24; PB9 --> 25" + config BSP_I2C1_SCL_PIN + int "I2C1 scl pin number" + range 1 176 + default 24 + config BSP_I2C1_SDA_PIN + int "I2C1 sda pin number" + range 1 176 + default 25 + endif config BSP_USING_QSPI bool "Enable QSPI BUS" diff --git a/bsp/stm32/stm32f469-st-disco/board/SConscript b/bsp/stm32/stm32f469-st-disco/board/SConscript index c3801987c2..573195ff00 100644 --- a/bsp/stm32/stm32f469-st-disco/board/SConscript +++ b/bsp/stm32/stm32f469-st-disco/board/SConscript @@ -20,6 +20,9 @@ if GetDepend(['PKG_USING_FAL']): if GetDepend(['BSP_USING_LCD_OTM8009A']): src += Glob('ports/drv_lcd_otm8009a.c') + +if GetDepend(['BSP_USING_TOUCH']): + src += Glob('ports/touch/*.c') path = [cwd] path += [cwd + '/CubeMX_Config/Inc'] diff --git a/bsp/stm32/stm32f469-st-disco/board/ports/touch/SConscript b/bsp/stm32/stm32f469-st-disco/board/ports/touch/SConscript new file mode 100644 index 0000000000..f65574f8c4 --- /dev/null +++ b/bsp/stm32/stm32f469-st-disco/board/ports/touch/SConscript @@ -0,0 +1,9 @@ +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') +CPPPATH = [cwd, str(Dir('#'))] + +group = DefineGroup('touch', src, depend = ['BSP_USING_TOUCH'], CPPPATH = CPPPATH) + +Return('group') diff --git a/bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch.c b/bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch.c new file mode 100644 index 0000000000..1ff29544ff --- /dev/null +++ b/bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch.c @@ -0,0 +1,196 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2018-02-08 Zhangyihong the first version + */ + +#include "drv_touch.h" +#include <string.h> +#ifdef BSP_USING_TOUCH +#ifdef PKG_USING_GUIENGINE +#include <rtgui/event.h> +#include <rtgui/rtgui_server.h> +#elif defined(PKG_USING_LITTLEVGL2RTT) +#include <littlevgl2rtt.h> +#endif +#define BSP_TOUCH_SAMPLE_HZ (50) + +#define DBG_ENABLE +#define DBG_SECTION_NAME "TOUCH" +#define DBG_LEVEL DBG_LOG +#define DBG_COLOR +#include <rtdbg.h> + +static rt_list_t driver_list; + + +void rt_touch_drivers_register(touch_drv_t drv) +{ + rt_list_insert_before(&driver_list, &drv->list); +} + +static void post_down_event(rt_uint16_t x, rt_uint16_t y, rt_tick_t ts) +{ +#ifdef PKG_USING_GUIENGINE + struct rtgui_event_mouse emouse; + + emouse.parent.sender = RT_NULL; + emouse.wid = RT_NULL; + + emouse.parent.type = RTGUI_EVENT_MOUSE_BUTTON; + emouse.button = RTGUI_MOUSE_BUTTON_LEFT | RTGUI_MOUSE_BUTTON_DOWN; + emouse.x = x; + emouse.y = y; + emouse.ts = rt_tick_get(); + emouse.id = ts; + rtgui_server_post_event(&emouse.parent, sizeof(emouse)); +#elif defined(PKG_USING_LITTLEVGL2RTT) + littlevgl2rtt_send_input_event(x, y, LITTLEVGL2RTT_INPUT_DOWN); +#endif +} + +static void post_motion_event(rt_uint16_t x, rt_uint16_t y, rt_tick_t ts) +{ +#ifdef PKG_USING_GUIENGINE + struct rtgui_event_mouse emouse; + + emouse.parent.sender = RT_NULL; + emouse.wid = RT_NULL; + + emouse.button = RTGUI_MOUSE_BUTTON_LEFT | RTGUI_MOUSE_BUTTON_DOWN; + emouse.parent.type = RTGUI_EVENT_MOUSE_MOTION; + emouse.x = x; + emouse.y = y; + emouse.ts = rt_tick_get(); + emouse.id = ts; + rtgui_server_post_event(&emouse.parent, sizeof(emouse)); +#elif defined(PKG_USING_LITTLEVGL2RTT) + littlevgl2rtt_send_input_event(x, y, LITTLEVGL2RTT_INPUT_MOVE); +#endif +} + +static void post_up_event(rt_uint16_t x, rt_uint16_t y, rt_tick_t ts) +{ +#ifdef PKG_USING_GUIENGINE + struct rtgui_event_mouse emouse; + + emouse.parent.sender = RT_NULL; + emouse.wid = RT_NULL; + + emouse.parent.type = RTGUI_EVENT_MOUSE_BUTTON; + emouse.button = RTGUI_MOUSE_BUTTON_LEFT | RTGUI_MOUSE_BUTTON_UP; + emouse.x = x; + emouse.y = y; + emouse.ts = rt_tick_get(); + emouse.id = ts; + rtgui_server_post_event(&emouse.parent, sizeof(emouse)); +#elif defined(PKG_USING_LITTLEVGL2RTT) + littlevgl2rtt_send_input_event(x, y, LITTLEVGL2RTT_INPUT_MOVE); +#endif +} + +static void touch_thread_entry(void *parameter) +{ + touch_drv_t touch = (touch_drv_t)parameter; + struct touch_message msg; + rt_tick_t emouse_id = 0; + touch->ops->isr_enable(RT_TRUE); + while (1) + { + if (rt_sem_take(touch->isr_sem, 10) != RT_EOK) + { + continue; + } + + while(touch->ops->read_point(&msg) == RT_EOK) + { + switch (msg.event) + { + case TOUCH_EVENT_UP: + post_up_event(msg.x, msg.y, emouse_id); + break; + case TOUCH_EVENT_DOWN: + emouse_id = rt_tick_get(); + post_down_event(msg.x, msg.y, emouse_id); + break; + case TOUCH_EVENT_MOVE: + post_motion_event(msg.x, msg.y, emouse_id); + break; + default: + break; + } + rt_thread_delay(RT_TICK_PER_SECOND / BSP_TOUCH_SAMPLE_HZ); + } + touch->ops->isr_enable(RT_TRUE); + } +} + +static int rt_touch_driver_init(void) +{ + rt_list_init(&driver_list); + return 0; +} +INIT_BOARD_EXPORT(rt_touch_driver_init); + +static struct rt_i2c_bus_device *i2c_bus = RT_NULL; +static int rt_touch_thread_init(void) +{ + rt_list_t *l; + touch_drv_t current_driver; + rt_thread_t tid = RT_NULL; + i2c_bus = (struct rt_i2c_bus_device *)rt_device_find(BSP_I2C_NAME); + RT_ASSERT(i2c_bus); + current_driver = RT_NULL; + if (rt_device_open((rt_device_t)i2c_bus, RT_DEVICE_OFLAG_RDWR) != RT_EOK) + return -1; + for (l = driver_list.next; l != &driver_list; l = l->next) + { + if (rt_list_entry(l, struct touch_drivers, list)->probe(i2c_bus)) + { + current_driver = rt_list_entry(l, struct touch_drivers, list); + break; + } + } + if (current_driver == RT_NULL) + { + LOG_E("no touch screen or do not have driver\r\n"); + rt_device_close((rt_device_t)i2c_bus); + return -1; + } + current_driver->ops->init(i2c_bus); + LOG_I("touch screen found driver\r\n"); + tid = rt_thread_create("touch", touch_thread_entry, current_driver, 2048, 27, 20); + if (tid == RT_NULL) + { + current_driver->ops->deinit(); + rt_device_close((rt_device_t)i2c_bus); + return -1; + } + rt_thread_startup(tid); + return 0; +} + +static void touch_init_thread_entry(void *parameter) +{ + rt_touch_thread_init(); +} + +static int touc_bg_init(void) +{ + rt_thread_t tid = RT_NULL; + tid = rt_thread_create("touchi", touch_init_thread_entry, RT_NULL, 2048, 28, 20); + if (tid == RT_NULL) + { + return -1; + } + rt_thread_startup(tid); + return 0; +} +INIT_APP_EXPORT(touc_bg_init); + + +#endif diff --git a/bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch.h b/bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch.h new file mode 100644 index 0000000000..a8fea21d54 --- /dev/null +++ b/bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch.h @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2018-02-08 Zhangyihong the first version + */ + +#ifndef __DRV_TOUCH_H__ +#define __DRV_TOUCH_H__ + +#include "rtthread.h" +#include "rtdevice.h" + +#define TOUCH_DBG_LEVEL DBG_LOG + +#define IIC_RETRY_NUM 2 + +#define TOUCH_EVENT_UP (0x01) +#define TOUCH_EVENT_DOWN (0x02) +#define TOUCH_EVENT_MOVE (0x03) +#define TOUCH_EVENT_NONE (0x80) + +struct touch_message +{ + rt_uint16_t x; + rt_uint16_t y; + rt_uint8_t event; +}; +typedef struct touch_message *touch_msg_t; + +struct touch_ops +{ + void (* isr_enable)(rt_bool_t); + rt_err_t (* read_point)(touch_msg_t); + void (* init)(struct rt_i2c_bus_device *); + void (* deinit)(void); +}; +typedef struct touch_ops *touch_ops_t; + +struct touch_drivers +{ + rt_list_t list; + unsigned char address; + rt_bool_t (*probe)(struct rt_i2c_bus_device *i2c_bus); + rt_sem_t isr_sem; + touch_ops_t ops; + void *user_data; +}; +typedef struct touch_drivers *touch_drv_t; + +extern void rt_touch_drivers_register(touch_drv_t drv); +#endif diff --git a/bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch_ft.c b/bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch_ft.c new file mode 100644 index 0000000000..a7e9275441 --- /dev/null +++ b/bsp/stm32/stm32f469-st-disco/board/ports/touch/drv_touch_ft.c @@ -0,0 +1,213 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2017-08-08 Yang the first version + * 2019-04-23 WillianChan porting to ft6206 + */ + +#include <rtthread.h> +#include <rthw.h> +#include <rtdevice.h> +#include "drv_touch.h" +#include <string.h> + +#ifdef BSP_USING_TOUCH + +#define DBG_ENABLE +#define DBG_SECTION_NAME "TOUCH.ft" +#define DBG_LEVEL TOUCH_DBG_LEVEL +#define DBG_COLOR +#include <rtdbg.h> + +static struct rt_i2c_bus_device *ft_i2c_bus; +static struct touch_drivers ft_driver; + +static int ft_read(struct rt_i2c_bus_device *i2c_bus, rt_uint8_t addr, rt_uint8_t *buffer, rt_size_t length) +{ + int ret = -1; + int retries = 0; + + struct rt_i2c_msg msgs[] = + { + { + .addr = ft_driver.address, + .flags = RT_I2C_WR, + .len = 1, + .buf = &addr, + }, + { + .addr = ft_driver.address, + .flags = RT_I2C_RD, + .len = length, + .buf = buffer, + }, + }; + + while (retries < IIC_RETRY_NUM) + { + ret = rt_i2c_transfer(i2c_bus, msgs, 2); + if (ret == 2)break; + retries++; + } + + if (retries >= IIC_RETRY_NUM) + { + LOG_E("%s i2c read error: %d", __func__, ret); + return -1; + } + + return ret; +} + +static void ft_write(touch_drv_t driver, struct rt_i2c_bus_device *i2c_bus, rt_uint8_t addr, rt_uint8_t *buffer, rt_size_t length) +{ + rt_uint8_t *send_buffer = rt_malloc(length + 1); + + RT_ASSERT(send_buffer); + + send_buffer[0] = addr; + memcpy(send_buffer + 1, buffer, length); + + struct rt_i2c_msg msgs[] = + { + { + .addr = ft_driver.address, + .flags = RT_I2C_WR, + .len = length + 1, + .buf = send_buffer, + } + }; + + length = rt_i2c_transfer(i2c_bus, msgs, 1); + rt_free(send_buffer); + send_buffer = RT_NULL; +} + +static void ft_isr_enable(rt_bool_t enable) +{ + rt_pin_irq_enable(BSP_TOUCH_INT_PIN, enable); +} + +static void ft_touch_isr(void *parameter) +{ + ft_isr_enable(RT_FALSE); + rt_sem_release(ft_driver.isr_sem); +} + +static rt_err_t ft_read_point(touch_msg_t msg) +{ + int ret = -1; + uint8_t point_num = 0; + static uint8_t s_tp_down = 0; + uint8_t point[6]; + ret = ft_read(ft_i2c_bus, 0x02, &point_num, 1); + if (ret < 0) + { + return RT_ERROR; + } + + if (point_num == 0) + { + if (s_tp_down) + { + s_tp_down = 0; + msg->event = TOUCH_EVENT_UP; + return RT_EOK; + } + msg->event = TOUCH_EVENT_NONE; + return RT_ERROR; + } + + ret = ft_read(ft_i2c_bus, 0x03, point, 6); + if (ret < 0) + { + return RT_ERROR; + } + + msg->y = (point[0]&0x0F) << 8 | point[1]; + msg->x = (point[2]&0x0F) << 8 | point[3]; + + if (s_tp_down) + { + msg->event = TOUCH_EVENT_MOVE; + return RT_EOK; + } + msg->event = TOUCH_EVENT_DOWN; + s_tp_down = 1; + + return RT_EOK; +} + +static void ft_init(struct rt_i2c_bus_device *i2c_bus) +{ + if (ft_i2c_bus == RT_NULL) + { + ft_i2c_bus = i2c_bus; + } + ft_driver.isr_sem = rt_sem_create("ft", 0, RT_IPC_FLAG_FIFO); + RT_ASSERT(ft_driver.isr_sem); + + rt_pin_mode(BSP_TOUCH_INT_PIN, PIN_MODE_INPUT_PULLUP); + rt_pin_attach_irq(BSP_TOUCH_INT_PIN, PIN_IRQ_MODE_FALLING, ft_touch_isr, RT_NULL); + + rt_thread_mdelay(200); +} + +static void ft_deinit(void) +{ + if (ft_driver.isr_sem) + { + rt_sem_delete(ft_driver.isr_sem); + ft_driver.isr_sem = RT_NULL; + } +} + +struct touch_ops ft_ops = +{ + ft_isr_enable, + ft_read_point, + ft_init, + ft_deinit, +}; + +static rt_bool_t ft_probe(struct rt_i2c_bus_device *i2c_bus) +{ + int err = 0; + uint8_t cid = 0xFF; + + ft_i2c_bus = i2c_bus; + /* FT6206 Chip identification register address is 0xA8 */ + err = ft_read(ft_i2c_bus, 0xA8, (uint8_t *)&cid, 1); + if (err < 0) + { + LOG_E("%s failed: %d", __func__, err); + return RT_FALSE; + } + LOG_I("touch CID:0x%02X", cid); + /* FT6206 ID Value is 0x11 */ + if(cid == 0x11) + { + return RT_TRUE; + } + return RT_FALSE; +} + +int ft_driver_register(void) +{ + /* TouchScreen FT6206 Slave I2C address is 0x54 + * 0x54 << 1 = 0x2A + */ + ft_driver.address = 0x2A; + ft_driver.probe = ft_probe; + ft_driver.ops = &ft_ops; + ft_driver.user_data = RT_NULL; + rt_touch_drivers_register(&ft_driver); + return 0; +} +INIT_DEVICE_EXPORT(ft_driver_register); + +#endif diff --git a/bsp/stm32/stm32f469-st-disco/project.ewp b/bsp/stm32/stm32f469-st-disco/project.ewp index 03017d11a6..57079447f6 100644 --- a/bsp/stm32/stm32f469-st-disco/project.ewp +++ b/bsp/stm32/stm32f469-st-disco/project.ewp @@ -2136,6 +2136,9 @@ <name>$PROJ_DIR$\..\libraries\HAL_Drivers\drv_usart.c</name>
</file>
<file>
+ <name>$PROJ_DIR$\..\libraries\HAL_Drivers\drv_soft_i2c.c</name>
+ </file>
+ <file>
<name>$PROJ_DIR$\..\libraries\HAL_Drivers\drv_common.c</name>
</file>
</group>
@@ -2160,6 +2163,15 @@ <group>
<name>DeviceDrivers</name>
<file>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_core.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_dev.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\i2c\i2c-bit-ops.c</name>
+ </file>
+ <file>
<name>$PROJ_DIR$\..\..\..\components\drivers\misc\pin.c</name>
</file>
<file>
@@ -2291,5 +2303,11 @@ <file>
<name>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c</name>
</file>
+ <file>
+ <name>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c</name>
+ </file>
</group>
</project>
diff --git a/bsp/stm32/stm32f469-st-disco/project.uvoptx b/bsp/stm32/stm32f469-st-disco/project.uvoptx index 0cb41f3acd..0384f4f5c4 100644 --- a/bsp/stm32/stm32f469-st-disco/project.uvoptx +++ b/bsp/stm32/stm32f469-st-disco/project.uvoptx @@ -408,7 +408,7 @@ <Group> <GroupName>Drivers</GroupName> - <tvExp>0</tvExp> + <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> @@ -567,6 +567,42 @@ <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> + <PathWithFileName>..\..\..\components\drivers\i2c\i2c_core.c</PathWithFileName> + <FilenameWithoutPath>i2c_core.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>30</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\components\drivers\i2c\i2c_dev.c</PathWithFileName> + <FilenameWithoutPath>i2c_dev.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>31</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\components\drivers\i2c\i2c-bit-ops.c</PathWithFileName> + <FilenameWithoutPath>i2c-bit-ops.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>32</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> <PathWithFileName>..\..\..\components\drivers\misc\pin.c</PathWithFileName> <FilenameWithoutPath>pin.c</FilenameWithoutPath> <RteFlg>0</RteFlg> @@ -574,7 +610,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>30</FileNumber> + <FileNumber>33</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -586,7 +622,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>31</FileNumber> + <FileNumber>34</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -598,7 +634,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>32</FileNumber> + <FileNumber>35</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -610,7 +646,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>33</FileNumber> + <FileNumber>36</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -622,7 +658,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>34</FileNumber> + <FileNumber>37</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -634,7 +670,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>35</FileNumber> + <FileNumber>38</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -646,7 +682,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>36</FileNumber> + <FileNumber>39</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -658,7 +694,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>37</FileNumber> + <FileNumber>40</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -678,7 +714,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>6</GroupNumber> - <FileNumber>38</FileNumber> + <FileNumber>41</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -690,7 +726,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>39</FileNumber> + <FileNumber>42</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -702,7 +738,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>40</FileNumber> + <FileNumber>43</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -714,7 +750,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>41</FileNumber> + <FileNumber>44</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -726,7 +762,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>42</FileNumber> + <FileNumber>45</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -738,7 +774,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>43</FileNumber> + <FileNumber>46</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -750,7 +786,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>44</FileNumber> + <FileNumber>47</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -762,7 +798,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>45</FileNumber> + <FileNumber>48</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -774,7 +810,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>46</FileNumber> + <FileNumber>49</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -786,7 +822,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>47</FileNumber> + <FileNumber>50</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -798,7 +834,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>48</FileNumber> + <FileNumber>51</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -810,7 +846,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>49</FileNumber> + <FileNumber>52</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -822,7 +858,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>50</FileNumber> + <FileNumber>53</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -834,7 +870,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>51</FileNumber> + <FileNumber>54</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -846,7 +882,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>52</FileNumber> + <FileNumber>55</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -858,7 +894,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>53</FileNumber> + <FileNumber>56</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -878,7 +914,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>7</GroupNumber> - <FileNumber>54</FileNumber> + <FileNumber>57</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -890,7 +926,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>55</FileNumber> + <FileNumber>58</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -902,7 +938,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>56</FileNumber> + <FileNumber>59</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -914,7 +950,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>57</FileNumber> + <FileNumber>60</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -926,7 +962,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>58</FileNumber> + <FileNumber>61</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -938,7 +974,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>59</FileNumber> + <FileNumber>62</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -950,7 +986,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>60</FileNumber> + <FileNumber>63</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -962,7 +998,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>61</FileNumber> + <FileNumber>64</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -974,7 +1010,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>62</FileNumber> + <FileNumber>65</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -986,7 +1022,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>63</FileNumber> + <FileNumber>66</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -998,7 +1034,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>64</FileNumber> + <FileNumber>67</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1010,7 +1046,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>65</FileNumber> + <FileNumber>68</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1022,7 +1058,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>66</FileNumber> + <FileNumber>69</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1034,7 +1070,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>67</FileNumber> + <FileNumber>70</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1046,7 +1082,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>68</FileNumber> + <FileNumber>71</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1058,7 +1094,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>69</FileNumber> + <FileNumber>72</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1070,7 +1106,7 @@ </File> <File> <GroupNumber>7</GroupNumber> - <FileNumber>70</FileNumber> + <FileNumber>73</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1080,6 +1116,30 @@ <RteFlg>0</RteFlg> <bShared>0</bShared> </File> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>74</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c</PathWithFileName> + <FilenameWithoutPath>stm32f4xx_hal_i2c.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>7</GroupNumber> + <FileNumber>75</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c</PathWithFileName> + <FilenameWithoutPath>stm32f4xx_hal_i2c_ex.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> </Group> </ProjectOpt> diff --git a/bsp/stm32/stm32f469-st-disco/project.uvproj b/bsp/stm32/stm32f469-st-disco/project.uvproj index a2d91b54f3..8c41ab4ed7 100644 --- a/bsp/stm32/stm32f469-st-disco/project.uvproj +++ b/bsp/stm32/stm32f469-st-disco/project.uvproj @@ -359,7 +359,7 @@ <MiscControls /> <Define>USE_HAL_DRIVER, STM32F469xx</Define> <Undefine /> - <IncludePath>.;..\..\..\include;applications;board;board\CubeMX_Config\Inc;board\ports;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Inc;..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include;..\libraries\STM32F4xx_HAL\CMSIS\Include</IncludePath> + <IncludePath>.;..\..\..\include;applications;board;board\CubeMX_Config\Inc;board\ports;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Inc;..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include;..\libraries\STM32F4xx_HAL\CMSIS\Include</IncludePath> </VariousControls> </Cads> <Aads> @@ -563,6 +563,13 @@ </Files> <Files> <File> + <FileName>drv_soft_i2c.c</FileName> + <FileType>1</FileType> + <FilePath>..\libraries\HAL_Drivers\drv_soft_i2c.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> <FilePath>..\libraries\HAL_Drivers\drv_common.c</FilePath> @@ -611,6 +618,27 @@ <GroupName>DeviceDrivers</GroupName> <Files> <File> + <FileName>i2c_core.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\components\drivers\i2c\i2c_core.c</FilePath> + </File> + </Files> + <Files> + <File> + <FileName>i2c_dev.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\components\drivers\i2c\i2c_dev.c</FilePath> + </File> + </Files> + <Files> + <File> + <FileName>i2c-bit-ops.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\components\drivers\i2c\i2c-bit-ops.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>pin.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\misc\pin.c</FilePath> @@ -909,6 +937,20 @@ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c</FilePath> </File> </Files> + <Files> + <File> + <FileName>stm32f4xx_hal_i2c.c</FileName> + <FileType>1</FileType> + <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c</FilePath> + </File> + </Files> + <Files> + <File> + <FileName>stm32f4xx_hal_i2c_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c</FilePath> + </File> + </Files> </Group> </Groups> </Target> diff --git a/bsp/stm32/stm32f469-st-disco/project.uvprojx b/bsp/stm32/stm32f469-st-disco/project.uvprojx index e7d26b6d60..426084b731 100644 --- a/bsp/stm32/stm32f469-st-disco/project.uvprojx +++ b/bsp/stm32/stm32f469-st-disco/project.uvprojx @@ -338,7 +338,7 @@ <MiscControls></MiscControls> <Define>USE_HAL_DRIVER, STM32F469xx</Define> <Undefine></Undefine> - <IncludePath>.;..\..\..\include;applications;board;board\CubeMX_Config\Inc;board\ports;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Inc;..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include;..\libraries\STM32F4xx_HAL\CMSIS\Include</IncludePath> + <IncludePath>.;..\..\..\include;applications;board;board\CubeMX_Config\Inc;board\ports;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Inc;..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include;..\libraries\STM32F4xx_HAL\CMSIS\Include</IncludePath> </VariousControls> </Cads> <Aads> @@ -543,6 +543,21 @@ <GroupName>DeviceDrivers</GroupName> <Files> <File> + <FileName>i2c_core.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\components\drivers\i2c\i2c_core.c</FilePath> + </File> + <File> + <FileName>i2c_dev.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\components\drivers\i2c\i2c_dev.c</FilePath> + </File> + <File> + <FileName>i2c-bit-ops.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\components\drivers\i2c\i2c-bit-ops.c</FilePath> + </File> + <File> <FileName>pin.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\misc\pin.c</FilePath> @@ -762,6 +777,16 @@ <FileType>1</FileType> <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c</FilePath> </File> + <File> + <FileName>stm32f4xx_hal_i2c.c</FileName> + <FileType>1</FileType> + <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c</FilePath> + </File> + <File> + <FileName>stm32f4xx_hal_i2c_ex.c</FileName> + <FileType>1</FileType> + <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c</FilePath> + </File> </Files> </Group> </Groups> |
