Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v4.1.0 特性征集与讨论 | v4.1.0 discussion #5342

Closed
22 of 24 tasks
Guozhanxin opened this issue Dec 7, 2021 · 57 comments
Closed
22 of 24 tasks

v4.1.0 特性征集与讨论 | v4.1.0 discussion #5342

Guozhanxin opened this issue Dec 7, 2021 · 57 comments

Comments

@Guozhanxin
Copy link
Member

Guozhanxin commented Dec 7, 2021

v4.0.4 已经发布了,所以我们开始筹备下个版本的发布了,下个版本按计划是一个次版本的更新,将会包含更多的新特性。

如果您也有一些功能想法或对当前计划的看法,请发表评论。

v4.0.4 has been released, so we have started to prepare for the release of the next version. The next version is planned to be a minor version update and will contain more new features.

please comment if you also have some features ideas in mind or share your opinion about the planned features.

Features

BSP

Package

  • PikaScript
  • TinyUSB

LVGL lvgl/lvgl#2790

Exquisite

Others

@Guozhanxin Guozhanxin pinned this issue Dec 7, 2021
@Guozhanxin Guozhanxin changed the title v4.1.0 discussion v4.1.0 特性征集与讨论 | v4.1.0 discussion Dec 7, 2021
@enkiller
Copy link
Contributor

enkiller commented Dec 7, 2021

测试框架这部分有啥具体的动作吗?

@Guozhanxin
Copy link
Member Author

Guozhanxin commented Dec 8, 2021

测试框架这部分有啥具体的动作吗?

直接移除掉吧


借楼整理一下正式发布前需要解决的问题:

@mysterywolf
Copy link
Member

mysterywolf commented Dec 9, 2021

需要继续跟踪的PR和论坛帖子

需要跟踪的其他社区PR或issues

@liukangcc
Copy link
Member

liukangcc commented Dec 17, 2021

CFLAG flag issue 已解决 #5397

@liukangcc
Copy link
Member

MAL: #5379

@ImFovery
Copy link
Contributor

ImFovery commented Jan 5, 2022

使用rtthread如鲠在喉的一个点:串口终端作为日志输出,即使ulog设置为异步也仍然为阻塞查询输出,占用cpu且输出效率低。

@evan-liyb
Copy link

希望版本发布后,能与之前的所有包兼容。并且给出从老版本升级到新版本的官方文档。

@mysterywolf
Copy link
Member

前的所有包兼容。并且给出从老版本升级到新版本的官方文档。

#5277
可以看一下这个,新版本有专门的legacy文件夹

@evan-liyb
Copy link

打开之后,仍然很多不兼容的地方。特别是我自己写的应用层(大概8万行代码),用在新内核上很多地方不兼容了,主要是一些宏之类的做了调整,没去细看为什么要这样改,但希望尽量减少这种调整吧,或者用宏都老的定义管起来,但仍然保留。

@mysterywolf
Copy link
Member

mysterywolf commented Jan 10, 2022

打开之后,仍然很多不兼容的地方。特别是我自己写的应用层(大概8万行代码),用在新内核上很多地方不兼容了,主要是一些宏之类的做了调整,没去细看为什么要这样改,但希望尽量减少这种调整吧,或者用宏都老的定义管起来,但仍然保留。

再不改,里边很多东西都变成毒瘤了。
#5230
https://www.bilibili.com/video/BV15f4y1u7yA

@thewon86
Copy link
Contributor

使用rtthread如鲠在喉的一个点:串口终端作为日志输出,即使ulog设置为异步也仍然为阻塞查询输出,占用cpu且输出效率低。

请看论坛我发的文章,我刚对串口框架做了个重构,阻塞 io 情况下,降低阻塞时间。

@thewon86
Copy link
Contributor

https://club.rt-thread.org/ask/question/434195.html ps或者list_thread最后一栏错误码,显示的是错误码代码 非常的不友好,别人根本不知道什么意思

所有的 msh 命令,增加 c 函数调用接口,类似 https://gitee.com/thewon/rt_thread_repo/tree/master/user 这里实现的命令一样,既有终端命令入口,也有对等的 c 调用入口。

@BernardXiong
Copy link
Member

v4.1.0版本release后,可以拉分支出来。然后master也会尝试拉pre-v5.0.0分支,然后把smart相关的一些代码合并。如果春节期间能够合成功,那么再合并回master分支,做为后续的v5.0.x分支而存在。

另外,建议v4.1.0分支也不用做alpha, beta, rc版本,直接出v4.1.0版本,有问题可以快速修正到v4.1.1版本

@BernardXiong
Copy link
Member

打开之后,仍然很多不兼容的地方。特别是我自己写的应用层(大概8万行代码),用在新内核上很多地方不兼容了,主要是一些宏之类的做了调整,没去细看为什么要这样改,但希望尽量减少这种调整吧,或者用宏都老的定义管起来,但仍然保留。

可以一些点上多做沟通,如何在新特性和兼容性上做到平衡

@mysterywolf
Copy link
Member

mysterywolf commented Jan 24, 2022

另外,建议v4.1.0分支也不用做alpha, beta, rc版本,直接出v4.1.0版本,有问题可以快速修正到v4.1.1版本

建议用beta,因为4.1.0 beta版本还有一部分功能原计划4.1.0需要实现的还没有实现。4.0.4已经吃了一次亏了,变化太大,用户反应有些不适应,4.1.0作为大版本,得一次性把较大改变的内容全部都搞定,从4.1.1版本开始就不能剧烈地增加新功能了。否则,如果4.1.0直接发出去了,4.1.1还要增加新功能,可能要重踩4.0.4发布时的问题。

@mysterywolf
Copy link
Member

mysterywolf commented Jan 24, 2022

@mysterywolf
Copy link
Member

mysterywolf commented Jan 31, 2022

Kernel

@mysterywolf
Copy link
Member

mysterywolf commented Jan 31, 2022

Scons 与 Kconfig

@ghost
Copy link

ghost commented Jan 31, 2022

可否提供一个相对统一的 lcd 框架,对上提供统一的接口。这样在 lvgl 包中实现 rtt 的屏幕驱动,底层让用户和 bsp 去对接就好,然后直接编译就可以直接使用了。

@mysterywolf
Copy link
Member

mysterywolf commented Jan 31, 2022

可否提供一个相对统一的 lcd 框架,对上提供统一的接口。这样在 lvgl 包中实现 rtt 的屏幕驱动,底层让用户和 bsp 去对接就好,然后直接编译就可以直接使用了。

这个问题想过,当时rtt自己维护的lvgl软件包(7.0)就是采用直接和rtt lcd框架对接的方式。但是经过实践之后发现,本身lvgl自己就已经提供了底层的抽象层,如果再对接一个lcd框架就显得脱裤子放屁,因此在lvgl官方软件包中,就采用了lvgl原生的api,方便用户做出选择,既可以直接怼lcd原生驱动,也可以自行怼lcd框架。我们这侧就不强制用户非得使用lcd的框架了,给予最大灵活性

@mysterywolf
Copy link
Member

mysterywolf commented Feb 8, 2022

@mysterywolf
Copy link
Member

mysterywolf commented Feb 8, 2022

LWIP


@mysterywolf
Copy link
Member

mysterywolf commented Feb 8, 2022

LVGL

@cha331
Copy link
Contributor

cha331 commented Mar 8, 2022

软件包

在4.1.0需要升级的:

libmodbus软件包编译报错问题也可以修改下,主要涉及几个头文件,论坛里已有解决方案
https://club.rt-thread.org/ask/article/3280.html

@mysterywolf
Copy link
Member

STM32F1 RTC读写日期不正常 https://club.rt-thread.org/ask/question/434910.html

@tfx2001
Copy link
Contributor

tfx2001 commented Mar 11, 2022

新版本有计划增加获取USB是否连接的接口吗?USB DTR标志是必须的吗?ChibiOS的usb驱动(STM32F427),上位机勾选DTR,似乎也能通信

@BreederBai 是 RTT 的 USB 协议栈还是 TinyUSB 呢?

@liukangcc
Copy link
Member

RT-Thread-packages/paho-mqtt#47

@liukangcc
Copy link
Member

FAL添加到 rt-thread 主仓库:#5662

@mysterywolf
Copy link
Member

mysterywolf commented Mar 11, 2022

  • 在gcc下 uint32_t是long unsigned int ,而在keil下是 unsigned int 。这个不同编译器定义不一样。
    rt_uint32_t是 unsigned int,导致rt_uint32_t的函数形参在填入uint32_t的变量时会出现警告。
    30e72baef400ed1b433fdaa38f748f0

@mysterywolf
Copy link
Member

mysterywolf commented Mar 11, 2022

@mysterywolf
Copy link
Member

image
内核可以考虑用这种方式来设置堆栈大小,例如对于龙芯,其idle main线程的栈大小要高于32位的

@liukangcc
Copy link
Member

liukangcc commented Mar 15, 2022

@mysterywolf
Copy link
Member

第二个源文件被删了吧 https://club.rt-thread.org/ask/question/430704.html

是的可以不用管了~

@BreederBai
Copy link
Contributor

新版本有计划增加获取USB是否连接的接口吗?USB DTR标志是必须的吗?ChibiOS的usb驱动(STM32F427),上位机勾选DTR,似乎也能通信

@BreederBai 是 RTT 的 USB 协议栈还是 TinyUSB 呢?

@tfx2001 RTT 的 USB 协议栈

@liukangcc
Copy link
Member

liukangcc commented Mar 16, 2022

软件包

在4.1.0需要升级的:

第三个作者修了 gbcwbz/canfestival-rtt#9 (comment)

@mysterywolf
Copy link
Member

mysterywolf commented Mar 22, 2022

仓库代码尽量压缩C99的使用需求,如无特殊需求使用CFLAGS或者LOCAL_CFLAGS, 而非CCFLAGS,不要讲C++和C的配置项默认混在一起。
部分编译器如(Keil-MDK),针对C++和C的配置要求不一样,混在一起配置可能会出问题。

@thewon86
Copy link
Contributor

为啥不是计划放弃旧版本语法,向新规范靠拢?

@mysterywolf
Copy link
Member

mysterywolf commented Mar 23, 2022

为啥不是计划放弃旧版本语法,向新规范靠拢?

因为不同编译器对新版本语法的支持情况并不相同,因此不适合强制工程直接使用C++11或者C99,用户有需求可以通过sconscript自行定义LOCAL_CCFLAG LOCAL_CFLAG LOCAL_CXXFLAG 参见:https://github.com/mysterywolf/RTduino/blob/master/core/SConscript

@mysterywolf
Copy link
Member

mysterywolf commented Apr 4, 2022

libc

@mysterywolf
Copy link
Member

版本控制规范:https://semver.org/

@mysterywolf
Copy link
Member

mysterywolf commented Apr 7, 2022

  • 支持64位时间戳,以解决千年虫问题

    • 驱动支持64位时间戳,即使libc还末支持64位
    • libc支持64位的方案,不同的编译器现在支持的情况不同,可以考虑自己单独维护1套time相关的功能

2038

2038的问题 看起来不只是time32改time64这么简单 其他结构体也需要从long改成longlong #5775 (comment)

@mysterywolf
Copy link
Member

@Guozhanxin Guozhanxin unpinned this issue Apr 13, 2022
@mysterywolf mysterywolf reopened this Apr 13, 2022
@RT-Thread RT-Thread locked and limited conversation to collaborators Aug 16, 2022
@mysterywolf mysterywolf converted this issue into discussion #6292 Aug 16, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests