EmStat Pico 固件 v1.6:有什么变化?
EmStat Pico 和相关产品的 1.6 版固件更新有许多改进。其中既有错误修复,也有新功能。
如何升级固件?
您可以使用 PSTrace便捷地更新固件。PSTrace 5.12(可通过 MyPalmSens 获取)包含固件,并会自动通知需要更新固件。
使用 PSTrace 更新固件 下载 PSTrace如果您希望在不使用 PSTrace 的情况下更新 EmStat Pico 固件,请手动下载固件并使用 本教程。
为 EmStat Pico 下载十大改进
EmStat Pico 固件包含一些非常出色的改进和新功能。十项非常有用的新增功能:
为每次测量自动创建新文件
创建一个名为 "测量<count>.txt "的新文件,其中 <count> 是一个计数器,它的增加会使文件名变得唯一。
file_open "measurement&i.txt" 2 file_close
您还可以根据变量创建文件名
e
var x
send_string "Starting script"
store_var x 5i ja
file_open f"script/file{x}&i" 2
set_script_output 3
on_finished:
cell_off
file_close
更长的变量名
变量只能有一个字符的时代已经一去不复返了。您可以随意声明更长的变量,以增加代码的可读性。
var potential var current var time var under_score_is_ok
软件流量控制
UART 软件流量控制(XON/XOFF)提高了数据传输的可靠性。在 Tera Term 中,设置连接的过程如下图所示:

LED 控制
运行低功耗应用,需要禁用所有 LED 灯?或者想向用户发出信号?现在可以使用notify_led。
#Busy mode, enable both the RED and BLUE LED notify_led 2
更简便的双恒电位仪指令
简化了双恒电位仪的使用。旧命令仍然有效,但可能会在未来的固件版本中删除。
变化:
- 新增指令 `set_bipot_mode`(取代必须在 bipot 频道使用的 `set_poly_we_mode`)。
- 添加了命令 `set_bipot_potential` ("set_e "必须在 bipot 频道中使用)
- 添加了可选参数 "add_meas
- 添加了新的 `bb`(双负载电流)变量类型
- 弃用 `set_poly_we_mode` 命令和 PGStat 模式 5 (poly_we),改用新的 `set_bipot_mode` 命令
- 弃用可选参数 `poly_we` 而改用 `add_meas
固件 1.3 中的旧代码示例:
e
var c
var p
var b
set_pgstat_chan 1
set_pgstat_mode 5
set_poly_we_mode 0
set_max_bandwidth 200
set_range ba 590u
set_autoranging ba 590u 590u
set_e 1
set_pgstat_chan 0
set_pgstat_mode 2
set_max_bandwidth 200
set_range_minmax da -66150u -66150u
set_range ba 59n
set_autoranging ba 59n 590u
set_e -1
cell_on
meas_loop_lsv p c -1 1 10m 500m poly_we(1 b)
pck_start
pck_add p
pck_add c
pck_add b
pck_end
endloop
on_finished:
cell_off
固件 1.5 的新代码:
e
var c
var p
var b
set_pgstat_chan 0
set_pgstat_mode 2
set_bipot_mode 1
set_bipot_potential 1
set_max_bandwidth 200
set_range_minmax da -30000u -30000u
set_range ba 30n
set_autoranging ba 30n 300u
set_e -1
cell_on
meas_loop_lsv p c -1 1 10m 500m add_meas(0 bb b)
pck_start
pck_add p
pck_add c
pck_add b
pck_end
endloop
on_finished:
cell_off
精确的时间戳
想知道测量的确切时间吗?
与 EmStat Pico 开发套件中使用的 Ablic S-35390A RTC 结合使用时,可读取发送当前时间。
var yr
var mo
var dy
var hr
var mn
var sn
rtc_get yr mo dy hr mn sn
send_string f"{yr} {mo} {dy} {hr} {mn} {sn}"
数组索引变得更容易
现在访问数组更简单了。
e
# Make the 100-element array "a"
array a 100
# initialize the array, fill them with 5
var index
store_var index 0i ja
loop index < 100i
store_var a[index] 5 ja
send_string f"Array[Index]: {index} = {a[index]}"
add_var index 1i
wait 10m
endloop
# The 11th element will be used as the argument.
set_e a[10i]
改进数学功能
电化学实验的电流是否与某种生物标记物的浓度或数量有关?或者您是否有校准曲线?这就需要将电流转换为数量,而数学函数可以实现这一转换。
此固件更新还增加了电量功能,也可以执行平方根计算。
e
#Take the square root of x and store the result in x .
var x
store_var x 2 ja
pow_var x 500m
send_string f"Square root of 2 is {x}"
wait 1
store_var x 4 ja
pow_var x 2
send_string f"4 to the power 3 is {x}"
wait 1
峰值检测
测量结果中的峰值通常与某种元素或生物标记物的检测有关。在 MethodSCRIPT 中可以进行简单的峰值检测。
#Detect the two highest positive peaks in an input array, larger than 10e-6. array indices 2 array heights 2 peak_detect data indices heights 0i 10u
将变量写入文件
MethodSCRIPT 支持有限的字符串插值,允许将变量值包含在字符串中。插值字符串用引号前的字母 f 表示。要包含在字符串中的变量用大括号括起来,例如 {varname}。
#The following example demonstrates how to print the value of a MethodSCRIPT variable and store the result in a file:
file_open "measurement&i.txt" 2
var x
store_var x 10i ja
send_string f"x = {x}"
This will print the string x = 10
file_close
.
具有影响力的变革及其影响
固件中的某些更改会改变现有代码的功能。
设置范围
`set_range` 不再选择可能导致过载警告的当前范围。
如果电流超过电流范围的 48%(60% 的 80%),EmStat Pico Core 就会发出过载警告。 以前,如果设置电流范围为 59 nA,则会选择最低的 100 nA 范围。随着新版本的更新,您可以选择 59 nA 的电流范围。这样,当预期电流为 59 nA 时,就不会立即出现过载。
在 PSTrace(5.11 或更早版本)生成的典型 MethodSCRIPT 中,您会看到
set_range ba 59n set_autoranging ba 59n 590u
要使该 MethodSCRIPT 在更新的固件中执行相同的功能,可将其更改为不会产生过载的值,例如:"......":
set_range ba 30n set_autoranging ba 30n 300u
欠载 <4%,而不是 <2
如果电流低于所选电流量程的 4%(之前的值为 2%),则会发出电流欠载警告,因为可以应用较低的电流量程。欠载将导致测量分辨率和精度较低。如果可以,请选择较低的电流量程,以提高可用的电流分辨率和精度。
在冬眠期间应用电位
使用 1.3 或更低版本的固件时,所有通道设置都会被清除,通道会在休眠模式下关闭。
在固件 1.5 或更新版本中,您必须手动关闭电池,并将通道设置为 PGStat 关闭模式。
- 如果将通道设置为高速模式,将产生错误代码 0x4205。
- 如果将通道置于低速模式,则会在休眠期间施加偏置电压。这对于低功耗应用非常有用,例如每 x 分钟施加一个电压并读取一次电流(请参阅 "Chronoamperometry")。
改进时间安排
与以前的固件相比,测量时间得到了改进,更加精确。
提高准确性
添加校准功能是为了提高高速和最大量程模式下的精确度。这不会对已经校准的设备生效。
EmStat Pico 1.6 版固件更改日志
更新日志 v1.6
- 添加了 MethodSCRIPT 1.8 命令
- 子阵列
- 日志变量
- 添加了从文件加载和执行 MethodSCRIPT
- 修正了 "meas_loop_eis "重置自动量程的问题
- 修正了 "hibernate "命令在没有输入 I2C 上拉时挂起的问题(仅适用于 OEM)
EmStat Pico 1.5 版固件更改日志
版本 1.5.00:
- 已更新至 MethodSCRIPT 1.7
- 添加了 UART 软件流量控制(XON/XOFF)。现在建议所有 EmStat Pico 都使用软件流量控制。
- 改进了休眠 MethodSCRIPT 命令,允许在休眠期间应用潜力
- 增加了测量多 WE 通道 RE 相对于 GND 的功能
- 提高计时精度
- 更新了通信细节(UART 波特率和流量控制)
- 为 CV 添加了 `R` 反向命令
- 新增寄存器:
- 外设配置
- 许可证寄存器
- MethodSCRIPT 自动运行
- UART 数据速率限制
- 重置仪器
- 多通道角色
- 系统日期和时间
- 默认 GPIO 配置
- 系统警告
- 波特率配置
- 删除了已废弃的 `s` 命令,改用 MethodSCRIPT 休眠命令
- 最大行长增至 256
- MethodSCRIPT 更改和添加:
- 更新了行号以包含注释
- 更新了 `pck_start`/`pck_add`/`pck_end` 命令的行为
- 添加了屏蔽版 GPIO 命令(`set_gpio_msk` 和 `get_gpio_msk)
- 多通道命令:`mux_config`、`mux_get_channel_count`、`mux_set_channel
- 调制操作: `mod_var`.
- 更改 MethodSCRIPT 变量的_VarType_:更改变量类型
- 使用设备 LED 输出用户通知:notify_led
- 设置循环伏安法 (CV) 的扫描方向:设置扫描方向
- 添加了 `rtc_get` 命令,可在 MethodSCRIPT 中检索 RTC 日期和时间
- 使用 bipot 的更简便方法
- 添加了 `set_bipot_mode` 命令(取代了必须在 bipot 频道中使用的 `set_poly_we_mode` 命令)
- 添加了命令 `set_bipot_potential`(必须在 bipot 频道中使用 `set_e)
- 添加了可选参数 `add_meas
- 添加了新的 `bb`(双电源电流)变量类型
- 弃用 `set_poly_we_mode` 命令和 PGStat 模式 5 (poly_we),改用新的 `set_bipot_mode` 命令
- 弃用可选参数 `poly_we`,改用 `add_meas
- 如果在外设配置寄存器中启用,EmStat Pico 现在使用外部 Ablic S-35390A RTC 来设置系统日期和时间。
- 添加了 `pow_var` MethodSCRIPT 命令
- `set_range` 不再选择会导致过载警告的当前范围
- `meas_loop_eis` 虚阻抗不再返回不明确的范围
- 已添加对插值字符串 (_f-strings_) 的支持
- 已添加对数组访问语法的支持
- 已添加对文件中数字自动递增的支持
- 已添加对多字符变量名的支持
- 命令 `set_autoranging` 在输入负值时会出错
- 等待 "MethodSCRIPT 命令现在可以中止了
- 各种错误修复
EmStat Pico 1.1 至 1.3 版固件更改日志
版本 1.3.05:
- 错误修正:停止技术在按住命令后尝试追赶
- 修正] 修复 SWV 中未设置定时警告标志的问题。
版本 1.3.04:
- 修正: Ch1 和 DC 上的 EIS 测量错误
版本 1.3.03:
- 更新了 MScript 版本,以防止存储在闪存中的脚本与 1.3.01 发生冲突
版本 1.3.02:
- 修正: i2c_write 和 i2c_read 对 var a 的错误引用
版本 1.3.01:
- 错误修正:创建文件时,file_open 模式 1(追加)失败
版本 1.3.00:
- 新增对 Sensit BT 机载测量存储的支持
- 将使用 SD 卡存储的 EmStat Pico 的文件系统从 FAT32 改为自定义文件系统
- 改进对各种不同 SD 卡的支持
- PAD 和 LSV 的采集率为 12.5%,调整为 25%,以便与其他PalmSens设备和技术保持一致
- 将所有技术的开销减少技术间隔的 1/8
- 通过 MethodSCRIPT 配置采集分数
- 当施加直流电位时,改善了 EIS 期间的电流范围
- 为 MethodSCRIPT 添加了 VT_TEMPERATURE,允许对 uC 内部温度传感器进行采样
- 用 set_range MethodSCRIPT 命令取代 set_cr,该命令可接受任何变量类型(set_cr 已过时,但仍可用)
- 用 set_range_minmax 方法SCRIPT 命令取代 set_pot_range,该命令可接受任何变量类型(set_pot_range 已过时,但仍可用)
- 已为 MethodSCRIPT set_autoranging 命令添加变量类型(旧版已弃用,但仍可用)
- 更新了版本命令,增加了代表 "补丁 "的两个数字
- 添加了带 CRC 的故障安全通信模式
- 已添加限制 UART 输出数据率的命令,以帮助防止主机上的缓冲区溢出
- 将低功率模式的短路电流降至最大 20 mA
- 已添加 fs_put 命令来存储文件(仅限文本)
- 现在,返回数据的 fs_* 命令在返回数据前会响应一个 ack 'n'。
- 启用文件存储时,CV 没有将所有输出保存到文件中
- 修复了 CV 跳过上次扫描最后一点的问题
- 为非易失性内存添加了(不可)锁定保护
- 基于时间测量的第一个点的固定时间
- 增加了设备闲置时的休眠功能,以节省电量
- 已添加 CRC,以验证存储在非易失性内存中的 MethodSCRIPT
- 改进的净现值/净现价技术验证
- 为 MethodSCRIPT 添加了位运算符函数
- 在 MethodSCRIPT 中添加了浮点数/整数函数之间的转换
- 修正了 I2C 传输之间的意外延迟
- 为命令添加了 5 秒超时
- 报告的 SWV 固定电位与理论不符
- 使 EIS 更快地响应终止命令
- 用寄存器取代 "cali "命令
版本 1.2:
- 已添加 get_time MethodSCRIPT 命令
- 已添加 Hibernate MethodSCRIPT 命令
- 已添加在 MethodSCRIPT 中使用二进制或十六进制数字的功能
- 添加了整数(对 gpio 函数和循环非常有用)
- 添加了从正常协议进入引导加载程序的命令
- 添加了 get_gpio、set_gpio_pullup 和 set_gpio_cfg 命令
- 添加了 SD 卡支持(添加了存储 MethodSCRIPT 输出的方法,并添加了文件浏览器命令)
- 已添加中止 MethodSCRIPT 命令
- 已添加 if、else、elseif 和 endif MethodSCRIPT 命令
- 已添加 breakloop MethodSCRIPT 命令
- 添加了新的 MethodSCRIPT 变量类型,可在 "meas "MethodSCRIPT 命令中使用
- 已添加 MethodSCRIPT 对布尔比较中位运算符的支持
- 已添加 timer_start 和 timer_get MethodSCRIPT 命令
- 已添加 set_int、await_int MethodSCRIPT 命令
- 已添加 MethodSCRIPT 用户 I2C 支持
- 已添加 MethodSCRIPT 支持,用于指定在测量包中发送哪些元数据
- 已添加 MethodSCRIPT 数组支持
- meas_loop_eis MethodSCRIPT 命令现在可在关闭自动量程时使用 set_cr(启用自动量程时仍忽略)。
- 已添加 nscans MethodSCRIPT 可选命令,用于无重叠点的多重扫描 CV
- 增加了对 Sensit BT 的支持
- 针对高速 DAC 和外部电阻器的优化校准例程
版本 1.1:
- 添加了组合 pgstat 模式,允许高达 2.6V 的动态范围
- 增加了在非活动通道上应用待机电位的功能
- 增加了 BiPot 功能(仅限低速)
- 增加了 PAD 技术
- 添加了 EIS 自动量程支持
- 修复了 EIS 测量后未恢复通道设置的问题
- 现在,"e "和 "r "命令会在 MethodSCRIPT 运行前以 "n "表示。
- 增加了在脚本中添加额外空白的功能
- 增加了将测量结果保存到文件的功能(仍缺少检索数据的功能)
- 增加了在闪存中存储脚本的功能
- 增加了通过命令或在启动时从闪存执行存储脚本的功能
- 支持硬件 1.1 版,不同硬件版本之间没有功能差异
版本 1.1
- 错误已修复:大多数技术需要等待 2 x 个计时器:CV、DPV、LSV、NPV、OCP、SWV
- 不涉及的技术:CA、EIS、PAD