跳转至

数据转换

一、导入模块

from artos.common.convert import Convert

二、常量

# 数据缩放常量
Linear      = const(0) # 线性缩放
Sqrt        = const(1) # 平方根缩放
Square      = const(2) # 平方缩放
Log         = const(3) # 对数缩放
# 哈希常量
MD5         = const(4) # 平方根缩放
SHA1        = const(5) # 平方缩放
SHA256      = const(6) # 对数缩放

三、方法

1、数据缩放

  • 函数:Scaling(x, in_min, in_max, out_min, out_max, method=Linear, reverse=False, auto_reverse=False)
  • 描述:缩放函数,支持多种缩放方法和正反向输出
  • 参数:
参数名 描述 备注
x 输入值
in_min 输入最小值
in_max 输入最大值
out_min 输出最小值
out_max 输出最大值
method 缩放方法 Linear、Sqrt、Square、Log
reverse 是否手动反向输出 True: out_max -> out_min
auto_reverse 是否根据输入范围自动反向 输入越小输出越大
  • 返回:缩放后的值

2、哈希计算

  • 函数:ToHash(content, algo=MD5)
  • 描述:哈希计算 "md5" | "sha1" | "sha256"
  • 参数:
参数名 描述 备注
content 内容 str 或 bytes
algo 哈希类型 MD5、SHA1、SHA256
  • 返回:哈希字符串

3、Base64字符串编码

  • 函数:ToBase64(data)

  • 描述:字符串转为Base64编码

  • 参数:

参数名 描述 备注
data 明文字符串
  • 返回:密文字符串

4、Base64字符串解码

  • 函数:FromBase64(data)

  • 描述:Base64字符串解码为字符串

  • 参数:

参数名 描述 备注
data Base64密文字符串
  • 返回:明文字符串

5、毫秒(ms)转换为频率Hz

  • 函数:MsToHz(ms)

  • 描述:将周期毫秒(ms)转换为频率Hz

  • 参数:

参数名 描述 备注
ms 周期,单位毫秒
  • 返回:对应频率,单位Hz

6、将ADC采样值转换为电压

  • 函数:AdcToVoltage(val, max_value=4095, v_ref=3.3)

  • 描述:将 ADC 采样值转换为电压

  • 参数:

参数名 描述 备注
val ADC 采样值 (0 \~ max_value)
max_value ADC 最大值 (默认 12 位 ADC: 4095)
v_ref ADC 参考电压 (V)
  • 返回:电压值 (V)

7、将ADC采样值转换为电流

  • 函数:AdcToCurrent(val, max_value=4095, v_ref=3.3, shunt_res=250.0)

  • 描述:将 ADC 采样值转换为电流

  • 参数:

参数名 描述 备注
val ADC 采样值 (0 \~ max_value)
max_value ADC 最大值 (默认 12 位 ADC: 4095)
v_ref ADC 参考电压 (V)
shunt_res 分流电阻阻值 (Ω)
  • 返回:电流值 (mA)