CANoe通信的关键概念是应用部分和传输媒体的严格分离,基于这个理念,canoe在两者之间提供了一个通信层,叫做中间件
仿真:仿真包含所有在真实控制单元中可能出现的基本传输行为,控制单元的行为被全部仿真
激励:刺激的目的是诱导网络中控制单元的反应,例如,这里可以简单地只发送消息
canoe分析(analysis)功能
关键词:展示、解释、记录、回放数据(总线数据、变量、和诊断参数)
- 在线数据源是通过硬件连接的仿真总线或真实总线上的数据(例如CANcardXL)
- 离线数据源是一个包含记录数据的文件
- 处理数据
为了提供数据的清晰表示,可以使用过滤器来指定允许哪些数据,哪些数据要显式过滤掉。过滤器可以在测量期间或之后激活,并且可以过滤从单个信号到整个总线系统通道的数据。
-数据的表示
数据有不同的表示方式,取决于分析的需求,例如:
- 使用信号图表进行图形化表示
2.展示信号值
3.展示测量的序列和状态
4.位的值和状态的图形化表示
Read More
Qt核心模块在C++中添加了以下特性:
- 信号和槽机制
- 可查询和可设计的对象属性
- 分层和可查询的对象树,用保护指针以自然的方式组织对象所有权(QPointer)
- 跨库边界工作的动态强制转换
以下页面为Qt的核心特性提供了更多信息
Qt的元对象系统为内部对象通信提供了信号和槽机制,运行时类型信息,动态属性系统
- QObject类为所有可以从元对象系统受益的对象提供了一个基类
- Q_OBJECT宏用于打开元对象系统;
- 元对象编译器(MOC)支持每一个带有必要代码的QObject的子类实现元对象特性
moc工具读取C++源文件,如果发现其中包含Q_OBJECT宏,它会生成一个额外的C++源文件,其中包含元对象代码,这个生成的源文件会被包含进类的源文件里面,或者更一般地,编译并且链接到类的实现。
Read More
你必须有一张地图,不管它有多粗糙。否则你将会到处乱逛,在指环王中我从来不会让任何人在一天之中走得更远。—-J.R.R.托尔金
工程师三大思维:产品思维,技术思维,工程思维
Read More
目的
当我们在C++应用中加载QML的时候,直接嵌入一些C++数据到QML代码中是非常有用的,这使得调用嵌入对象中的C++方法或者使用C++对象实例作为数据模型成为可能。
使用QQmlContext类即可将C++对象注入到QML中,这个类将数据暴露到QML的上下文中,以便于在QML范围内能被直接引用。
设置简单的上下文属性
有如下代码,在QML范围内引用了一个不存在的值currentDateTime:
1 2 3 4
| import QtQuick 2.0
Text {text: currentDateTime}
|
这个值可在加载QML的C++中直接设置,使用QQmlContext::setContextProperty():
1 2 3 4
| QQuickView view; view.rootContext()->setContextProperty("currentDateTime", QDateTime::currentDateTime()); view.setSource(QUrl::fromLocalFile("MyItem.qml")); view.show();
|
将对象设置为上下文属性
Read More