简介

仿真集成用于在线编写执行代码并对代码内容进行仿真模拟,以确保下发的代码逻辑能够正确执行。FBroker提供了快速构建在线仿真环境的相关组件。对于需要搭建仿真环境的平台可以基于此文档进行集成。

环境准备

$ node -v
v10.13.0

添加项目依赖

yarn add @flexem/broker-macro
# OR
npm i @flexem/broker-macro

仿真器集成示例

// 仿真函数依赖的变量表
const variables: MacroVariableItem[] = [
{
id: 'guid',
name: 'var1',
deviceId: 0,
regId: 0,
mainAddr: 1,
mainAddrWidth: 0,
subAddr: 0,
subAddrLen: 0,
subIndex: 0,
ioWidth: 0,
byteOrder16: 0,
byteOrder32: 0,
byteOrderFloat: 0,
}
]
// 调试器参数
const dbgOptions: IDebuggerOptions = {
onOutput: (result: string) => {
// 结果输出
console.log(result);
},
onWatchListChange: (items: WatchListItem[]) => {
// 变量表结果输出
console.log(items);
}
}
// 编译代码并进行仿真运行
const macroCompiler = createMacroCompiler(dbgOptions);
const code = `
function main() {
// write some macro code here
var vaule = getU16("var1", 0);
debug(vaule);
return 0;
}
main();
`;
macroCompiler.runOrPause(code, variables);

代码编辑器集成示例

仿真器可以结合代码编辑器来使用,实现在线代码编辑和仿真。代码编辑器推荐使用vscode所使用的monaco编辑器。FBroker已经内置了该代码编辑器并对其进行组件包装。如果基于broker-ui库进行开发的平台可以直接使用该组件。

添加UI组件

yarn add @flexem/broker-ui
# OR
npm i @flexem/broker-ui

代码演示

名称地址操作
No Data
Loading...