127 Commits

Author SHA1 Message Date
蒙蒙plus
6ab057be41 🐞 fix(at_socket):修复socket 在开启server下的connect连接
修复accept在错误执行过程中返回无效socket问题
2025-11-21 17:23:54 +08:00
RyanCW
a1a8bc5422 [component][net][at] at_client增加deInit接口 (#10598)
* [component][net][at] at_client增加deInit接口

* [component][net][at] at_client优化serial_v2适配
2025-08-21 18:49:35 +08:00
ryancw
ac8fba0129 [drivers][serial_v2]允许阻塞接收超过rx缓冲区大小的数据、增加超时时间、flush、获取缓冲区数据长度命令、数据溢出逻辑修复、稳定性细节优化、添加更多serial_v2测试用例
[components][serial_v2] 优化txflush逻辑、对tx的activated做中断保护

[components][at] at_client适配新版serial_v2

[components][at] at_server适配新版serial_v2

[components][serial_v2] 测试用例增加循环调用,format测试用例

[components][serial_v2] poll模式判断逻辑错误

[components][serial_v2] 测试用例去掉一些非必要延时

[components][serial_v2] 测试例程使用menuconfig进行配置,更新readme

[components][at_client] at_client_getchar返回值错误、at_client解析线程优先级错误设置

[components][at] 错误码应该返回负值

[components][serial_v2] TCFLSH和FIONREAD完善、control函数增加错误返回值

[components][serial_v2] RT_SERIAL_CTRL_GET_RX_DATA_LEN更改为RT_SERIAL_CTRL_GET_UNREAD_BYTES_COUNT

[utest][serial_v2] TC_UART_SEND_TIMES替换为RT_SERIAL_TC_SEND_ITERATIONS

[components][serial_v2] FIONREAD参数应该是无符号类型

[utest][serial_v2] 完善测试用例

[components][serial_v2] 避免使用三目运算符

[components][serial_v2] 使用clang-format格式化代码

[components][serial_v2] 添加get超时时间命令

[components][serial_v2] 完善posix接口

[components][serial_v2] 阻塞接口添加阻塞时间为0时的处理逻辑、优化RX阻塞接收逻辑

[components][serial_v2] 设置超时时间命令的参数改为指针形式

[components][serial_v2] nbuf发送添加超时时间为0时的逻辑

[components][serial_v2] 完善添加测试用例

[utest][serial_v2] 修复依赖关系

[components][serial_v2] 非阻塞模式下tx_flush错误修复

[components][serial_v2] activated使用原子API

[components][serial_v2] 优化DMA逻辑、没使能DMA时屏蔽DMA逻辑节约资源

[components][serial_v2] 提供写满时丢弃新数据和覆盖旧数据策略,写满丢弃策略效率更高

[components][serial_v2] 部分平台适配写满时两种策略功能

[components][serial_v2] DMA模式暂不支持丢弃新数据策略

[utest][serial_v2] 优化测试代码

[components][serial_v2] DMA模式下使用乒乓缓冲、DMA模式支持丢弃新数据策略

[utest][serial_v2] 适配DMA乒乓缓冲

[bsp][serial_v2] 部分bsp适配DMA下乒乓缓冲

[components][serial_v2] 使用spinlock替换中断,对部分结构体变量使用原子操作

[utest][serial_v2] 更新测试用例

[components][at] 适配new serialv2不再判断RTT版本号

[components][at] 删除多余的中文注释

[utest][serial_v2] 添加交叉echo示例,qemu环境下专用

[bsp][qemu] 适配串口v2并开启fifo

[components][at] 修复合并导致的错误

[bsp][n32] 适配serial_v2,没有经过测试

[components][serial_v2] 格式化代码

[utest][serial_v2] 删除无意义的打印
2025-05-16 09:42:11 +08:00
1078249029
9d3ee51107 [components][at] Add formatting message function for at client
It will be useful for quiting transmission mode of some chips like esp8266.

Signed-off-by: 1078249029 <1078249029@qq.com>
2025-03-12 20:48:07 -04:00
dongly
b81a44bf74 [AT] AT_Device 适配 SERIAL_V2 (#9860)
AT_Device 适配 SERIAL_V2
2025-01-03 13:00:33 +08:00
Meco Man
443ade4c29 [sscanf] use rt_sscanf to replace sscanf 2024-11-27 10:59:15 +08:00
yangpeng
f98f772a84 [components/net/at]修复大数据量传输socket断开后可能丢数据的问题 2024-11-05 22:36:33 -05:00
yangpeng
a939e8e4ea [components/net/at]修复at socket信号量释放异常 2024-11-04 17:52:59 -05:00
ryancw
9de975fa93 [components][sal][at] _gethostbyname_by_device 添加注释 2024-09-09 18:07:41 -04:00
ryancw
bac9812cf9 [component][at_socket] udp一个socket跟多个地址通讯bug修复、DNS加锁防止多线程错乱、实现at_gethostbyname_r、稳定性优化 2024-09-09 18:07:41 -04:00
RyanCW
188b87f4d8 [components][at_socket] 添加errno设置 2024-09-05 17:54:50 -04:00
yangpengya
a8d5a645f2 [components][at] 优化AT组件,并解决内存泄露
1.优化at server endmark判断,支持自动识别'\r''\n'"\r\n"。
2.优化at_recvfrom,修复大数据量时sem多次释放造成的接收错误。
3.修复at组件中可能存在的内存泄露。
4.优化部分代码逻辑,减少冗余代码。
2024-02-18 11:07:05 -05:00
yangpeng
8012c0c9a2 [at]优先判断是否是URC数据 2023-10-08 13:25:28 +08:00
yangpeng
c386a2c956 [at]优化at格式化输出,避免多个at client和server输出冲突 2023-10-08 13:25:28 +08:00
JasonCang
d0c6d6f4a4 [at] optimize at_vprintfln
为什么提交这份PR (why to submit this PR)
现在的at指令发送接口,底层会自动添加"\r\n",某些场景需要发送空指令。如ESP32的蓝牙发送数据指令,收到">"后
发数据,等待接收OK。

详细讨论可见:
https://club.rt-thread.org/ask/question/185810c0aed98558.html

你的解决方案是什么 (what is your solution)
判断at指令长度,长度为0,则直接返回
2023-06-09 23:40:37 -04:00
wenxingpt
f2d78e87b5 [component][at] fix(misc): fix null char input issue
fix issue #7005
2023-05-14 00:33:59 -04:00
szlr
90853abb08 [HUST CSE] for循环判断条件出错字符串读取越界 (#7352) 2023-04-26 09:15:31 +08:00
HUST_lxq
69e5b10e31 [at_socket.c] Fix null pointer vulnerability caused by the variable at_sock (#7166) 2023-04-03 23:06:42 +08:00
Lu_Reaper
3a9c5690b1 [AT] Add null pointer check in at_client_get (#7154)
1. prevent null-pointer dereference in rt_strcmp
2023-04-03 23:04:40 +08:00
betesla
d1baf1f5b5 [Fix]:fix at_server.c link failed when using ac6
use __ARMCC_VERSION to replace __CC_ARM
2023-03-03 19:04:43 -05:00
Man, Jianting (Meco)
99bdf978d7 [rtdef] use lower-case to define attributes (#6728)
* [rtdef] rename RT_WEAK attribute as rt_weak

* [rtdef] rename RT_USED attribute as rt_used

* [rtdef] rename RT_SECTION attribute as rt_section

* [rtdef] rename ALIGN attribute as rt_align

* [legacy] add RT_USED ALIGN RT_SECTION RT_WEAK as legacy support
2022-12-11 13:12:03 -05:00
SNOWA
3400a79035 Update at_utils.c
如果打印格式为"%02X"的数据大于0x7F,打印的数据就会在前面多出6个'F',原因详见https://blog.csdn.net/zqxwce821/article/details/53011925。
现在通过强制转换成unsigned char后,在STM32(KEIL5+C99)已测试确认能修复该问题。
2022-10-19 22:28:36 -04:00
liuxianliang
cca2f40ae0 [add] implement about "AT server". 2022-07-04 11:03:01 +08:00
xiangxistu
4961ed59ba [bug] use pointer that memory had freed. (#5971) 2022-05-23 01:46:22 +08:00
Meco Man
7fc707d99c [sal][kconfig] 重新梳理sal的依赖关系 2022-05-16 10:02:22 +08:00
thewon86
f5b0bfd3f4 uniform code writing-disable interrupt 2022-04-20 14:22:43 +08:00
Man, Jianting (Meco)
e96e3e07f5 [lwip] integrate lwip porting layer (#5606)
* [lwip] integrate lwip porting layer

* Lwip 通用文件梳理 (#2)

* [modify] extract the common files for different version about lwip.

* [update] the initialization logic of lwIP.

* 整理源码结构

* ethernetif 头文件 ""改为<>

* 整理代码

* add macro definition "RT_USING_DEVICE_IPC".

* [update] mandatory selected "RT_USING_DEVICE_IPC".

* [modify] compile error for lost "lwip/init.h"

Co-authored-by: xiangxistu <52819708+xiangxistu@users.noreply.github.com>
Co-authored-by: liuxianliang <liuxianliang@rt-thread.com>
2022-02-23 23:56:43 +08:00
Man, Jianting (Meco)
6895da5307 [net] adjust folder structure (#5587)
* [net] adjust folder structure
- 将lwip相关的文件夹,移入lwip文件夹
- Kconfig 分散到at netdev lwip sal文件夹中,使用menuconfig代替menu
2022-02-20 00:07:45 +08:00
Meco Man
f89a162ea3 [core] 使用rt_memcpy rt_memset代替memcpy memset 2022-01-09 00:23:18 +08:00
jonas
7e06b6c504 [fix]修复AT组件在CLI模式下,指令输入过长导致数组越界的问题 2021-12-09 18:11:55 +08:00
Bernard Xiong
1cea0c8c79 Merge pull request #5279 from OpenNuvoton/nuvoton
[Nuvoton] Update drivers.
2021-11-25 20:03:58 +08:00
Meco Man
df9a23c534 [mutex] use RT_IPC_FLAG_PRIO to replace RT_IPC_FLAG_FIFO 2021-11-17 15:57:15 -05:00
Wayne Lin
9b44e57a60 Merge branch 'master' of https://github.com/RT-Thread/rt-thread into nuvoton 2021-11-10 16:01:38 +08:00
guo
160d448660 Merge pull request #5051 from mysterywolf/be_libc
[libc标准化] 使用标准poll.h代替dfs_poll.h
2021-09-13 10:45:09 +08:00
Meco Man
b35fffd659 [remove rtlibc]修复缺失的头文件导致的报错 2021-09-11 14:43:09 -04:00
Meco Man
c360688714 使用poll.h代替dfs_poll.h 2021-09-11 11:56:54 -04:00
malongwei
f1e1b6b2e3 fix at_client.c 2021-09-03 20:16:35 +08:00
malongwei
c229d8b2b5 fix at_client.c 2021-09-01 21:19:22 +08:00
马志远
221da7f464 Remove C Style Command Shell 2021-08-23 17:30:05 +08:00
sszlbg
bf88963a3e Merge branch 'master' into at_client-rt_realloc_iss
# Conflicts:
#	components/net/at/src/at_client.c
2021-07-25 17:00:00 +08:00
guo
73bd7a7d66 Merge pull request #4868 from wenbodong2015/at_memleak
解决at_socket内存泄漏问题
2021-07-19 13:46:15 +08:00
wenbodong2015
0f6586c660 优化at_socket内存泄露的修改 2021-07-16 00:25:53 +08:00
sszl
88d4faf687 更新old_urc_table为new_urc_table 2021-07-14 11:01:21 +08:00
Wayne Lin
a4818ad3dd Fix error code and return value. 2021-07-12 18:21:04 +08:00
guozhanxin
40e7d5a23d Merge remote-tracking branch 'remotes/gitee/master' 2021-07-12 10:14:20 +08:00
wenbodong2015
b9d24aff61 解决at_socket在极限情况下内存泄漏问题
AT模块在执行AT+CLOSE并返回OK后,在实际关闭前(上报URC前)仍然有
可能接收到数据。所以接收数据时需要判断状态是否为AT_SOCKET_CONNECT。

另,at_recv_notice_cb在拒绝数据包时,没有释放数据包内存,从而导致
内在泄漏。
2021-07-10 23:14:14 +08:00
wenbodong2015
e38a8e9378 解决at_socket编译失败的问题
失败现象为“找不到EAGAIN”,此问题由libc改动引发。
2021-07-10 23:10:11 +08:00
malongwei
180d0e1224 add at_utils_send virtual function 2021-07-08 12:02:29 +08:00
malongwei
e7b63ed7ab fix at_vprintf and at_vprintfln and end_sign response 2021-07-07 23:49:42 +08:00
luhuadong
b17cf429db [components][net][at] indent using 4 spaces 2021-06-30 23:38:30 +08:00