EmStat Pico ファームウェア v1.6: 何が変わったのか?
EmStat Pico および関連製品用の 1.6 ファームウェアアップデートには、多くの改良が加えられています。バグフィックスと新機能の両方が含まれています。
ファームウェアのアップグレード方法は?
PSTraceを使ってファームウェアをアップデートすることができます。PSTrace 5.12(MyPalmSensから入手可能)にはファームウェアが含まれており、必要なファームウェアのアップデートを自動的に通知します。
PSTrace を使ってファームウェアを更新する PSTrace をダウンロードPSTrace を使用せずに EmStat Pico ファームウェアを更新したい場合は、手動でファームウェアをダウンロードし、このチュートリアルを使用してください。
EmStat Pico 用ダウンロード改良点トップ10
この EmStat Pico ファームウェアには、とても素晴らしい改良と新機能が含まれています。10個の素敵で便利な追加があります:
測定ごとに自動的に新しいファイルを作成
measurement<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
長い変数名
変数が1文字しか持てない時代は終わりました。コードの可読性を上げるために、より長い変数を自由に宣言してください。
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
より簡単なBipotentiostatコマンド
バイポテンショスタットの使用が簡単になりました。古いコマンドはまだ使えますが、将来のファームウェアバージョンでは削除されるかもしれません。
変更点
- コマンド `set_bipot_mode` を追加(bipot チャンネルから使用する必要があった `set_poly_we_mode` を置き換える)。
- コマンド `set_bipot_potential` を追加 (`set_e` はバイポットチャンネルから使用する必要があった)
- オプション引数 `add_meas` を追加
- 新しい `bb` (バイポット電流) VarType を追加。
- コマンド `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` はオーバーロード警告の原因となる現在のレンジを選択しなくなった。
EmStat Pico Core は電流範囲の 48% (60% の 80%) 以上の電流があると過負荷警告を出します。 以前は、例えば 59 nA を扱うように電流範囲を設定すると、最低の 100 nA 範囲が選択されました。新しいアップデートでは、59nAの電流レンジを選択します。こうすることで、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
アンダーロードが<2%から<4%へ
電流が選択された電流範囲の4%(以前の値は2%)以下である場合、より低い電流範囲を適用できるため、電流不足の警告が出されます。低負荷では、分解能と精度が低い測定値が得られます。使用可能な電流分解能と精度を高めるために、使用可能な場合はより低い電流レンジを選択します。
ハイバネーション中の電位印加
ファームウェア 1.3 以下では、すべてのチャンネル設定がクリアされ、チャンネルはハイバネートモードでオフになりました。
ファームウェア1.5以降では、手動でセルをオフにし、オプションでチャンネルをPGStatモードオフに設定する必要があります。
- チャンネルを高速モードのままにすると、エラーコード 0x4205 がスローされます。
- チャンネルを低速モードにしておくと、ハイバネーション中にバイアス電圧が印加されます。これは、例えば電圧を印加して x 分毎に電流を読み取るような低消費電力アプリケーションに便利です(Chronoamperometry を参照)。
タイミングの改善
測定のタイミングが改善され、以前のファームウェアと比較してより正確になりました。
精度の向上
キャリブレーションが追加され、高速モードと最大レンジモードの精度が向上しました。すでにキャリブレーションされたデバイスには適用されません。
EmStat Pico ファームウェア変更ログ バージョン 1.6
変更履歴 v1.6
- MethodSCRIPT 1.8 コマンドの追加
- サブアレイ
- ログバー
- ファイルからの MethodSCRIPT のロードと実行を追加
- meas_loop_eis` がオートレンジをリセットするのを修正した。
- I2C プルアップが入力されていない場合に `hibernate` コマンドがハングするのを修正(OEM のみ)
EmStat Pico ファームウェア変更ログ バージョン 1.5
バージョン 1.5.00:
- MethodSCRIPT 1.7 に更新しました。
- UART ソフトウェアフロー制御(XON/XOFF)を追加しました。全ての EmStat Pico でソフトウェアフロー制御を使用することを推奨します。
- hibernate MethodSCRIPT コマンドを改良し、ハイバネーション中に電位を適用できるようにしました。
- ポリWEチャンネルRE対GND測定機能の追加
- タイミング精度の向上
- 通信の詳細を更新(UART ボーレートとフロー制御)
- CV 用 `R` 逆コマンドを追加
- レジスタを追加しました:
- ペリフェラル設定
- ライセンスレジスタ
- メソッドSCRIPTオートラン
- UARTデータレート制限
- リセット測定器
- マルチチャンネルの役割
- システム日付と時刻
- デフォルトGPIOコンフィグ
- システム警告
- ボーレート設定
- 非推奨の `s` コマンドを削除、代わりに MethodSCRIPT hibernate を使用。
- 最大行数を256に増加
- MethodSCRIPT の変更と追加:
- コメントも含むように行番号を更新
- pck_start`/`pck_add`/`pck_end` コマンドの動作を更新しました。
- GPIO コマンドにマスクバージョンを追加 (`set_gpio_msk` と `get_gpio_msk`)
- Mux コマンド: `mux_config`、`mux_get_channel_count`、`mux_set_channel`。
- モジュロ演算: `mod_var`
- MethodSCRIPT 変数の _VarType_ を変更する:alter_vartype`
- デバイスの LED を使ってユーザー通知を出力する:notify_led`
- サイクリックボルタンメトリー(CV)のスキャン方向を設定する:set_scan_dir`
- RTC の日時を MethodSCRIPT 内で取得できるように `rtc_get` コマンドを追加した。
- bipotをより簡単に使用できるようになった。
- コマンド `set_bipot_mode` を追加した(bipot チャンネルから使用する必要があった `set_poly_we_mode` を置き換える)。
- コマンド `set_bipot_potential` を追加した (`set_e` は bipot チャンネルから使用する必要があった)。
- オプション引数 `add_meas` を追加
- 新しい VarType `bb` (bipot current) を追加。
- コマンド `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` が負の入力を与えられた時にエラーで応答するようになった。
- wait` MethodSCRIPT コマンドが中止可能になった。
- 様々なバグフィックス
EmStat Pico ファームウェア変更ログ バージョン 1.1 から 1.3
バージョン 1.3.05:
- バグフィックス:ホールドコマンド後に追いつこうとするテクニックを止める
- バグ修正: SWV でタイミング警告フラグがセットされないのを修正。
バージョン 1.3.04:
- バグ修正:Ch1とDCでのEIS測定エラー
バージョン 1.3.03:
- フラッシュに保存されたスクリプトで 1.3.01 とのコンフリクトを防ぐために MScript のバージョンを更新しました。
バージョン 1.3.02:
- バグ修正: i2c_write と i2c_read が var a を正しく参照していなかった。
バージョン 1.3.01:
- バグ修正: file_open mode 1 (append) がファイル作成時に失敗した。
バージョン 1.3.00:
- Sensit BTオンボード測定ストレージのサポートを追加
- ストレージにSDカードを使用しているEmStat PicoのファイルシステムをFAT32からカスタムファイルシステムに変更しました。
- 様々なSDカードのサポートを改善
- PADとLSVの捕捉率は12.5%だったが、他のPalmSensデバイスや技術と整合させるため25%に調整
- すべてのテクニックのオーバーヘッドをテクニック間隔の1/8に削減
- MethodSCRIPTを使用することで、取得フラクションを設定できるようにした。
- 直流電位印加時のEIS中の電流レンジを改善
- MethodSCRIPTにVT_TEMPERATUREを追加し、内蔵uC温度センサをサンプリングできるようにしました。
- set_cr を set_range MethodSCRIPT コマンドに置き換えました。
- set_pot_range を set_range_minmax MethodSCRIPT コマンドに置き換えました。
- MethodSCRIPT set_autoranging コマンドに Variable Type を追加(旧バージョンは非推奨ですが、まだ使用可能です)。
- "patch "を表す2桁の数字が追加されたバージョンコマンドを更新
- CRCによるフェイルセーフ通信モードを追加
- ホスト上のバッファオーバーフローを防ぐために UART 出力データレートを制限するコマンドを追加しました。
- 低電力モードの短絡電流を最大20mAに低減
- ファイルを保存する fs_put コマンドを追加(テキストのみ)
- データを返す fs_* コマンドはデータを返す前に ack 'n' で応答するようになりました。
- ファイル保存が有効になっているとき、CV がすべての出力をファイルに保存しなかった。
- CVが最後のスキャンの最後のポイントをスキップしたのを修正
- 不揮発性メモリにロックできないプロテクションを追加。
- 時間ベースの測定における最初のポイントのタイミングを修正
- 省電力化のため、アイドル時のスリープを追加
- 不揮発性メモリに保存された MethodSCRIPT を検証する CRC を追加。
- NPV/DPVの技術検証の改善
- MethodSCRIPT にビット演算子関数を追加。
- MethodSCRIPTにfloat/int関数とのキャストを追加。
- I2C転送間の意図しない遅延を修正
- コマンドに5秒のタイムアウトを追加
- 報告されたSWVのポテンシャルが理論に合致していなかったのを修正
- EISがアボートコマンドにより素早く反応するようにした。
- cali" コマンドを register に置き換え。
バージョン 1.2:
- get_time MethodSCRIPT コマンドを追加。
- ハイバネート MethodSCRIPT コマンドの追加
- MethodSCRIPTで2進数または16進数を使用する機能が追加されました。
- 整数値の追加(gpio関数やループに便利です)
- 通常のプロトコルからブートローダに入るコマンドを追加
- get_gpio、set_gpio_pullup、set_gpio_cfg コマンドを追加しました。
- SD カードサポートの追加(MethodSCRIPT 出力の保存方法の追加とファイルブラウザコマンドの追加)
- 中止MethodSCRIPTコマンドを追加
- if、else、elseif および endif MethodSCRIPT コマンドの追加
- breakloop MethodSCRIPT コマンドを追加。
- meas" MethodSCRIPT コマンドで使用する新しい MethodSCRIPT 変数タイプを追加しました。
- ブール値比較におけるビット演算子の MethodSCRIPT サポートを追加。
- timer_start と timer_get MethodSCRIPT コマンドを追加しました。
- set_int, await_int MethodSCRIPT コマンドを追加。
- MethodSCRIPTユーザーI2Cサポートを追加
- 測定パッケージで送信するメタデータを指定するための MethodSCRIPT サポートの追加
- MethodSCRIPT 配列サポートを追加
- meas_loop_eis MethodSCRIPT コマンドがオートレンジがオフの時に set_cr を使用するようになりました(オートレンジがイネーブルの時はまだ無視されます)。
- nscans MethodSCRIPT オプションコマンドを追加しました。
- Sensit BT のサポートを追加
- 高速DACと外部抵抗用に最適化された較正ルーチン
バージョン 1.1:
- 最大2.6Vのダイナミックレンジを可能にする複合pgstatモードの追加
- 非アクティブチャンネルにスタンバイ電位を適用する機能を追加
- BiPot機能を追加(低速のみ)
- PADテクニックを追加
- EIS オートレンジのサポートを追加
- EIS 測定後にチャンネル設定が復元されない問題を修正
- 'e' と 'r' コマンドは MethodSCRIPT が実行される前に 'n' でアックされるようになりました。
- スクリプトに余分な空白を入れる機能を追加
- 測定値をファイルに保存する機能が追加されました。
- フラッシュメモリにスクリプトを保存する機能を追加
- フラッシュ、コマンド、または起動時に保存されたスクリプトを実行できるようになりました。
- HWリビジョン1.1をサポート、HWリビジョン間の機能差はありません。
バージョン 1.1
- バグ修正:ほとんどのテクニックで2 x タイマー待ち:CV、DPV、LSV、NPV、OCP、SWV
- 関係ない技術CA、EIS、PAD