EmStat Pico Firmware v1.6: Was hat sich geändert?
Das Firmware-Update 1.6 für den EmStat Pico und verwandte Produkte enthält viele Verbesserungen. Es enthält sowohl Fehlerbehebungen als auch neue Funktionen.
Wie aktualisiert man die Firmware?
Sie können PSTrace verwenden, um die Firmware auf bequeme Weise zu aktualisieren. PSTrace 5.12 (verfügbar über MyPalmSens) enthält die Firmware und benachrichtigt Sie automatisch, wenn ein Firmware-Update erforderlich ist.
Firmware mit PSTrace aktualisieren PSTrace herunterladenWenn Sie es vorziehen, die EmStat Pico-Firmware ohne PSTrace zu aktualisieren, laden Sie die Firmware manuell herunter, und verwenden Sie diese Anleitung.
Herunterladen für den EmStat PicoTop 10 Verbesserungen
Diese EmStat Pico-Firmware enthält einige sehr schöne Verbesserungen und neue Funktionen. Zehn nette und hilfreiche Ergänzungen:
Automatisches Erstellen einer neuen Datei für jede Messung
Erstellen Sie eine neue Datei mit dem Namen "measurement<count>.txt", wobei <count> ein Zähler ist, der sich erhöht, damit der Dateiname eindeutig ist.
file_open "measurement&i.txt" 2 file_close
Sie können auch Dateinamen erstellen, die auf einer Variablen basieren
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
Längere Variablennamen
Die Zeiten, in denen eine Variable nur aus einem Zeichen bestehen konnte, sind vorbei. Es steht Ihnen frei, längere Variablen zu deklarieren, um die Lesbarkeit Ihres Codes zu verbessern.
var potential var current var time var under_score_is_ok
Software-Flusskontrolle
Die UART-Software-Flusskontrolle (XON/XOFF) erhöht die Zuverlässigkeit der Datenübertragung. In Tera Term sieht die Einrichtung der Verbindung nun wie in der folgenden Abbildung aus:

LED-Kontrolle
Sie führen eine Anwendung mit geringem Stromverbrauch aus und müssen alle LEDs deaktivieren? Oder möchten Sie dem Benutzer etwas signalisieren? Mit „notify_led“ ist dies nun möglich.
#Busy mode, enable both the RED and BLUE LED notify_led 2
Einfachere Bipotentiostat-Befehle
Die Bedienung des Bipotentiostaten wurde vereinfacht. Alte Befehle funktionieren weiterhin, werden aber möglicherweise in zukünftigen Firmware-Versionen entfernt.
Änderungen:
- Befehl „set_bipot_mode“ hinzugefügt (ersetzt „set_poly_we_mode“, der vom Bipot-Kanal aus verwendet werden musste)
- Befehl `set_bipot_potential` hinzugefügt (`set_e`, der vom Bipot-Kanal aus verwendet werden musste)
- Optionales Argument `add_meas` hinzugefügt
- Neuer VarType „bb“ (Bipol-Strom) hinzugefügt
- Der Befehl `set_poly_we_mode` und der PGStat-Modus 5 (poly_we) wurden zugunsten des neuen Befehls `set_bipot_mode` als veraltet markiert.
- Das optionale Argument `poly_we` wurde zugunsten von `add_meas` veraltet.
Beispiel für alten Code in der Firmware 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
Neuer Code mit Firmware 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
Genaue Zeitstempel
Möchten Sie genau wissen, wann welche Messung stattgefunden hat?
Lesen, Senden, Ausgeben der aktuellen Zeit, wenn in Kombination mit der Ablic S-35390A RTC, wie sie im EmStat Pico Development Kit verwendet wird.
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}"
Array-Indizierung leicht gemacht
Der Zugriff auf Arrays ist jetzt einfacher.
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]
Verbesserte mathematische Funktionen
Steht der Strom aus Ihrem elektrochemischen Experiment in irgendeiner Beziehung zu einer Konzentration oder Menge eines bestimmten Biomarkers? Oder haben Sie eine Kalibrierungskurve? Eine Umwandlung von Strom in Menge ist erforderlich und mit den mathematischen Funktionen möglich.
Dieses Firmware-Update fügt auch die Power-Funktion hinzu, mit der Sie auch Quadratwurzelberechnungen durchführen können.
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
Erkennung von Spitzenwerten
Spitzen in den Messergebnissen stehen oft im Zusammenhang mit dem Nachweis eines bestimmten Elements oder Biomarkers. Eine einfache Form der Spitzenerkennung ist in MethodSCRIPT möglich.
#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
Variablen in eine Datei schreiben
MethodSCRIPT unterstützt eine eingeschränkte Zeichenfolgeninterpolation, wodurch die Werte von Variablen in eine Zeichenfolge eingebunden werden können. Interpolierte Zeichenfolgen werden durch den Buchstaben „f“ gekennzeichnet, der unmittelbar vor dem öffnenden Anführungszeichen steht. Variablen, die in die Zeichenfolge eingebunden werden sollen, werden in geschweifte Klammern gesetzt, z. B. {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
.
Wie verwendet man die neuen MethodSCRIPT-Befehle in dieser Firmware?
Um einen Überblick über alle in dieser Firmware verfügbaren MethodSCRIPT-Befehle zu erhalten, laden Sie bitte die MethodSCRIPT-Dokumentation herunter.
MethodSCRIPT-DokumentationEinschneidende Veränderungen und ihre Auswirkungen
Einige Änderungen an der Firmware werden die Funktionalität des bestehenden Codes verändern.
Bereich festlegen
Die Funktion `set_range` wählt nicht mehr den aktuellen Bereich aus, was zu Überlastungswarnungen führen konnte.
Der EmStat Pico Core gibt eine Überlastwarnung aus, wenn der Strom mehr als 48 % (80 % von 60 %) eines Strombereichs beträgt. Bisher wurde, wenn Sie den Strombereich beispielsweise auf 59 nA einstellten, der niedrigste Bereich von 100 nA ausgewählt. Mit dem neuen Update wird bei der Auswahl eines Strombereichs von 59 nA nun der entsprechende Bereich von 59 nA verwendet. Auf diese Weise kommt es nicht sofort zu einer Überlastungswarnung, wenn Sie einen Strom von 59 nA erwarten.
In einem typischen, von PSTrace (5.11 oder älter) generierten MethodSCRIPT würde Folgendes zu sehen sein:
set_range ba 59n set_autoranging ba 59n 590u
Damit dieses MethodSCRIPT auch mit der neueren Firmware die gleiche Leistung erbringt, ändern Sie die Werte so, dass keine Überlastung entsteht, zum Beispiel:
set_range ba 30n set_autoranging ba 30n 300u
Unterlast <4% statt <2%
Liegen die Ströme unter 4 % (bisher 2 %) des ausgewählten Strombereichs, wird eine Warnung wegen Unterlastung ausgegeben, da ein niedrigerer Strombereich angewendet werden kann. Eine Unterlastung führt zu Messungen mit geringer Auflösung und Genauigkeit. Wählen Sie, sofern verfügbar, niedrigere Strombereiche aus, um die verfügbare Stromauflösung und Genauigkeit zu erhöhen.
Anlegen eines Potentials während des Winterschlafs
Bei der Firmware 1.3 oder niedriger wurden im Ruhemodus alle Kanaleinstellungen zurückgesetzt und die Kanäle deaktiviert.
Ab Firmware 1.5 müssen Sie eine Zelle manuell ausschalten und optional einen Kanal auf den PGStat-Modus „Aus“ einstellen.
- Wenn Sie einen Kanal im Hochgeschwindigkeitsmodus belassen, wird der Fehlercode 0x4205 ausgegeben.
- Wenn Sie einen Kanal im Niedriggeschwindigkeitsmodus belassen, wird während des Ruhezustands eine Vorspannung angelegt. Dies ist nützlich für Anwendungen mit geringem Stromverbrauch, bei denen z. B. alle x Minuten eine Spannung angelegt und der Strom gemessen wird (siehe Chronoamperometrie).
Verbesserte Zeitplanung
Die Messzeiten wurden verbessert und sind im Vergleich zur vorherigen Firmware genauer.
Verbesserte Genauigkeit
Es wurde eine Kalibrierungsfunktion hinzugefügt, um die Genauigkeit im Hochgeschwindigkeits- und im Maximalreichweitenmodus zu verbessern. Dies hat keine Auswirkungen auf bereits kalibrierte Geräte.
EmStat Pico Firmware-Änderungsprotokoll Version 1.6
Änderungsliste v1.6
- MethodSCRIPT 1.8 Befehle hinzugefügt
- Subarray
- log_var
- Laden und Ausführen von MethodSCRIPT aus Datei hinzugefügt
- Behoben: `meas_loop_eis` setzt Auto-Ranging zurück
- Hibernate"-Befehl hängt nicht mehr, wenn keine I2C-Pullups vorhanden sind (nur OEM)
EmStat Pico Firmware-Änderungsprotokoll Version 1.5
Version 1.5.00:
- Aktualisiert auf MethodSCRIPT 1.7
- UART-Software-Flusskontrolle (XON/XOFF) hinzugefügt. Es wird nun empfohlen, bei allen EmStat Pico-Geräten die Software-Flusskontrolle zu verwenden.
- Der MethodSCRIPT-Befehl für den Ruhezustand wurde verbessert, sodass während des Ruhezustands eine Spannung angelegt werden kann.
- Es wurde die Möglichkeit hinzugefügt, den RE-Wert des Poly-WE-Kanals gegenüber GND zu messen.
- Verbesserte Zeitgenauigkeit
- Aktualisierte Kommunikationsdaten (UART-Baudrate und Flusskontrolle)
- Der Befehl `R` (Umkehrbefehl) für CV wurde hinzugefügt
- Hinzugefügte Register:
- Peripheriekonfiguration
- Lizenzregister
- MethodSCRIPT-Autostart
- UART-Datenratenbegrenzung
- Gerät zurücksetzen
- Mehrkanal-Funktion
- Systemdatum und -zeit
- Standard-GPIO-Konfiguration
- Systemwarnung
- Konfiguration der Baudrate
- Der veraltete Befehl `s` wurde entfernt; verwenden Sie stattdessen MethodSCRIPT hibernate
- Die maximale Zeilenlänge wurde auf 256 erhöht
- Änderungen und Ergänzungen an MethodSCRIPT:
- Zeilennummern wurden aktualisiert, um auch Kommentare einzubeziehen
- Verhalten der Befehle `pck_start`/`pck_add`/`pck_end` aktualisiert
- Maskierte Versionen der GPIO-Befehle hinzugefügt (`set_gpio_msk` und `get_gpio_msk`)
- Mux-Befehle: `mux_config`, `mux_get_channel_count`, `mux_set_channel`
- Modulo-Operation: `mod_var`
- Ändern des _VarType_ einer MethodSCRIPT-Variablen: `alter_vartype`
- Benachrichtigungen über die Geräte-LED ausgeben: `notify_led`
- Festlegen der Scan-Richtung für die zyklische Voltammetrie (CV): `set_scan_dir`
- Der Befehl `rtc_get` wurde hinzugefügt, mit dem Datum und Uhrzeit der RTC innerhalb von MethodSCRIPT abgerufen werden können
- Einfachere Verwendung von Bipot
- Befehl `set_bipot_mode` hinzugefügt (ersetzt `set_poly_we_mode`, der bisher über den Bipot-Kanal verwendet werden musste)
- Befehl `set_bipot_potential` hinzugefügt (bisher musste `set_e` vom Bipot-Kanal aus verwendet werden)
- Optionales Argument `add_meas` hinzugefügt
- Neuer VarType `bb` (Bipot-Strom) hinzugefügt
- Der Befehl `set_poly_we_mode` und der PGStat-Modus 5 (poly_we) wurden zugunsten des neuen Befehls `set_bipot_mode` veraltet
- Das optionale Argument `poly_we` wurde zugunsten von `add_meas` als veraltet markiert
- Der EmStat Pico verwendet nun den externen Ablic S-35390A RTC für das Systemdatum und die Systemzeit, sofern dies im Peripherie-Konfigurationsregister aktiviert ist.
- Der `pow_var`-Befehl in MethodSCRIPT wurde hinzugefügt
- `set_range` wählt nicht mehr den aktuellen Bereich aus, was zu Überlastungswarnungen führt
- `meas_loop_eis` – Die imaginäre Impedanz liefert keine Werte außerhalb des zulässigen Bereichs mehr
- Unterstützung für interpolierte Zeichenfolgen (_f-strings_) hinzugefügt
- Unterstützung für die Syntax des Array-Zugriffs hinzugefügt
- Unterstützung für automatisch inkrementierende Zahlen in der Datei hinzugefügt
- Unterstützung für mehrstellige Variablennamen hinzugefügt
- Der Befehl `set_autoranging` gibt nun eine Fehlermeldung aus, wenn negative Werte eingegeben werden
- Der SCRIPT-Befehl `wait` kann nun abgebrochen werden
- Verschiedene Fehlerbehebungen
EmStat Pico Firmware-Änderungsprotokoll Version 1.1 bis 1.3
Version 1.3.05:
- Fehlerbehebung: Verhindert, dass Techniken nach einem Haltebefehl versuchen, den Rückstand aufzuholen
- Fehlerbehebung: Das Timing-Warnflag wurde in SWV nicht gesetzt.
Version 1.3.04:
- Fehlerbehebung: EIS-Messfehler auf Kanal 1 und DC
Version 1.3.03:
- Die MScript-Version wurde aktualisiert, um Konflikte mit Version 1.3.01 bei im Flash-Speicher abgelegten Skripten zu vermeiden.
Version 1.3.02:
- Fehlerbehebung: i2c_write und i2c_read – falsche Referenz auf die Variable „a“
Version 1.3.01:
- Fehlerbehebung: file_open im Modus 1 (anhängen) schlug beim Erstellen der Datei fehl
Version 1.3.00:
- Unterstützung für die Speicherung von Messdaten auf dem Sensit BT hinzugefügt
- Das Dateisystem für EmStat Pico-Geräte, die SD-Karten als Speichermedium verwenden, wurde von FAT32 auf ein benutzerdefiniertes Dateisystem umgestellt.
- Verbesserte Unterstützung für verschiedene SD-Karten
- PAD und LSV wiesen eine Erfassungsrate von 12,5 % auf, die auf 25 % angepasst wurde, um die Übereinstimmung mit anderen PalmSens -Geräten und -Verfahren zu gewährleisten
- Der Overhead aller Techniken wurde um 1/8 des Technikintervalls reduziert
- Die Erfassungsquote kann nun über MethodSCRIPT konfiguriert werden
- Verbesserte Strommessung während des EIS bei Anlegen einer Gleichspannung
- „VT_TEMPERATURE“ wurde zu „MethodSCRIPT“ hinzugefügt, wodurch die Abtastung des internen uC-Temperatursensors ermöglicht wird
- „set_cr“ wurde durch den MethodSCRIPT-Befehl „set_range“ ersetzt, der jeden Variablentyp akzeptiert („set_cr“ ist veraltet, aber weiterhin verfügbar)
- „set_pot_range“ wurde durch den MethodSCRIPT-Befehl „set_range_minmax“ ersetzt, der jeden Variablentyp akzeptiert („set_pot_range“ ist veraltet, aber weiterhin verfügbar)
- Der Befehl „set_autoranging“ von MethodSCRIPT wurde um den Variablentyp erweitert (die alte Version ist veraltet, aber weiterhin verfügbar)
- Aktualisierter Versionsbefehl mit zwei zusätzlichen Ziffern, die den „Patch“ angeben
- Ausfallsicherer Kommunikationsmodus mit CRC hinzugefügt
- Befehl hinzugefügt, um die Datenübertragungsrate des UART zu begrenzen und so Pufferüberläufe auf dem Host zu verhindern
- Der Kurzschlussstrom im Energiesparmodus wurde auf maximal 20 mA reduziert
- Der Befehl „fs_put“ zum Speichern von Dateien (nur Text) wurde hinzugefügt.
- fs_*-Befehle, die Daten zurückgeben, antworten jetzt mit einem ack 'n', bevor sie Daten zurückgeben.
- CV hat nicht die gesamte Ausgabe in eine Datei gespeichert, wenn die Dateispeicherung aktiviert war
- Fehler behoben: CV übersprang den letzten Punkt des letzten Scans
- Es wurde ein (de)aktivierbarer Schutz für den nichtflüchtigen Speicher hinzugefügt
- Das Timing bei zeitbasierten Messungen mit dem ersten Zeitpunkt wurde korrigiert
- Es wurde ein Ruhemodus hinzugefügt, der bei Inaktivität des Geräts aktiviert wird, um Strom zu sparen
- CRC zur Überprüfung des im nichtflüchtigen Speicher gespeicherten MethodSCRIPT hinzugefügt
- Verbesserte Validierung der NPV/DPV-Methode
- Bitweise Operatorfunktionen wurden zu MethodSCRIPT hinzugefügt
- Funktionen zum Konvertieren zwischen Float und Int wurden zu MethodSCRIPT hinzugefügt
- Unbeabsichtigte Verzögerung zwischen I2C-Übertragungen behoben
- Befehlen wurde ein Timeout von 5 Sekunden hinzugefügt
- Das gemeldete Problem, dass die SWV-Werte nicht mit der Theorie übereinstimmten, wurde behoben.
- EIS reagiert nun schneller auf einen Abbruchbefehl
- Der Befehl „cali“ wurde durch „register“ ersetzt
Version 1.2:
- Der Befehl „get_time“ für MethodSCRIPT wurde hinzugefügt
- Befehl „hibernate“ für MethodSCRIPT hinzugefügt
- Es wurde die Möglichkeit hinzugefügt, Binär- oder Hexadezimalzahlen in MethodSCRIPT zu verwenden.
- Ganzzahlen hinzugefügt (nützlich für GPIO-Funktionen und Schleifen)
- Befehl zum Aufrufen des Bootloaders über das normale Protokoll hinzugefügt
- Die Befehle „get_gpio“, „set_gpio_pullup“ und „set_gpio_cfg“ wurden hinzugefügt.
- Unterstützung für SD-Karten hinzugefügt (Möglichkeit zum Speichern der MethodSCRIPT-Ausgabe sowie Befehle für den Dateibrowser hinzugefügt)
- Befehl „abort MethodSCRIPT“ hinzugefügt
- Die MethodSCRIPT-Befehle „if“, „else“, „elseif“ und „endif“ wurden hinzugefügt
- Der Befehl „MethodSCRIPT“ zum Unterbrechen der Schleife wurde hinzugefügt
- Es wurden neue MethodSCRIPT-Variablentypen für die Verwendung im MethodSCRIPT-Befehl „meas“ hinzugefügt
- Unterstützung für MethodSCRIPT bei bitweisen Operatoren in booleschen Vergleichen hinzugefügt
- Die Befehle „timer_start“ und „timer_get“ wurden zu MethodSCRIPT hinzugefügt
- Die MethodSCRIPT-Befehle „set_int“ und „await_int“ wurden hinzugefügt
- Unterstützung für MethodSCRIPT-Benutzer-I2C hinzugefügt
- Unterstützung für MethodSCRIPT hinzugefügt, um festzulegen, welche Metadaten in Messpaketen gesendet werden sollen
- Unterstützung für MethodSCRIPT-Arrays hinzugefügt
- Der „meas_loop_eis“-Befehl von MethodSCRIPT verwendet nun „set_cr“, wenn die automatische Bereichswahl deaktiviert ist (wird weiterhin ignoriert, wenn die automatische Bereichswahl aktiviert ist)
- Der optionale Befehl „nscans MethodSCRIPT“ wurde zu CV hinzugefügt, um mehrere Scans ohne überlappende Punkte durchzuführen
- Unterstützung für Sensit BT hinzugefügt
- Optimierte Kalibrierungsroutinen für den Hochgeschwindigkeits-DAC und externe Widerstände
Version 1.1:
- Es wurde ein kombinierter pgstat-Modus hinzugefügt, der einen Dynamikbereich von bis zu 2,6 V ermöglicht.
- Es wurde die Möglichkeit hinzugefügt, auf inaktiven Kanälen ein Standby-Potential anzulegen.
- BiPot-Funktionalität hinzugefügt (nur bei niedriger Geschwindigkeit)
- PAD-Technik hinzugefügt
- Unterstützung für die automatische Bereichswahl bei EIS hinzugefügt
- Fehler behoben: Kanaleinstellungen wurden nach einer EIS-Messung nicht wiederhergestellt
- Die Befehle 'e' und 'r' werden nun mit einem 'n' quittiert, bevor das MethodSCRIPT ausgeführt wird.
- Es wurde die Möglichkeit hinzugefügt, zusätzliche Leerzeichen im Skript zu verwenden.
- Es wurde die Möglichkeit hinzugefügt, Messwerte in einer Datei zu speichern (die Möglichkeit, Daten abzurufen, fehlt noch).
- Es wurde die Möglichkeit hinzugefügt, Skripte im Flash-Speicher zu speichern
- Es wurde die Ausführung gespeicherter Skripte aus dem Flash-Speicher hinzugefügt, entweder per Befehl oder beim Systemstart
- Unterstützung für Hardware-Revision 1.1; es gibt keine funktionalen Unterschiede zwischen den Hardware-Revisionen
Version 1.1
- Fehler behoben: 2-fache Timer-Wartezeit bei den meisten Techniken: CV, DPV, LSV, NPV, OCP, SWV
- Nicht betroffene Techniken: CA, EIS, PAD