麦谷芯™是构建在windows系统上的设备应用操作系统,利用该系统可以快速高效的开发一款设备专用软件。希望进一步了解请email: acloud@163.com
黄国强 2024/03/18
在从事设备软件开发之前,需要了解设备的相关概念。从这些概念中我们提炼出相关对象形成对象模型。下面列出了麦谷芯™所涉及的领域对象。
- 时序
- 组件(或称子设备)
- 组件方法和字段
- 麦芯文件系统
- 处方
- 通用子设备
每个子设备需要从IComponent类继承,IComponent定义如下:
namespace MACH_CORE
{
class IComponent
{
public:
// 结束清理资源的时候调用
virtual void Fini() = 0;
// 初始化数字量
virtual bool InitDigital(DIFactory CreateDI, DOFactory CreateDO) = 0;
// 初始化数据成员
virtual bool InitField(IFieldFactory * pFieldFactory) = 0;
// 初始化方法成员
virtual bool InitMethod(IMethodFactory* pMethodFactory) = 0;
// 初始化引用数据成员(其他的组件的数据成员)
virtual bool InitRef(
const std::string& strDvcName, // 组件名称
IPlatform * pPlatform) = 0; // 查找设备其他对象
// 初始化时序任务
virtual bool InitSeq(
const std::string& strDvcName,
SeqFactory CreateSeq) = 0;
public:
virtual ~IComponent() {};
};
};
下面的代码展示一个串口组件的C++具体代码细节。
class SerialPortDvc : public MACH_CORE::IComponent
{
public: // IComponent
virtual void Fini() override;
virtual bool InitDigital(DIFactory CreateDI, DOFactory CreateDO) override;
virtual bool InitField(IFieldFactory* pFieldFactory) override;
virtual bool InitMethod(IMethodFactory* pMethodFactory) override;
virtual bool InitRef(
const std::string& strDvcName,
IPlatform* pPlatform) override;
virtual bool InitSeq(
const std::string& strDvcName,
MACH_CORE::SeqFactory CreateSeq) override ;
};
增加组件方法的实现:
bool SerialPortDvc::InitMethod(IMethodFactory* pMethodFactory)
{
if(!pMethodFactory->AddMethod("Send", [&]() { SendDataByUI(); })) return false;
return true;
}
增加组件字段的实现:
bool SerialPortDvc::InitField(IFieldFactory* pFieldFactory)
{
_pPort = pFieldFactory->Create_e("port", FIELD_UI_RW);
_pBaudRate = pFieldFactory->Create_e("baud_rate", FIELD_UI_RW);
assert(_pBaudRate);
_pCharacterSize = pFieldFactory->Create_e("character_size", FIELD_UI_RW);
assert(_pCharacterSize);
_pParity = pFieldFactory->Create_e("parity", FIELD_UI_RW);
assert(_pParity);
// 更多字段按上面同样代码创立,略去
}
将组件加入麦谷芯™后,上述代码创建的方法和字段自动显示在界面上,如下图所示。

从中我们可以看出麦谷芯™增加组件以及组件包含的方法和字段非常容易得。
[参考]
麦谷芯(MachCore)应用开发教程2 --- 时序
麦谷芯(MachCore)应用开发教程4 --- 文件系统

本文介绍了麦芯操作系统,一种基于Windows的设备专用软件开发平台,通过IComponent类及其子类如SerialPortDvc,展示了如何快速开发包括方法和字段的组件,并集成到麦芯系统中,提供直观的界面显示。
737

被折叠的 条评论
为什么被折叠?



