Commit Graph

4042 Commits

Author SHA1 Message Date
wangxiaoyao 6a25a68be6 [libc] redirecting header sys/signal to signal 2023-01-04 13:59:22 +08: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 e97ba95f71 [libc][unistd.h] define F_OK 2023-01-02 15:01:20 -05:00
Meco Man 4ce39dd744 [libc][time] 修正POSIX 时间相关函数返回值错误 2022-12-29 20:23:33 -05:00
Bernard Xiong 8a71ae75ad
[BSP][smart] fix link script for smart in vexpress-a9 (#6764) 2022-12-29 15:18:36 +08: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
bernard 1f092da9e0 fix compiling warning. 2022-12-26 14:24:26 +08:00
wdfk-prog f4c08cfe36 修改printf格式“%-*.s”为“%-*.*s 2022-12-22 22:51:24 -05:00
Man, Jianting (Meco) 262392a69c
[sensor] draft new sensor-hal framework (#6746)
* [sensor] new sensor framework
针对老版本sensor框架的诸多不合理设计进行重构
之前的PR中已经重构了浮点数相关的问题
本次PR主要围绕sensor的整体架构予以重构,对过于理想化的参数和模式予以删除
* [sensor] 增加can modbus总线类型
* [stm32l745] 完善sensor对接
* [sensor] fix the onchip ID print
2022-12-21 21:24:51 -05:00
Shell e8504c7cf1
[smart/aarch64] code sync (#6750)
* [smart/aarch64] sync aarch64
2022-12-20 17:49:37 +08:00
梁生 2f214d03c0
[fal] fal_rtt.c消除函数strtol()隐含声明的警告 2022-12-19 18:15:40 -05:00
Yaochenger 0df51b8aa9 [components][libc] 在rv32下编译时cstring.c中的strtok_r函数与libc.a中的strtok_r重定义,添加rt_weak 2022-12-18 23:38:41 -05:00
guo 68ca9f07a6
[rt-smart] 弱化 RT_USING_LWP,使用 RT_USING_SMART 作为宏配置 (#6740)
* [dfs] sync cromfs

* [rt-smart]Weaken RT_USING_LWP, use RT_USING_SMART as macro configuration

* [format] fix some format issue.
2022-12-16 18:38:28 +08:00
褚仕成 4246275e6e add "\n" to cat 2022-12-15 11:34:00 -05:00
joechenchen ee632c21a8 fix:三字节读命令0x03,四字节读命令0x13,当命令为0x03需要加上0x10 2022-12-15 01:08:21 -05:00
guo 0bc01ad0d9
[dfs] sync cromfs (#6739) 2022-12-14 22:28:34 +08:00
tangzz98 89c3bf5f92 ESP32_C3: Improve Readme, fix compile errors/warnings 2022-12-13 11:50:29 +08:00
Meco Man 9860b168b8 [sensor] 增加新传感器类型和单位 2022-12-12 22:44:07 -05:00
Bernard Xiong 2aa600e01b
[components] fix compiling warning (#6733) 2022-12-13 09:44:45 +08:00
bernard aa0c8b4a93 [components] fix format issue 2022-12-12 20:24:10 -05:00
Man, Jianting (Meco) 8b5a501831
[sensor][cmd] add sensor_get_type/vender/unit_name functions (#6727)
* [sensor][cmd] add sensor_get_type/vender/unit_name functions

* rename sensor folder
2022-12-11 22:45:04 -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
Meco Man a4b8762d85 [sfud] sync commit
db9a1746df
2022-12-11 01:35:45 -05:00
Shell e991be9c51
[smart][risc-v/libcpu] port rv64 cpu code (#6704)
* [risc-v/libcpu] porting Smart & RTOS
* [fix] rv64 plic
* [risc-v/rv64] remove macro in rtdef
2022-12-10 22:16:42 +08:00
guozhanxin b5d77bbf37 [rtsmart] fix uart can't input after userapp exited at rv64 platform. 2022-12-09 07:54:29 -05:00
zhkag 2e488e0440
[rt-smart]同步 gitee nanosleep 修复 (#6710) 2022-12-08 10:02:40 -05:00
Yohozzy 6fcbd418e5
canfd帧结构加入 brs控制位 (#6701) 2022-12-07 01:49:44 -05:00
tangyuxin a535218ba6 [shell]list_mutex show suspended Threads 2022-12-06 21:15:13 -05:00
guozhanxin eb66f2c964 fix system muti-define when enable RT_USING_MODULE 2022-12-06 20:53:20 -05:00
yangjie11 2cc9bd7936 [components/finsh]使 list 命令的解释对齐 2022-12-06 20:53:01 -05:00
wdfk-prog f54f2c2c91 [ymodem]添加传输过程中的异常处理流程 2022-12-05 23:07:27 -05:00
jaffer fa1f6c22e5 [fix]修复模拟i2c驱动延时bug
Signed-off-by: jaffer <jaffer.work@foxmail.com>
2022-12-05 21:38:02 -05:00
bernard c53d9da22e [lwIP] fix lwip sem/mutex valid issue. 2022-12-03 14:21:06 -05:00
guo ecf2d82159
sync branch rt-smart. (#6641)
* Synchronize the code of the rt mart branch to the master branch.
  * TTY device
  * Add lwP code from rt-smart
  * Add vnode in DFS, but DFS will be re-write for rt-smart
  * There are three libcpu for rt-smart:
    * arm/cortex-a, arm/aarch64
    * riscv64

Co-authored-by: Rbb666 <zhangbingru@rt-thread.com>
Co-authored-by: zhkag <zhkag@foxmail.com>
2022-12-03 12:07:44 +08:00
wdfk-prog cef57d006d
[armlibc] 修复AC6更新至6.19后_sys_tmpnam()函数编译报错 (#6647)
* [armlibc] 修复AC6更新至6.19后_sys_tmpnam()函数编译报错

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-11-24 00:12:48 -05:00
Meco Man 3e2beebe43 [libc][musl]解决signal.h报错的问题 2022-11-22 22:18:26 -05:00
Man, Jianting (Meco) bdd663a33f
[libc][musl] support arm-linux-musleabi toolchain
目前基本功能已经可以在QEMU上跑起来,但是pthread和内核signal选中会报冲突。先合并一版本,后续解决这些问题。
2022-11-22 21:40:50 -05:00
wdfk-prog 569e2ae1e8
[CAN]update struct can_filter_item and rt_can_msg (#6556)
* 修改ry命令,已便于自定义保存路径

* modified:   components/utilities/ymodem/ry_sy.c

* 修复从被动错误恢复后发送返回异常

* 修复在自动重传模式下,ACK异常阻塞线程
- 删除TX中断函数else分支。仅当RQCP位 置一才进入该中断
- 添加SCE中断函数中关于ACK_ERR的else判断。自动重传模式下会进入该判断,打断自动重传释放完成量。

* 增加对于CAN1与CAN2的SCE中断和TX中断的公共处理函数

* formatting格式化代码

* update struct can_filter_item and rt_can_msg
1. 对过滤器号和索引号结构体定义中同一名称hdr进行重命名hdr_bank和hdr_index,
以便准确区分.采用宏定义兼容以前变量名.
2. 添加接收标识rxfifo,已指明是哪个RXFIFO.

* 更正42M下的波特率

* 修复接收获取索引号错误

* 添加接收标识

* 更新注释

* 取消CANFD限制

* update struct can_filter_item and rt_can_msg
2022-11-21 21:45:51 -05:00
Meco Man 84eab69604 [msh] remove list_xxx commands, use 'list' to replace 2022-11-21 21:39:45 -05:00
Meco Man 66411e0828 [sensor] improve cmd
using floating print format by default
2022-11-21 21:31:16 -05:00
Meco Man 953a8c265d add rt_sensor_float_t 2022-11-19 00:54:22 +08:00
Meco Man df397eb767 [sensor] 传感器数据类型使用float代替rt_uint32_t类型 2022-11-19 00:54:22 +08:00
myshow2258 87be8fdba8 Modified bsp/stm32/libraries/HAL_Drivers/drv_usbd.c
Modified   components/drivers/usb/usbdevice/class/cdc_vcom.c
修复cdc在v1v2的serial框架下接收发送错误的问题.stm32下usbd添加更多的ep_id,以支持复合设备.
2022-11-14 23:47:49 -05:00
Meco Man d1c353f6b6 [kernel] 优化Sconscript脚本 2022-11-14 22:20:23 -05:00
Meco Man 6b9bdc12a9 [sensor] use arg to replace user_data 2022-11-14 22:19:47 -05:00
Yohozzy b64f21e628 Update netdev.c 2022-11-14 22:18:41 -05:00
a1012112796 5370d4da50 replace `rt_enter_critical` with `dfs_lock` for list_fd
I found that if use mutex in `rt_kprintf`,
the `rt_enter_critical` will create a assert
error later. after chehcking,I found all
operation with fd_table has using
`dfs_lock/unlock` to protect. so I think
using `dfs_lock` is enough. thanks.

Signed-off-by: a1012112796 <1012112796@qq.com>
2022-11-09 22:41:15 -05:00
Meco Man f57eb4feb5 [sensor] 修改fetch_data方法的参数数据类型为rt_sensor_data_t 2022-11-09 17:23:27 +08:00
Meco Man f550fc58a9 [sensor]修改传感器设备名称前缀 2022-11-09 17:23:27 +08:00
Meco Man 39b25f660a [sensor] use rt_ssize_t as the return value data type 2022-11-09 17:23:27 +08:00
Meco Man 255020bca8 [sensor] 统一数据结构名称和函数命名 2022-11-08 12:17:50 -05:00
xiao xie 1755750b2a
[sdio] remove mmcsd_delay_ms
修改SD检测线程函数里面的延时实现,将mmcsd_delay_ms改为rt_thread_mdelay. mmcsd_delay_ms过时且延时计算错误。
2022-11-08 00:34:43 -05:00
Meco Man 1831661c4a [sensors] remvoe useless sensor.h 2022-11-06 23:07:30 -05:00
Bernard Xiong 79e298147b
Merge pull request #6523 from BernardXiong/nested_mutex
[Kernel] Add nested mutex feature
2022-11-06 08:59:12 +08:00
xiaoguang_ma e663d2d870 bugfix: remove sdcard block dev may cause a constant loop. 2022-11-02 15:27:41 +09:00
Meco Man 721c08dc61 [libc][time] 解决部分编译平台CLOCKS_PER_SEC无法被重新定义的问题 2022-10-28 18:13:15 -04:00
朱天龙 (Armink) 4c92886ee5 [net/lwip] Fix ppp retry assert error when tcp is connect. 2022-10-27 00:01:55 -04:00
Man, Jianting (Meco) 055267f049
[compiler] 增加SConscript依赖标志 AddDepend (#6534)
* [compiler] 增加SConscript依赖标志 AddDepend

* RT_USING_NEWLIB->RT_USING_NEWLIBC RT_USING_ARM_LIBC->RT_USING_ARMLIBC

* 删除过时的板载测试例程

* [gd32] 移除无用的反汇编文件

* [bsp]移除老旧bsp中对RT_USING_NEWLIBC的手动宏定义
2022-10-25 00:01:37 -04:00
Maihuanyi de1d6dbc0e
ymodem of send error (#6535)
* modified ymodem.c to solve ymodem send file error

* modified ry_sy.c to solve send file error of file data

* Update ry_sy.c

Co-authored-by: guo <guozhanxin@rt-thread.com>
2022-10-23 22:33:31 -04:00
Yunjie Gu 8fa9fde43a
[bsp][c28x] add support to not disable global interrupt in context-switch to enable zero-latency isr for critical interrupts. 2022-10-19 23:41:13 -04: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
Bernard Xiong 34c77da153 [Kernel] Add nested mutex feature 2022-10-15 16:19:13 +08:00
YuQi 94221bbdd8
[bsp][c28x] 新增adc驱动 (#6520)
1. 在c28x文件目录上一层再套一层文件夹ti,目前28379的项目路径为rt-thread\bsp\ti\c28x\tms320f28379d
2. 新增adc驱动与kconfig配置
2022-10-15 00:56:00 -04:00
朱天龙 (Armink) 748f6afd5e [DeviceDriver][serialv2] Support configure when serial is open. 2022-10-12 14:21:41 +08:00
a1012112796 ab8c1418a6 tshell is the default value of FINSH_THREAD_NAME 2022-10-10 17:48:21 -04:00
winfenggao 74fd07a565
lseek()函数中,当seek到文件的位置和当前位置相同时,不需要调用dfs_file_lseek()函数,直接返回当前位置即可。 (#6498)
当seek到文件的位置和当前位置相同时,不需要调用dfs_file_lseek()函数,直接返回当前位置即可。
同时,以lseek(fd,0,SEEK_CUR)的方式执行函数可以返回文件当前读去位置,可以实现
ftell()的功能.
以lseek(fd,0,SEEK_CUR)的方式执行函数返回文件当前位置,实现ftell()的功能时不用调用dfs_file_lseek()函数,提高效率;seek(fd,0,SEEK_CUR)本来就能返回当前位置。
2022-10-10 17:48:02 -04:00
朱天龙 (Armink) 35c7dd6aba [ulog] fix HEX log size calculate error. 2022-10-10 08:47:41 -04:00
xiaoguang_ma 80f495de4a bug fix
When detecting all SDIO devices fails, it is also necessary to return information
2022-10-09 14:55:01 +08:00
朱天龙 (Armink) a48f446a0f
[components][utilities][ulog] Improve the HEX LOG by new formater. (#6490)
- 重构格式化器
- 重写 HEX 日志功能,与标准日志使用相同的格式化器。与标准日志在日志过滤功能和日志头显示功能上一致
2022-10-08 22:33:10 -04:00
Tangyuxin ca30428cee
修复低概率终端无法输入问题 (#6464)
* [ulog] Fix the problem that the terminal cannot input

* [mem] Fix NULL pointer access
2022-09-27 11:11:29 +08:00
YuQi 5debfdd84d
[TMS320F28379] implement PWM driver (#6457)
增加c28x芯片的pwm驱动
已经在TMS320F28379中通过测试
pwm设备框架增加如下方法:
#define PWM_CMD_SET_DEAD_TIME (RT_DEVICE_CTRL_BASE(PWM) + 8)
#define PWM_CMD_SET_PHASE (RT_DEVICE_CTRL_BASE(PWM) + 9)
#define PWM_CMD_ENABLE_IRQ (RT_DEVICE_CTRL_BASE(PWM) + 10)
#define PWM_CMD_DISABLE_IRQ (RT_DEVICE_CTRL_BASE(PWM) + 11)
2022-09-25 22:41:00 -04:00
Wayne dc9887913b
[usbhost] List keyboard option. (#6456)
* [bsp/nuvoton] Support NuMaker-M467HJ BSP and update drivers.

* Format files.

* [usbhost] List keyboard and update driver.

* Enlarge to reasonable thread stack size.

* Do indent..

* Keep private.

Co-authored-by: Wayne Lin <wclin@nuvoton.com>
2022-09-22 23:23:28 -04:00
wdfk-prog a4bd223e20
修改Ymodem组件中MSH的ry命令,已便于自定义保存路径 (#6433)
* 修改ry命令,已便于自定义保存路径

* modified:   components/utilities/ymodem/ry_sy.c
2022-09-20 10:31:34 -04:00
Tangyuxin a4829b1c00
[fix] Fix simulator compilation warnings (#6438)
* [fix] Fix simulator compilation warnings

* Update bsp/simulator/rtconfig_project.h

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-09-20 10:31:11 -04:00
Meco Man 981e721c3b [kernel] add rt_ssize_t data structure 2022-09-16 17:26:07 +08:00
lhylhylhy6 5ccb0bbeaf [modify]修改components/drivers/spi/sfud/README.md文件 2022-09-09 00:37:23 -04:00
Meco Man ce16945cba [kernel][version] 采用新的版本宏定义
版本控制规范:https://semver.org/

目前的版本子号不是很规范,其中RT_VERSION甚至和VS那边造成了冲突
```c
/* RT-Thread version information */
#define RT_VERSION                      4L              /**< major version number */
#define RT_SUBVERSION                   1L              /**< minor version number */
#define RT_REVISION                     1L              /**< revise version number */
```

参考ESP32:
```c
/** Major version number (X.x.x) */
#define ESP_ARDUINO_VERSION_MAJOR   2
/** Minor version number (x.X.x) */
#define ESP_ARDUINO_VERSION_MINOR   0
/** Patch version number (x.x.X) */
#define ESP_ARDUINO_VERSION_PATCH   3
```

建议改成:
```c
/* Major version number (X.x.x) */
#define RT_VERSION_MAJOR   4
/* Minor version number (x.X.x) */
#define RT_VERSION_MINOR   2
/* Patch version number (x.x.X) */
#define RT_VERSION_PATCH   0
```
2022-09-07 10:11:45 -04:00
lhylhylhy6 45244037de
[modify]修改waitqueue.c注释中的错误 (#6376) 2022-09-06 00:29:05 -04:00
liYangYang d25bf469fa
[rt_drv_pwm]完善PWM框架互补输出部分代码 (#6338)
* [pwm]Improve the code

* 将与bsp无关的代码移植到框架部分

* 添加注释
2022-09-01 00:59:44 -04:00
liYangYang 6ac09a6db0
[spi]fix some bug for rt_spi_sendrecv16 (#6360)
修复 rt_spi_sendrecv16 api 对最高有效位(MSB or LSB)的处理不当造成的一些问题。

https://github.com/stm32duino/Arduino_Core_STM32/blob/main/libraries/SPI/src/SPI.cpp#L273
2022-09-01 00:36:45 -04:00
Meco Man b04076d8aa [armlibc] solve the compiling error
report in #6300
2022-08-17 23:48:05 -04:00
MysticBoy a0c3dc4c5b
针对 TAMAGAWA 的 Smart-Abs 设备 TS5705N50添加 2.5M 波特率 (#6294)
* 针对 TAMAGAWA 的 Smart-Abs 设备 TS5705N50添加 2.5M 波特率
2022-08-17 04:30:17 -04:00
xjy198903 840f6b997c
[nxp][imxrt1170]Fix building problem (#6297) 2022-08-17 04:28:58 -04:00
Meco Man dd94198bd6 [gcc][armcc][armclang] rtconfig.CROSS_TOOL->rtconfig.PLATFORM 2022-08-16 09:39:00 +08:00
Meco Man bd33d37bc4 该问题在Keil-MDK中没有一个太好的解决方案。本PR为权衡利弊之后得到的一套解决方案。Keil曾经提供了底层桩函数_sys_ensure,但是目前已经被废弃。因此唯一的解决方案就是每写完一句,就调用fsync去同步一次。
该问题在mbedos社区也进行过讨论,他们也面临和我们相同的两个问题:
1. Keil-MDK无有效的fflush解决方案,mbedos依然在使用淘汰的_sys_ensure桩函数。
2. Keil-MDK没有fileno函数,我方少部分软件包因此而无法使用Keil平台编译。
参考:https://github.com/ARMmbed/mbed-os/issues/1601

issue: https://github.com/RT-Thread/rt-thread/issues/4928


经过进一步测试发现,Keil-MDK中的fflush函数已经退化成服务于STDOUT的函数,Keil-MDK内部有一个buffer可以存放fputc(stdout) 发过来的数据,如果调用fflush,这些数据是可以flush出去的。但是如果是真正的文件数据,fflush函数并没有提供任何桩函数接口可以让文件flush数据出去。
2022-08-16 09:37:24 +08:00
gbcwbz 84fe80fbf9 [DeviceDriver] Fix can infinite loop when can driver send error
- in _can_int_tx if can driver sendmsg do not return RT_EOK,
   it will repeat until sendmsg return RT_EOK
 - if error occur on can bus(wire broken or EMI), all threads that
   have lower priority will not be executed
 - we should let application layer to determine if resend is appropriate
   when send fail, besides in data link layer, can already implemented
   auto resend in hardware
2022-08-13 23:07:43 -04:00
Fan Yang 666af5e29d
[DeviceDriver] Add CANFD support and correct typos (#5912)
* Add CANFD support and correct typos

- Added CANFD required fields to can.h
- Fixed typos in can.h and can.c
- Corrected all the projects affected by the typo
- Fixed wrong line-ending in some affected can driver files

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>

* update

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
Co-authored-by: Meco Man <920369182@qq.com>
2022-08-13 22:59:28 -04:00
Meco Man a0cfdbdaad [sfud] keep macros in order attach #6255 2022-08-13 22:04:46 -04:00
tfx2001 218cdbce4e add assert for serial v2 2022-08-13 17:04:08 -04:00
Meco Man b7572303f0 [sfud] 同步上游 2022-08-11 23:14:19 -04:00
chinky 4c74eb1add [SFUD]support NM25Q128EVB 2022-08-11 22:19:45 -04:00
Man, Jianting (Meco) 8da744a750
[exit] 修复_exit函数条件分支未覆盖所有情况的问题 (#6239)
attach #6229
2022-08-08 17:21:29 +08:00
xiangxistu e61d05ca1a
[fix] the risk for function exit() when open pthread support. (#6229)
* [fix] the risk for function exit() when open pthread support.
* [update] modify annotation from "user data" to "pthread_data".
2022-08-07 23:16:17 -04:00
Meco Man c33289ace7 [ymodem] move error codes to rym_code to silence warnings 2022-08-04 01:50:04 -04:00