Skip to content
RepoVersionStarsForks

公式使用指南 (Formula Usage)

EMS Simulate 支持使用自定义公式对原始寄存器数据进行处理,将其转换为具有物理意义的工程值(如电压、电流、温度等)。

1. 公式语法

公式基于 Python 表达式语法,支持基本的算术运算和内置函数。

  • 变量 x 代表寄存器读取到的原始值

基本运算

运算符说明示例
+加法x + 10
-减法x - 5
*乘法x * 0.1
/除法x / 100
**幂运算x ** 2 (平方)
%取模x % 10

2. 内置函数

支持使用 Python math 库中的常用函数。

函数说明示例
abs(x)绝对值abs(x)
round(x, n)四舍五入round(x * 0.1, 2) (保留2位小数)
math.sin(x)正弦math.sin(x)
math.cos(x)余弦math.cos(x)
math.sqrt(x)平方根math.sqrt(x)
max(x, y)取最大值max(x, 0)
min(x, y)取最小值min(x, 100)

逻辑运算 (若是支持)

支持简单的条件表达式(三元运算符): value_if_true if condition else value_if_false

  • 示例:x / 10 if x > 0 else 0

3. 典型应用场景

3.1 精度转换

将整数寄存器值转换为浮点数:

  • 寄存器值 1234,实际值 12.34
  • 公式:x * 0.01x / 100

3.2 单位转换

  • 摄氏度转华氏度:x * 1.8 + 32
  • 分钟转秒:x * 60

3.3 位操作

提取特定的位(Bit):

  • 提取第 0 位:(x >> 0) & 1
  • 提取第 3 位:(x >> 3) & 1

Released under the Apache 2.0 License.