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

 

.

如何使用该固件中新的 MethodSCRIPT 命令?

要了解本固件中可用的所有 MethodSCRIPT 命令,请下载 MethodSCRIPT 文档。

MethodSCRIPT 文档

具有影响力的变革及其影响

固件中的某些更改会改变现有代码的功能。

设置范围

`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