Commit Graph

1418 Commits

Author SHA1 Message Date
sp-cai 0ebec472e1
[components][i2c] 优化 controt 接口格式,增加可用命令 (#7806)
原来 rt_i2c_control 只能执行 RT_I2C_DEV_CTRL_CLK 单一命令,通过此修改可以支持更多可用命令
2023-07-13 21:57:40 -04:00
ErikChanHub 2f5e4ac27e
【dd2.0】Support the Core API for dd2.0 (#7791) 2023-07-13 14:49:35 +08:00
sp-cai 75f65b6af6
[components][drivers][serial] serial.c 修复串口有时重复发送 '\r' 的问题 (#7767) 2023-07-07 23:52:32 -04:00
erikchan fa10a99c3c 【ofw】 format encoding of irq.c to utf-8 2023-07-06 11:24:19 +08:00
erikchan cc8781930c 【libfdt】replace tab with space 2023-07-06 11:02:13 +08:00
wusongjie 8aa4366cb2 Drivers: Support Open Firmware API and model of PIC
We support OFW API to replace fdt old API, and add
IRQ, IO, Platform-Bus, CPUs ... OFW node contorl.
To support work with Device Tree or ACPI in drivers
that use IRQ, we make a programmable interrupt
controller driver's model.

Signed-off-by: GuEe-GUI <GuEe-GUI@github.com>
2023-07-05 16:45:16 +08:00
wusongjie 179157f4e1 Components/drivers: support DM device id management
We add the device name and id set api in DM, now driver
could set name like sprintf without know how many devices
it is.
The misc.h and byteorder.h add some macros to developers
that they always use in drivers.

Signed-off-by: GuEe-GUI <GuEe-GUI@github.com>
2023-07-04 13:55:07 +08:00
Shicheng Chu e2c031643c
[include][dbg]update: no longer use RT_DEBUG_LOG in rtdebug.h (#7750) 2023-06-29 11:24:25 -04:00
Tennn11 148ae53cf8
[tty] add TCGETA/TCSETAF/TCSETAW/TCSETA commands (#7739) 2023-06-29 19:01:16 +08:00
Shell 0b79bea7cd
[components/lwp] clear ref to parent on waitpid() (#7741)
Signed-off-by: shell <smokewood@qq.com>
2023-06-29 00:00:27 +08:00
Shell b66514686a
[components/tty] fix bug on foreground app switch (#7726) 2023-06-28 09:11:17 +08:00
wangqinglin cb03b8c834
[component][fdt]添加设备树子节点寻找宏 (#7377) 2023-06-27 10:09:51 -04:00
程蒙蒙 c2c83533c9
[sensor]V1返回类型不一致编译错误 (#7735)
Signed-off-by: 程蒙蒙 <37764731+meng-plus@users.noreply.github.com>
2023-06-27 17:18:07 +08:00
Bernard Xiong e3f068f058
[DeviceDrivers] prepare for device driver v2.0 (#7697) 2023-06-22 14:16:03 +08:00
xiao xie ba76cb5ef7
[drivers]修复can驱动编译错误 (#7708) 2023-06-21 08:52:11 -04:00
zhkag 33f550cb65
[Kernel] message 可以返回消息的实际大小 (#7709) 2023-06-21 18:22:42 +08:00
heyuanjie87 a790c809a8 [pty]修正pty引起waitqueue崩溃的问题 2023-06-19 10:56:06 +08:00
Man, Jianting (Meco) 704554f1f9
[sensor-v2]将当前sensor框架revert回v1版本并独立为v2 (#7698) 2023-06-18 22:36:53 -04:00
Mingjie Shen 177f3d4056 [adc] remove dead code
The variable result_str is never used after this assignment.
2023-06-13 17:47:54 -04:00
Meco Man 8d6e536e88 [spi] optimize the spi transfer speed.
If the configurations are the same, we don't need to set again.
2023-06-10 18:59:23 -04:00
Bernard Xiong 99e80f8d33
[dfs] Add DFS v2.0 (#7606) 2023-06-10 21:35:25 +08:00
goldengrandpa 1d239db59e
[tty]修复多次scanf之后,导致丢数据的问题 (#7640) 2023-06-09 09:09:50 +08:00
Mengxi-Xu d2308d41d7
[components] [fdt] add parameter check 2023-06-04 13:50:04 -04:00
Meco Man 93968942c2 [device][spi] 修复 rt_spi_sendrecv8/16 收发不同时的问题
rt_spi_send_then_recv是先发再等待一个独立的消息接收
rt_spi_transfer是收发同时进行
rt_spi_sendrecv8/16应使用rt_spi_transfer而不是rt_spi_send_then_recv
2023-05-22 02:55:46 -04:00
guozhanxin 82ccbc40db support llvm-arm 16.0 2023-05-17 12:09:10 -04:00
7YZ7 a5211c70b6
[components][drivers][HUST CSE]修复serial_v2.c中可能产生的死循环 (#7394) 2023-05-15 14:42:11 +08:00
kunpHust 7a2bccd1c2
[HUST CSE][components][udisk.c] add two checkout procedures after malloc to make sure allocating successfully (#7475) 2023-05-15 14:35:38 +08:00
miaoxingr f36a1bb514
[components/drivers] add checking code after allocating memory 2023-05-12 01:39:51 -04:00
hust202013232 9dd0d41251
[components][rndis.c] add safety checking after allocating memory 2023-05-12 01:37:42 -04:00
a1012112796 5e4a95f54d
[components/drivers] add result check for configure in `rt_spi_configure` (#7474)
Signed-off-by: a1012112796 <1012112796@qq.com>
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-05-12 00:11:28 -04:00
Wayne 3291882b38
[i2c] fix the return value of rt_i2c_master_send/recv
fix the related PR: #7029
2023-05-09 01:13:02 -04:00
kkangdom 3cf07f1a62
[components][rndis.c] add a checkout procedure after malloc to make sure allocating successfully (#7460) 2023-05-09 10:02:11 +08:00
xqyjlj 353aa57a54
[component][drivers][cputime]Fix timer dev (#7442) 2023-05-07 23:14:39 +08:00
Bernard Xiong 8ad70ca231
[tty] change driver of tty to device and code cleanup. (#7444) 2023-05-05 08:19:09 +08:00
zouziyu2002 ce4674defa
[HUST CSE] add forced type conversion when using 'realloc','malloc','calloc' for better readability 2023-04-28 15:55:28 +01:00
ourea1429 085ded8eef
[winusb.c] add checking after allocating memory for variable winusb_device to make sure allocae is successful 2023-04-28 14:59:42 +01:00
OnlyShirley 8dfcf07c24
[HUST CSE]Assign Null to fdt after free to avoid dangling pointer (#7389) 2023-04-27 07:13:11 +08:00
Sseven731 17ed572644
[HUST CSE] [readme] fix invalid URL 2023-04-24 00:47:02 -04:00
Shell 470454d201
[components/mm] support for scalable memory management (#7277)
* [mm/page] multi-list page manager
[mm/page] page debugger
[libcpu/aarch64] hugepage support

* [quality] remove void-arith

* [format] remove kasan codes
2023-04-22 23:59:11 +08:00
Meco Man 4a7ef40dc7 [serial-v2]fix the data type error 2023-04-19 07:49:46 -04:00
7YZ7 501b22aabe
[HUST CSE] Fix many abnormal symbols in annotations and format code 2023-04-17 22:26:23 -04:00
Hy 7c629d974d
[HUST CSE]NULL POINTER (#7220)
* avoids the risk of a null pointer

* 将||改成&&来判断断言
There is a possibility of a null pointer

* there is a possibility of a null pointer

* Update components/drivers/fdt/src/dtb_get.c

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>

* 已根据代码规范进行修改,谢谢提醒

---------

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-04-17 08:12:27 +08:00
lessone1 2638a2a90c [components] Wrong order of judgment 2023-04-14 22:51:06 -04:00
xqyjlj 8748886987
🐞 fix(components/drivers/cputime/cputimer.c): fix cputimer with signal (#7247) 2023-04-14 17:02:42 +08:00
xqyjlj 970c7c6f7a
🐞 fix(components/drivers): fix cpu timer in multithreading (#7222)
* 🐞 fix(components/drivers): fix cpu timer in multithreading

* 🎈 perf(components): change double to uint64_t

* 🎈 perf(components): add UL suffix
2023-04-13 16:00:19 +08:00
True-False-debug dc24388833 Update sd.c 2023-04-11 23:01:03 -04:00
Meco Man e9bbc2e349 [adc] modify adc channel data type from rt_uint32_t to rt_int8_t 2023-04-08 22:40:37 -04:00
Meco Man 505023b656 [adc] 增加ADC内置通道通用通道号标识 2023-04-08 22:40:37 -04:00
Bernard Xiong 9600b75b55
[DFS] prepare for dfs_v2.0 (#7200)
* [DFS] prepare for dfs_v2. dfs_fd -> dfs_file; dfs_fnode -> dfs_vnode.

* [BSP] fix code analysis warning

* [smart] fix the pointer overflow.

* code format

* [smart] fix the lwp->lwp_obj checking.
2023-04-08 22:25:51 +08:00
Sparks-Pion accab17fa5
[HUST CSE IoTS&P Lab] [fix] check rt_mutex_create return value (#7169) 2023-04-04 00:33:10 -04:00
bernard 9ffb66878b [components] fix dtb compiling warning. 2023-04-01 12:10:23 -04:00
yangjie11 b0c247fb59
[components/drivers][touch]删除多余的touch.h (#7090)
* [components/drivers][touch]删除多余的touch.h

* 将touc.h替换为rtdevice.h
2023-03-24 11:47:28 -04:00
Zxy 156fda61cf [errno code]fix that use RT_ENOMEM without - 2023-03-23 01:55:21 -04:00
Meco Man deb40e8c0c [errno code][-RT_EBUSY] fix that use RT_EBUSY without - 2023-03-22 01:55:18 -04:00
Meco Man eb3cb250be [errno code][-RT_ETIMEOUT] fix that use RT_ETIMEOUT without - 2023-03-22 01:54:52 -04:00
wdfk-prog 87c57f86f7 [device]修改mtd_nor读写函数返回类型为rt_ssize_t 2023-03-20 18:58:10 -04:00
Meco Man 0f461e870c [errno code][-RT_ERROR] fix that use RT_ERROR without - 2023-03-20 00:06:16 -04:00
Meco Man dfddd79b24 [errno code][-RT_EINVAL] fix that use RT_EINVAL without - 2023-03-16 20:21:43 -04:00
Meco Man 2cc9bd876e [error code][-RT_EIO] fix that use RT_EIO without - 2023-03-16 20:20:37 -04:00
Man, Jianting (Meco) 0275b23638
[i2c] fix the i2c device return error code (#7035)
* [i2c] fix the i2c device return error code
2023-03-10 23:44:03 -05:00
Zxy c8b30bf31a
[device]修改i2c读写函数返回类型为rt_ssize_t (#7029) 2023-03-09 23:42:58 -05:00
Zxy f5798d9917
[pin][5.0.0] 修正pin框架数据类型使用不当 (#6934) 2023-02-26 21:17:51 -05:00
liYangYang 93d572dee6
[spi][5.0.0] 修正SPI设备框架中,对函数返回值类型使用不恰当的情况 (#6937) 2023-02-26 21:09:07 -05:00
zhkag 4c1c6ef4e4 解决关中断时进行了调度操作 2023-02-25 02:46:01 -05:00
xqyjlj e50a7e3f85
🐞 fix(components/drivers/tty/pty.c): fix ptmx not init (#6970)
* 🐞 fix(components/drivers/tty/tty.c): fix wrong log format

* 🐞 fix(components/drivers/tty/pty.c): fix ptmx not init

*  feat(components/drivers/tty/pty.c): pts default use ECHO, ONLCR

* 🌈 style(components/drivers/tty/tty.c): format
2023-02-25 15:33:28 +08:00
jonas 6d4764ad69 serial_v2 rt_device_write/read return data type as rt_ssize_t 2023-02-23 09:50:39 -05:00
liYony b3b8c2362d [spi] rt_spi_configure 增加对cs_pin处理 2023-02-22 21:18:05 -05:00
yangfasheng ff5894922a update rtdevice.h add lcd 2023-02-21 13:12:54 -05:00
xieyangrun 29c7278edc driver/fdt] add parse reg array, get address and size by index. 2023-02-21 08:47:25 +08:00
guozhanxin 1b3d287cee [revert] workqueue RT_THREAD_SUSPEND flag 2023-02-17 09:39:33 -05:00
guozhanxin b065486b23 [workqueue] Reduce critical section, improve performance 2023-02-16 20:59:14 -05:00
liYony bc385cd55c [spi]优化挂载函数对cs_pin的处理 2023-02-16 09:47:55 -05:00
zhkag 0f85648cfb
Improve timer accuracy and realize (#6926)
* add cputimer frame

* add cputime sleep

* ctime use cputime

* Processing cputime has no timeout function

* Migration cputime Code

* formatting file

* 整理代码

* add document copyright information

* 改 cputime_timer 为 cputimer

* 简化 _cputimer_list 初始化

* rt_cputimer_create -> rt_cputimer_init

* Remove RT_USING_CPUTIME and code cleanup.

* Remove RT_USING_CPUTIME in cputimer.c
* Set set_next_timeout as static function.

---------

Co-authored-by: Bernard Xiong <bernard.xiong@gmail.com>
2023-02-15 20:46:22 +08:00
Bernard Xiong fc1aced665
[FDT] Fix POSIX compatibility for string.h (#6923)
* [FDT] Fix POSIX compatibility for string.h

* [FDT] format libfdt code.

* [FDT] format libfdt code.
2023-02-13 16:36:16 +08:00
Moss c55e6694db [devicedrivers] Fix typo in sfud error messages 2023-02-12 14:07:46 -05:00
liYangYang 1eec660b12
[spi]添加rt_spi_bus_attach_device_cspin 函数 (#6916)
这个函数实现了原先的挂载功能,并且调用pin框架,初始化cs引脚,是一个功能相对完善的挂载函数。用户也能更简单的使用。
该函数取代rt_spi_bus_attach_device,后续rt_spi_bus_attach_device会被逐渐淘汰掉。新的BSP以及软件包应当使用rt_spi_bus_attach_device_cspin新函数。

STM32L475潘多拉测试通过。
2023-02-11 22:14:54 -05:00
zhkag 657cbfdac7 修复编译警告 2023-02-09 15:21:17 +08:00
螺丝松掉的人 20459ec4d3
[ringbuffer] ringbuffer size boost to 32bit (#6915)
* ringbuffer size boost to 32bit
* 添加ringbuffer测试demo
related: #682
----
Co-authored-by: Zxy <1308465141@qq.com>
Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-02-08 22:55:52 -05:00
Meco Man f58d3c5200 rt_device_write/read return data type as rt_ssize_t
rt_ssize_t can give negative error code, which follows the unix style correctly
2023-02-07 21:43:57 -05:00
zhkag 7c1d6ffd3c add clock_cpu_settimeout function 2023-02-07 15:51:11 +08:00
Zxy fb8e9ea93a
[sensor] 修复命令交互使用日志输出API的问题 (#6895)
命令交互应使用rt_kprintf,而非LOG_x
2023-02-02 20:56:10 -05:00
soym 450cd68a4a fix typo https://github.com/armink/SFUD/pull/79 2023-01-29 21:21:44 -05:00
bernard af143ee3f9 [devicedrivers] fix the partition issue in mmc/sdio 2023-01-23 19:16:28 -05:00
liYangYang 63294afc9d
[stm32][softspi]soft spi attach函数问题解决方案 (#6868)
* [softspi]soft spi attach函数问题解决方案

* 更改函数名
2023-01-18 22:03:48 -05:00
liYangYang 7ff64c1cfd
[stm32][spi] spi attach函数问题解决方案 (#6864)
attach #6819
2023-01-18 00:27:08 -05:00
Shell b2402029b2
[rt-smart][fix/lwp] don't restore terminal for background lwp (#6847)
* [fix/lwp] don't restore term for background lwp
2023-01-13 09:48:43 +08:00
xieyangrun 21472e3ff0 fix cputime and ctime. 2023-01-10 10:03:35 +08:00
Meco Man 9bc68d26a4 format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
Man, Jianting (Meco) f4b285dc9c
improve sensor framework (#6784)
* [stm32l475-pandora] rename sensor_port.c as drv_sensors.c
* [sensor][cmd] add enter critical section protection
* [sensor] add sensor reset command
2023-01-08 21:33:38 -05:00
Shell 7450ef6c4d
[rt-smart] kernel virtual memory management layer (#6809)
synchronize virtual memory system works.
adding kernel virtual memory management layer for page-based MMU enabled architecture
porting libcpu MMU codes
porting lwp memory related codes
2023-01-08 21:08:55 -05:00
liYangYang 7c05d8517c
[STM32][SPI]解决挂载函数里面不同bsp对uaer_data的滥用 (#6819)
* [spi]attach 片选引脚依赖pin框架
* 修改attach函数
2023-01-07 23:03:42 -05:00
wdfk-prog 8f0cef3a87
[drivers][serial_v2]修复DMA+TX阻塞模式异常 (#6781)
* [drivers][serial_v2]修复DMA+TX阻塞模式异常
2023-01-05 01:25:16 -05:00
kylongmu 0b58637a49
USB CDC驱动在win11下无法识别,看了微软的描述修改子类后正常 (#6783)
这是微软关于此问题的链接:
 https://learn.microsoft.com/zh-cn/windows-hardware/drivers/usbcon/usb-driver-installation-based-on-compatible-ids#usbsersys-installation
Windows 10 及更高版本
从 Windows 10 开始,Usbser.inf 已添加到 %Systemroot%\INF 目录,该目录加载 Usbser.sys 作为设备堆栈中功能设备对象 (FDO) 。 如果设备属于通信和 CDC 控制设备类, Usbser.sys 加载。 无需编写自己的 INF 来引用驱动程序。 驱动程序是基于与包含在 Windows 中的其他 USB 设备类驱动程序相似的兼容 ID 匹配来加载的。

USB\Class_02

USB\Class_02&SubClass_02

如果要自动 加载Usbser.sys, 在设备描述符中将类代码设置为 02,将子类代码 设置为 02。 有关详细信息,请参阅 USB 通信设备类。 使用此方法时,无需为设备分发 INF 文件,因为系统使用的是 Usbser.inf。
如果设备指定类代码 02,但子类代码值不是 02,则 Usbser.sys不会自动加载 。 即插即用管理器尝试查找驱动程序。 如果找不到合适的驱动程序,则设备可能未加载驱动程序。 在这种情况下,你可能需要加载自己的驱动程序或编写引用另一个内置驱动程序的 INF。
2023-01-02 22:25:54 -05:00
Meco Man b1763e6903 [sensor] add setting power/accuracy/fetch data mode commands 2022-12-26 02:10:30 -05:00
Meco Man 3a7ee55780 [sensor] 优化control参数检查和sensor list命令 2022-12-26 02:10:30 -05:00
Meco Man 20a6f14e89 use PIN_IRQ_PIN_NONE to replace RT_PIN_NONE 2022-12-26 02:10:30 -05:00
Meco Man 2570fab0e1 [sensor] add sensor list command 2022-12-26 02:10:30 -05:00
Meco Man d2bab6d7ad [sensor] add LSC chip vendor 2022-12-26 02:10:30 -05:00
Meco Man d3c77d907f [sensor] set power and accuracy as the hightest level 2022-12-26 02:10:30 -05:00
Meco Man 8971545d8e [sensor] improve commands 2022-12-26 02:10:30 -05:00