数据转换
一、导入模块
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)