summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2020-12-28 04:13:25 -0600
committerGitHub <[email protected]>2020-12-28 04:13:25 -0600
commit3bca2cfb418f03c529fc8563b62c19d391caf90b (patch)
tree469dbaebaa3325f64e59b71b4063f135bb6fdfd8 /components
parent84a5f96453ee2719695b719142af08b7a51b623d (diff)
parent936db0e396f286a7f493cdadb698cf9340a82448 (diff)
Merge pull request #7 from RT-Thread/master
pr
Diffstat (limited to 'components')
-rwxr-xr-xcomponents/drivers/Kconfig5
-rw-r--r--components/drivers/sensors/SConscript2
-rw-r--r--components/drivers/sensors/sensor.c3
-rwxr-xr-xcomponents/drivers/sensors/sensor.h1
-rwxr-xr-xcomponents/drivers/sensors/sensor_cmd.c1
-rw-r--r--components/drivers/touch/SConscript2
-rw-r--r--components/drivers/touch/touch.c26
-rw-r--r--components/drivers/touch/touch.h5
-rw-r--r--components/libc/aio/SConscript2
-rw-r--r--components/libc/compilers/dlib/SConscript2
-rw-r--r--components/libc/compilers/newlib/SConscript2
-rw-r--r--components/libc/pthreads/SConscript2
-rw-r--r--components/libc/time/SConscript2
-rw-r--r--components/net/lwip-1.4.1/SConscript2
-rw-r--r--components/net/lwip_nat/SConscript2
-rw-r--r--components/net/netdev/SConscript2
-rw-r--r--components/net/netdev/src/netdev.c4
-rw-r--r--components/utilities/utest/SConscript2
18 files changed, 45 insertions, 22 deletions
diff --git a/components/drivers/Kconfig b/components/drivers/Kconfig
index 198f1bbbf8..006497519f 100755
--- a/components/drivers/Kconfig
+++ b/components/drivers/Kconfig
@@ -291,6 +291,11 @@ endif
config RT_USING_TOUCH
bool "Using Touch device drivers"
default n
+ if RT_USING_TOUCH
+ config RT_TOUCH_PIN_IRQ
+ bool "touch irq use pin irq"
+ default n
+ endif
menuconfig RT_USING_HWCRYPTO
bool "Using Hardware Crypto drivers"
diff --git a/components/drivers/sensors/SConscript b/components/drivers/sensors/SConscript
index 51c4b50eef..b56ae5ce6e 100644
--- a/components/drivers/sensors/SConscript
+++ b/components/drivers/sensors/SConscript
@@ -7,7 +7,7 @@ src = ['sensor.c']
CPPPATH = [cwd, cwd + '/../include']
if GetDepend('RT_USING_SENSOR_CMD'):
- src += ['sensor_cmd.c'];
+ src += ['sensor_cmd.c']
group = DefineGroup('Sensors', src, depend = ['RT_USING_SENSOR', 'RT_USING_DEVICE'], CPPPATH = CPPPATH)
diff --git a/components/drivers/sensors/sensor.c b/components/drivers/sensors/sensor.c
index eb5c97a574..bbfcea97be 100644
--- a/components/drivers/sensors/sensor.c
+++ b/components/drivers/sensors/sensor.c
@@ -35,7 +35,8 @@ static char *const sensor_name_str[] =
"forc_", /* Force sensor */
"dust_", /* Dust sensor */
"eco2_", /* eCO2 sensor */
- "gnss_" /* GPS/GNSS sensor */
+ "gnss_", /* GPS/GNSS sensor */
+ "tof_" /* TOF sensor */
};
/* Sensor interrupt correlation function */
diff --git a/components/drivers/sensors/sensor.h b/components/drivers/sensors/sensor.h
index 5a069edc25..b180e36a73 100755
--- a/components/drivers/sensors/sensor.h
+++ b/components/drivers/sensors/sensor.h
@@ -48,6 +48,7 @@ extern "C" {
#define RT_SENSOR_CLASS_DUST (14) /* Dust sensor */
#define RT_SENSOR_CLASS_ECO2 (15) /* eCO2 sensor */
#define RT_SENSOR_CLASS_GNSS (16) /* GPS/GNSS sensor */
+#define RT_SENSOR_CLASS_TOF (17) /* TOF sensor */
/* Sensor vendor types */
diff --git a/components/drivers/sensors/sensor_cmd.c b/components/drivers/sensors/sensor_cmd.c
index 284db75cf6..cbf7d233c6 100755
--- a/components/drivers/sensors/sensor_cmd.c
+++ b/components/drivers/sensors/sensor_cmd.c
@@ -50,6 +50,7 @@ static void sensor_show_data(rt_size_t num, rt_sensor_t sensor, struct rt_sensor
LOG_I("num:%3d, light:%5d lux, timestamp:%5d", num, sensor_data->data.light, sensor_data->timestamp);
break;
case RT_SENSOR_CLASS_PROXIMITY:
+ case RT_SENSOR_CLASS_TOF:
LOG_I("num:%3d, distance:%5d, timestamp:%5d", num, sensor_data->data.proximity, sensor_data->timestamp);
break;
case RT_SENSOR_CLASS_HR:
diff --git a/components/drivers/touch/SConscript b/components/drivers/touch/SConscript
index f370b2aba6..6c2a126c9c 100644
--- a/components/drivers/touch/SConscript
+++ b/components/drivers/touch/SConscript
@@ -6,6 +6,6 @@ cwd = GetCurrentDir()
src = ['touch.c']
CPPPATH = [cwd, cwd + '/../include']
-group = DefineGroup('Touch', src, depend = ['RT_USING_TOUCH', 'RT_USING_DEVICE'], CPPPATH = CPPPATH)
+group = DefineGroup('DeviceDrivers', src, depend = ['RT_USING_TOUCH', 'RT_USING_DEVICE'], CPPPATH = CPPPATH)
Return('group')
diff --git a/components/drivers/touch/touch.c b/components/drivers/touch/touch.c
index 80ba6378bb..e9595e9f8f 100644
--- a/components/drivers/touch/touch.c
+++ b/components/drivers/touch/touch.c
@@ -16,12 +16,9 @@
#include <rtdbg.h>
/* ISR for touch interrupt */
-static void irq_callback(void *args)
+void rt_hw_touch_isr(rt_touch_t touch)
{
- rt_touch_t touch;
-
- touch = (rt_touch_t)args;
-
+ RT_ASSERT(touch);
if (touch->parent.rx_indicate == RT_NULL)
{
return;
@@ -35,9 +32,17 @@ static void irq_callback(void *args)
touch->parent.rx_indicate(&touch->parent, 1);
}
+#ifdef RT_TOUCH_PIN_IRQ
+static void touch_irq_callback(void *param)
+{
+ rt_hw_touch_isr((rt_touch_t)param);
+}
+#endif
+
/* touch interrupt initialization function */
static rt_err_t rt_touch_irq_init(rt_touch_t touch)
{
+#ifdef RT_TOUCH_PIN_IRQ
if (touch->config.irq_pin.pin == RT_PIN_NONE)
{
return -RT_EINVAL;
@@ -47,18 +52,19 @@ static rt_err_t rt_touch_irq_init(rt_touch_t touch)
if (touch->config.irq_pin.mode == PIN_MODE_INPUT_PULLDOWN)
{
- rt_pin_attach_irq(touch->config.irq_pin.pin, PIN_IRQ_MODE_RISING, irq_callback, (void *)touch);
+ rt_pin_attach_irq(touch->config.irq_pin.pin, PIN_IRQ_MODE_RISING, touch_irq_callback, (void *)touch);
}
else if (touch->config.irq_pin.mode == PIN_MODE_INPUT_PULLUP)
{
- rt_pin_attach_irq(touch->config.irq_pin.pin, PIN_IRQ_MODE_FALLING, irq_callback, (void *)touch);
+ rt_pin_attach_irq(touch->config.irq_pin.pin, PIN_IRQ_MODE_FALLING, touch_irq_callback, (void *)touch);
}
else if (touch->config.irq_pin.mode == PIN_MODE_INPUT)
{
- rt_pin_attach_irq(touch->config.irq_pin.pin, PIN_IRQ_MODE_RISING_FALLING, irq_callback, (void *)touch);
+ rt_pin_attach_irq(touch->config.irq_pin.pin, PIN_IRQ_MODE_RISING_FALLING, touch_irq_callback, (void *)touch);
}
rt_pin_irq_enable(touch->config.irq_pin.pin, PIN_IRQ_ENABLE);
+#endif
return RT_EOK;
}
@@ -66,19 +72,23 @@ static rt_err_t rt_touch_irq_init(rt_touch_t touch)
/* touch interrupt enable */
static void rt_touch_irq_enable(rt_touch_t touch)
{
+#ifdef RT_TOUCH_PIN_IRQ
if (touch->config.irq_pin.pin != RT_PIN_NONE)
{
rt_pin_irq_enable(touch->config.irq_pin.pin, RT_TRUE);
}
+#endif
}
/* touch interrupt disable */
static void rt_touch_irq_disable(rt_touch_t touch)
{
+#ifdef RT_TOUCH_PIN_IRQ
if (touch->config.irq_pin.pin != RT_PIN_NONE)
{
rt_pin_irq_enable(touch->config.irq_pin.pin, RT_FALSE);
}
+#endif
}
static rt_err_t rt_touch_open(rt_device_t dev, rt_uint16_t oflag)
diff --git a/components/drivers/touch/touch.h b/components/drivers/touch/touch.h
index c33fe17520..be12c24206 100644
--- a/components/drivers/touch/touch.h
+++ b/components/drivers/touch/touch.h
@@ -66,7 +66,9 @@ struct rt_touch_info
struct rt_touch_config
{
+#ifdef RT_TOUCH_PIN_IRQ
struct rt_device_pin_mode irq_pin; /* Interrupt pin, The purpose of this pin is to notification read data */
+#endif
char *dev_name; /* The name of the communication device */
void *user_data;
};
@@ -103,6 +105,9 @@ int rt_hw_touch_register(rt_touch_t touch,
rt_uint32_t flag,
void *data);
+/* if you doesn't use pin device. you must call this function in your touch irq callback */
+void rt_hw_touch_isr(rt_touch_t touch);
+
#ifdef __cplusplus
}
#endif
diff --git a/components/libc/aio/SConscript b/components/libc/aio/SConscript
index 175767100a..f10462e9c4 100644
--- a/components/libc/aio/SConscript
+++ b/components/libc/aio/SConscript
@@ -6,6 +6,6 @@ cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
-group = DefineGroup('aio', src, depend = ['RT_USING_POSIX', 'RT_USING_POSIX_AIO'], CPPPATH = CPPPATH)
+group = DefineGroup('libc', src, depend = ['RT_USING_POSIX', 'RT_USING_POSIX_AIO'], CPPPATH = CPPPATH)
Return('group')
diff --git a/components/libc/compilers/dlib/SConscript b/components/libc/compilers/dlib/SConscript
index 456b762496..75a5812fab 100644
--- a/components/libc/compilers/dlib/SConscript
+++ b/components/libc/compilers/dlib/SConscript
@@ -20,7 +20,7 @@ if rtconfig.PLATFORM == 'iar':
if LooseVersion(IARVersion()) < LooseVersion("8.20.1"):
CPPDEFINES = CPPDEFINES + ['_DLIB_THREAD_SUPPORT']
- group = DefineGroup('dlib', src, depend = ['RT_USING_LIBC'],
+ group = DefineGroup('libc', src, depend = ['RT_USING_LIBC'],
CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
Return('group')
diff --git a/components/libc/compilers/newlib/SConscript b/components/libc/compilers/newlib/SConscript
index 06e5faad09..d0868bbdea 100644
--- a/components/libc/compilers/newlib/SConscript
+++ b/components/libc/compilers/newlib/SConscript
@@ -15,7 +15,7 @@ CPPDEFINES = ['RT_USING_NEWLIB']
LIBS = ['c', 'm']
if rtconfig.PLATFORM == 'gcc':
- group = DefineGroup('newlib', src, depend = ['RT_USING_LIBC'],
+ group = DefineGroup('libc', src, depend = ['RT_USING_LIBC'],
CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES, LIBS = LIBS)
Return('group')
diff --git a/components/libc/pthreads/SConscript b/components/libc/pthreads/SConscript
index e154ee0aa9..767b406d4c 100644
--- a/components/libc/pthreads/SConscript
+++ b/components/libc/pthreads/SConscript
@@ -16,7 +16,7 @@ try:
except :
pass
-group = DefineGroup('pthreads', src,
+group = DefineGroup('libc', src,
depend = ['RT_USING_PTHREADS', 'RT_USING_LIBC'], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
Return('group')
diff --git a/components/libc/time/SConscript b/components/libc/time/SConscript
index 4ecd5d24bc..f7e6f7e8e9 100644
--- a/components/libc/time/SConscript
+++ b/components/libc/time/SConscript
@@ -6,7 +6,7 @@ cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
-group = DefineGroup('pthreads', src,
+group = DefineGroup('libc', src,
depend = ['RT_USING_PTHREADS'], CPPPATH = CPPPATH)
Return('group')
diff --git a/components/net/lwip-1.4.1/SConscript b/components/net/lwip-1.4.1/SConscript
index 8e3a4cb9d4..848e2d8255 100644
--- a/components/net/lwip-1.4.1/SConscript
+++ b/components/net/lwip-1.4.1/SConscript
@@ -82,6 +82,6 @@ if GetDepend(['RT_LWIP_PPP']):
if GetDepend(['RT_LWIP_USING_PING']):
src += Glob('src/apps/ping/ping.c')
-group = DefineGroup('LwIP', src, depend = ['RT_USING_LWIP', 'RT_USING_LWIP141'], CPPPATH = path)
+group = DefineGroup('lwIP', src, depend = ['RT_USING_LWIP', 'RT_USING_LWIP141'], CPPPATH = path)
Return('group')
diff --git a/components/net/lwip_nat/SConscript b/components/net/lwip_nat/SConscript
index ce684f677a..d8b95b1ce3 100644
--- a/components/net/lwip_nat/SConscript
+++ b/components/net/lwip_nat/SConscript
@@ -5,6 +5,6 @@ src = Glob('*.c')
CPPPATH = [cwd]
-group = DefineGroup('LwIP', src, depend = ['RT_USING_LWIP', 'LWIP_USING_NAT'], CPPPATH = CPPPATH)
+group = DefineGroup('lwIP', src, depend = ['RT_USING_LWIP', 'LWIP_USING_NAT'], CPPPATH = CPPPATH)
Return('group')
diff --git a/components/net/netdev/SConscript b/components/net/netdev/SConscript
index fca31a268b..ec1d2b2905 100644
--- a/components/net/netdev/SConscript
+++ b/components/net/netdev/SConscript
@@ -8,6 +8,6 @@ src = Glob('src/*.c')
CPPPATH = [cwd + '/include']
-group = DefineGroup('netdev', src, depend = ['RT_USING_NETDEV'], CPPPATH = CPPPATH)
+group = DefineGroup('SAL', src, depend = ['RT_USING_NETDEV'], CPPPATH = CPPPATH)
Return('group')
diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c
index 04bf6e8ad7..92d5b188eb 100644
--- a/components/net/netdev/src/netdev.c
+++ b/components/net/netdev/src/netdev.c
@@ -78,7 +78,7 @@ int netdev_register(struct netdev *netdev, const char *name, void *user_data)
netdev->addr_callback = RT_NULL;
/* fill network interface device */
- rt_strncpy(netdev->name, name, rt_strlen(name));
+ rt_strncpy(netdev->name, name, RT_NAME_MAX);
netdev->user_data = user_data;
/* initialize current network interface device single list */
@@ -260,7 +260,7 @@ struct netdev *netdev_get_by_name(const char *name)
for (node = &(netdev_list->list); node; node = rt_slist_next(node))
{
netdev = rt_slist_entry(node, struct netdev, list);
- if (netdev && (rt_strncmp(netdev->name, name, rt_strlen(netdev->name)) == 0))
+ if (netdev && (rt_strncmp(netdev->name, name, RT_NAME_MAX) == 0))
{
rt_hw_interrupt_enable(level);
return netdev;
diff --git a/components/utilities/utest/SConscript b/components/utilities/utest/SConscript
index dc77bc2591..5d408ccbd0 100644
--- a/components/utilities/utest/SConscript
+++ b/components/utilities/utest/SConscript
@@ -3,6 +3,6 @@ from building import *
cwd = GetCurrentDir()
src = Glob('*.c')
CPPPATH = [cwd]
-group = DefineGroup('utest', src, depend = ['RT_USING_UTEST'], CPPPATH = CPPPATH)
+group = DefineGroup('UTest', src, depend = ['RT_USING_UTEST'], CPPPATH = CPPPATH)
Return('group')