From f9ab9d586857adab254b97642e7a218812d322fd Mon Sep 17 00:00:00 2001 From: David Lin Date: Wed, 4 Mar 2020 23:04:52 +0800 Subject: Fixed wrong output information to -> too --- components/drivers/wlan/wlan_dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'components/drivers') diff --git a/components/drivers/wlan/wlan_dev.c b/components/drivers/wlan/wlan_dev.c index 4241476a2b..1d17a8ca59 100644 --- a/components/drivers/wlan/wlan_dev.c +++ b/components/drivers/wlan/wlan_dev.c @@ -150,7 +150,7 @@ rt_err_t rt_wlan_dev_ap_start(struct rt_wlan_device *device, struct rt_wlan_info if ((password_len > RT_WLAN_PASSWORD_MAX_LENGTH) || (info->ssid.len > RT_WLAN_SSID_MAX_LENGTH)) { - LOG_E("L:%d password or ssid is to long", __LINE__); + LOG_E("L:%d password or ssid is too long", __LINE__); return -RT_ERROR; } -- cgit v1.3.1 From 39538e036bb317ebe147416bf0f9ad57940c7694 Mon Sep 17 00:00:00 2001 From: David Lin Date: Wed, 4 Mar 2020 23:13:45 +0800 Subject: Fixed wrong output information to ->too --- components/drivers/wlan/wlan_dev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'components/drivers') diff --git a/components/drivers/wlan/wlan_dev.c b/components/drivers/wlan/wlan_dev.c index 1d17a8ca59..53b6138e99 100644 --- a/components/drivers/wlan/wlan_dev.c +++ b/components/drivers/wlan/wlan_dev.c @@ -102,7 +102,7 @@ rt_err_t rt_wlan_dev_connect(struct rt_wlan_device *device, struct rt_wlan_info if ((password_len > RT_WLAN_PASSWORD_MAX_LENGTH) || (info->ssid.len > RT_WLAN_SSID_MAX_LENGTH)) { - LOG_E("L:%d password or ssid is to long", __LINE__); + LOG_E("L:%d password or ssid is too long", __LINE__); return -RT_ERROR; } rt_memset(&sta_info, 0, sizeof(struct rt_sta_info)); @@ -530,7 +530,7 @@ rt_err_t rt_wlan_dev_scan(struct rt_wlan_device *device, struct rt_wlan_info *in { if (info->ssid.len > RT_WLAN_SSID_MAX_LENGTH) { - LOG_E("L:%d ssid is to long", __LINE__); + LOG_E("L:%d ssid is too long", __LINE__); return -RT_EINVAL; } rt_memcpy(&scan_info.ssid, &info->ssid, sizeof(rt_wlan_ssid_t)); -- cgit v1.3.1 From dfcd38b74df749055c9dc8ea5ff4b8c632de1ce9 Mon Sep 17 00:00:00 2001 From: yangjie Date: Tue, 7 Apr 2020 13:35:09 +0800 Subject: [components][dataqueue]add rt_data_queue_deinit --- components/drivers/include/ipc/dataqueue.h | 2 ++ components/drivers/src/dataqueue.c | 46 ++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) (limited to 'components/drivers') diff --git a/components/drivers/include/ipc/dataqueue.h b/components/drivers/include/ipc/dataqueue.h index f584c267bf..eb2fcd90cc 100644 --- a/components/drivers/include/ipc/dataqueue.h +++ b/components/drivers/include/ipc/dataqueue.h @@ -25,6 +25,7 @@ struct rt_data_queue rt_uint16_t size; rt_uint16_t lwm; rt_bool_t waiting_lwm; + rt_bool_t is_init; rt_uint16_t get_index; rt_uint16_t put_index; @@ -57,5 +58,6 @@ rt_err_t rt_data_queue_peak(struct rt_data_queue *queue, const void **data_ptr, rt_size_t *size); void rt_data_queue_reset(struct rt_data_queue *queue); +rt_err_t rt_data_queue_deinit(struct rt_data_queue *queue); #endif diff --git a/components/drivers/src/dataqueue.c b/components/drivers/src/dataqueue.c index 7553986b9f..219acb9ac8 100644 --- a/components/drivers/src/dataqueue.c +++ b/components/drivers/src/dataqueue.c @@ -31,6 +31,7 @@ rt_data_queue_init(struct rt_data_queue *queue, queue->size = size; queue->lwm = lwm; + queue->is_init = RT_TRUE; queue->get_index = 0; queue->put_index = 0; @@ -57,6 +58,11 @@ rt_err_t rt_data_queue_push(struct rt_data_queue *queue, rt_thread_t thread; rt_err_t result; + if(queue->is_init != RT_TRUE) + { + return RT_ERROR; + } + RT_ASSERT(queue != RT_NULL); result = RT_EOK; @@ -145,6 +151,11 @@ rt_err_t rt_data_queue_pop(struct rt_data_queue *queue, rt_ubase_t level; rt_thread_t thread; rt_err_t result; + + if(queue->is_init != RT_TRUE) + { + return RT_ERROR; + } RT_ASSERT(queue != RT_NULL); RT_ASSERT(data_ptr != RT_NULL); @@ -244,6 +255,11 @@ rt_err_t rt_data_queue_peak(struct rt_data_queue *queue, rt_size_t *size) { rt_ubase_t level; + + if(queue->is_init != RT_TRUE) + { + return RT_ERROR; + } RT_ASSERT(queue != RT_NULL); @@ -269,6 +285,11 @@ void rt_data_queue_reset(struct rt_data_queue *queue) { struct rt_thread *thread; register rt_ubase_t temp; + + if(queue->is_init != RT_TRUE) + { + return; + } rt_enter_critical(); /* wakeup all suspend threads */ @@ -325,3 +346,28 @@ void rt_data_queue_reset(struct rt_data_queue *queue) rt_schedule(); } RTM_EXPORT(rt_data_queue_reset); + +rt_err_t rt_data_queue_deinit(struct rt_data_queue *queue) +{ + rt_ubase_t level; + + if(queue->is_init != RT_TRUE) + { + return RT_ERROR; + } + + RT_ASSERT(queue != RT_NULL); + + level = rt_hw_interrupt_disable(); + + /* wakeup all suspend threads */ + rt_data_queue_reset(queue); + + queue->is_init = RT_FALSE; + rt_free(queue->queue); + + rt_hw_interrupt_enable(level); + + return RT_EOK; +} +RTM_EXPORT(rt_data_queue_deinit); -- cgit v1.3.1 From 1d7b34f471171c94605cb95b739562d2dff664c7 Mon Sep 17 00:00:00 2001 From: yangjie Date: Wed, 8 Apr 2020 11:05:37 +0800 Subject: [components][dataqueue]修改is_init为magic数 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/drivers/include/ipc/dataqueue.h | 3 ++- components/drivers/src/dataqueue.c | 37 ++++++++---------------------- 2 files changed, 12 insertions(+), 28 deletions(-) (limited to 'components/drivers') diff --git a/components/drivers/include/ipc/dataqueue.h b/components/drivers/include/ipc/dataqueue.h index eb2fcd90cc..d90be76ffb 100644 --- a/components/drivers/include/ipc/dataqueue.h +++ b/components/drivers/include/ipc/dataqueue.h @@ -22,10 +22,11 @@ struct rt_data_item; /* data queue implementation */ struct rt_data_queue { + rt_uint32_t magic; + rt_uint16_t size; rt_uint16_t lwm; rt_bool_t waiting_lwm; - rt_bool_t is_init; rt_uint16_t get_index; rt_uint16_t put_index; diff --git a/components/drivers/src/dataqueue.c b/components/drivers/src/dataqueue.c index 219acb9ac8..5a802c0711 100644 --- a/components/drivers/src/dataqueue.c +++ b/components/drivers/src/dataqueue.c @@ -13,6 +13,8 @@ #include #include +#define DATAQUEUE_MAGIC 0xbead0e0e + struct rt_data_item { const void *data_ptr; @@ -29,9 +31,9 @@ rt_data_queue_init(struct rt_data_queue *queue, queue->evt_notify = evt_notify; + queue->magic = DATAQUEUE_MAGIC; queue->size = size; queue->lwm = lwm; - queue->is_init = RT_TRUE; queue->get_index = 0; queue->put_index = 0; @@ -58,11 +60,7 @@ rt_err_t rt_data_queue_push(struct rt_data_queue *queue, rt_thread_t thread; rt_err_t result; - if(queue->is_init != RT_TRUE) - { - return RT_ERROR; - } - + RT_ASSERT(queue->magic == DATAQUEUE_MAGIC); RT_ASSERT(queue != RT_NULL); result = RT_EOK; @@ -152,11 +150,7 @@ rt_err_t rt_data_queue_pop(struct rt_data_queue *queue, rt_thread_t thread; rt_err_t result; - if(queue->is_init != RT_TRUE) - { - return RT_ERROR; - } - + RT_ASSERT(queue->magic == DATAQUEUE_MAGIC); RT_ASSERT(queue != RT_NULL); RT_ASSERT(data_ptr != RT_NULL); RT_ASSERT(size != RT_NULL); @@ -256,11 +250,7 @@ rt_err_t rt_data_queue_peak(struct rt_data_queue *queue, { rt_ubase_t level; - if(queue->is_init != RT_TRUE) - { - return RT_ERROR; - } - + RT_ASSERT(queue->magic == DATAQUEUE_MAGIC); RT_ASSERT(queue != RT_NULL); level = rt_hw_interrupt_disable(); @@ -286,11 +276,8 @@ void rt_data_queue_reset(struct rt_data_queue *queue) struct rt_thread *thread; register rt_ubase_t temp; - if(queue->is_init != RT_TRUE) - { - return; - } - + RT_ASSERT(queue->magic == DATAQUEUE_MAGIC); + rt_enter_critical(); /* wakeup all suspend threads */ @@ -351,11 +338,7 @@ rt_err_t rt_data_queue_deinit(struct rt_data_queue *queue) { rt_ubase_t level; - if(queue->is_init != RT_TRUE) - { - return RT_ERROR; - } - + RT_ASSERT(queue->magic == DATAQUEUE_MAGIC); RT_ASSERT(queue != RT_NULL); level = rt_hw_interrupt_disable(); @@ -363,7 +346,7 @@ rt_err_t rt_data_queue_deinit(struct rt_data_queue *queue) /* wakeup all suspend threads */ rt_data_queue_reset(queue); - queue->is_init = RT_FALSE; + queue->magic = 0; rt_free(queue->queue); rt_hw_interrupt_enable(level); -- cgit v1.3.1 From cb9bc38ec9ad9dd6db0c5392078c9e2c3cfd24b3 Mon Sep 17 00:00:00 2001 From: yangjie Date: Fri, 10 Apr 2020 18:41:59 +0800 Subject: [components][serial]关闭uart时,反初始化tx_dma->data_queue,防止内存泄漏 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/drivers/serial/serial.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'components/drivers') diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index 7dd2918b9b..c442b052b1 100644 --- a/components/drivers/serial/serial.c +++ b/components/drivers/serial/serial.c @@ -785,6 +785,8 @@ static rt_err_t rt_serial_close(struct rt_device *dev) tx_dma = (struct rt_serial_tx_dma*)serial->serial_tx; RT_ASSERT(tx_dma != RT_NULL); + rt_data_queue_deinit(&(tx_dma->data_queue)); + rt_free(tx_dma); serial->serial_tx = RT_NULL; dev->open_flag &= ~RT_DEVICE_FLAG_DMA_TX; -- cgit v1.3.1 From 9545529b33cbaae137f1e389dd0e3a5233d516da Mon Sep 17 00:00:00 2001 From: DeclanHuaChen <33150823+DeclanHuaChen@users.noreply.github.com> Date: Sat, 11 Apr 2020 16:06:32 +0800 Subject: Fix some spelling mistakes --- bsp/stm32/libraries/STM32F2xx_HAL/SConscript | 2 +- components/drivers/usb/usbhost/class/adk.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'components/drivers') diff --git a/bsp/stm32/libraries/STM32F2xx_HAL/SConscript b/bsp/stm32/libraries/STM32F2xx_HAL/SConscript index 2f5f37d31c..b69484d566 100644 --- a/bsp/stm32/libraries/STM32F2xx_HAL/SConscript +++ b/bsp/stm32/libraries/STM32F2xx_HAL/SConscript @@ -29,7 +29,7 @@ if GetDepend(['RT_USING_SPI']): src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_hal_spi.c'] if GetDepend(['RT_USING_USB_HOST']) or GetDepend(['RT_USING_USB_DEVICE']): - src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_hal_pccd.c'] + src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_hal_pccard.c'] src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_hal_pcd.c'] src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_hal_pcd_ex.c'] src += ['STM32F2xx_HAL_Driver/Src/stm32f2xx_ll_usb.c'] diff --git a/components/drivers/usb/usbhost/class/adk.h b/components/drivers/usb/usbhost/class/adk.h index 041d47c674..c582ad7f17 100644 --- a/components/drivers/usb/usbhost/class/adk.h +++ b/components/drivers/usb/usbhost/class/adk.h @@ -8,8 +8,8 @@ * 2011-12-12 Yi Qiu first version */ -#ifndef __HID_H__ -#define __HID_H__ +#ifndef __ADK_H__ +#define __ADK_H__ #include -- cgit v1.3.1 From ff09587d2381da4d02fd8a31a73e6271f3ca3e9f Mon Sep 17 00:00:00 2001 From: David Lin Date: Sun, 12 Apr 2020 11:58:33 +0800 Subject: [components/drivers] update pipe.c Fixed stackover flow bug when create pipe->fifo --- components/drivers/src/pipe.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'components/drivers') diff --git a/components/drivers/src/pipe.c b/components/drivers/src/pipe.c index ae87b6f5f2..393370fc9a 100644 --- a/components/drivers/src/pipe.c +++ b/components/drivers/src/pipe.c @@ -330,6 +330,11 @@ rt_err_t rt_pipe_open (rt_device_t device, rt_uint16_t oflag) if (pipe->fifo == RT_NULL) { pipe->fifo = rt_ringbuffer_create(pipe->bufsz); + if (pipe->fifo == RT_NULL) + { + rt_mutex_release(&(pipe->lock)); + return -RT_ENOMEM; + } } rt_mutex_release(&(pipe->lock)); -- cgit v1.3.1 From e9d930070d88362033312e0d7b6d07b0433e4069 Mon Sep 17 00:00:00 2001 From: David Lin Date: Mon, 13 Apr 2020 07:20:29 +0800 Subject: Update pipe.c --- components/drivers/src/pipe.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'components/drivers') diff --git a/components/drivers/src/pipe.c b/components/drivers/src/pipe.c index 393370fc9a..2a7e143f6c 100644 --- a/components/drivers/src/pipe.c +++ b/components/drivers/src/pipe.c @@ -323,8 +323,14 @@ static const struct dfs_file_ops pipe_fops = rt_err_t rt_pipe_open (rt_device_t device, rt_uint16_t oflag) { rt_pipe_t *pipe = (rt_pipe_t *)device; + rt_err_t ret = RT_EOK; - if (device == RT_NULL) return -RT_EINVAL; + if (device == RT_NULL) + { + ret = -RT_EINVAL; + goto __exit; + } + rt_mutex_take(&(pipe->lock), RT_WAITING_FOREVER); if (pipe->fifo == RT_NULL) @@ -332,14 +338,14 @@ rt_err_t rt_pipe_open (rt_device_t device, rt_uint16_t oflag) pipe->fifo = rt_ringbuffer_create(pipe->bufsz); if (pipe->fifo == RT_NULL) { - rt_mutex_release(&(pipe->lock)); - return -RT_ENOMEM; + ret = -RT_ENOMEM; } } rt_mutex_release(&(pipe->lock)); - return RT_EOK; +__exit: + return ret; } rt_err_t rt_pipe_close (rt_device_t device) -- cgit v1.3.1 From 9d374f873cc9d3f0ee1af5f463fcaeee75d5f6e8 Mon Sep 17 00:00:00 2001 From: hphuang Date: Tue, 28 Apr 2020 19:07:08 +0800 Subject: mstorage.c: fix the issue that _read_capacity() returns the wrong last valid address of storage medium --- components/drivers/usb/usbdevice/class/mstorage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'components/drivers') diff --git a/components/drivers/usb/usbdevice/class/mstorage.c b/components/drivers/usb/usbdevice/class/mstorage.c index 43fb25afe4..a681b8212f 100644 --- a/components/drivers/usb/usbdevice/class/mstorage.c +++ b/components/drivers/usb/usbdevice/class/mstorage.c @@ -426,7 +426,7 @@ static rt_size_t _read_capacity(ufunction_t func, ustorage_cbw_t cbw) data = (struct mstorage*)func->user_data; buf = data->ep_in->buffer; - sector_count = data->geometry.sector_count; + sector_count = data->geometry.sector_count - 1; /* Last Logical Block Address */ sector_size = data->geometry.bytes_per_sector; buf[0] = sector_count >> 24; -- cgit v1.3.1 From 040816dee8c1933c75060a696638e368230a7dc2 Mon Sep 17 00:00:00 2001 From: Prry <445395670@qq.com> Date: Sat, 2 May 2020 00:39:48 +0800 Subject: add vendor information of sensor --- components/drivers/sensors/sensor.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'components/drivers') diff --git a/components/drivers/sensors/sensor.h b/components/drivers/sensors/sensor.h index a0eaaae9ea..3821ec36ca 100755 --- a/components/drivers/sensors/sensor.h +++ b/components/drivers/sensors/sensor.h @@ -61,6 +61,8 @@ extern "C" { #define RT_SENSOR_VENDOR_ASAIR (8) /* Aosong */ #define RT_SENSOR_VENDOR_SHARP (9) /* Sharp */ #define RT_SENSOR_VENDOR_SENSIRION (10) /* Sensirion */ +#define RT_SENSOR_VENDOR_TI (11) /* Texas Instruments*/ + /* Sensor unit types */ -- cgit v1.3.1