Firmware EmStat Pico v1.6: ¿qué ha cambiado?
La actualización de firmware 1.6 para EmStat Pico y productos relacionados incluye muchas mejoras. Contiene correcciones de errores y nuevas funciones.
¿Cómo actualizar el firmware?
Puede utilizar PSTrace para actualizar el firmware de forma cómoda. PSTrace 5.12 (disponible a través de MyPalmSens) incluye el firmware y notificará automáticamente si es necesario actualizarlo.
Actualización del firmware mediante PSTrace Descargar PSTraceSi prefiere actualizar el firmware de EmStat Pico sin PSTrace, descargue el firmware manualmente y utilice este tutorial.
Descarga para el EmStat PicoLas 10 mejoras más importantes
Este firmware EmStat Pico incluye algunas mejoras y nuevas funciones muy agradables. Diez adiciones agradables y útiles:
Crear automáticamente un nuevo archivo para cada medición
Cree un nuevo archivo llamado "medición<conteo>.txt", donde <conteo> es un contador que aumenta para que el nombre del archivo sea único.
file_open "measurement&i.txt" 2 file_close
También puede crear nombre de archivo, basado en una variable
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
Nombres de variables más largos
Atrás quedaron los días en los que una variable sólo podía tener un carácter. Siéntete libre de declarar variables más largas para aumentar la legibilidad de tu código.
var potential var current var time var under_score_is_ok
Control de flujo por software
El control de flujo por software UART (XON/XOFF) aumenta la fiabilidad de la transferencia de datos. En Tera Term, la configuración de la conexión ahora se verá como la imagen de abajo:

Control por LED
¿Tienes una aplicación de bajo consumo y necesitas desactivar todos los LED? ¿O quieres indicar algo al usuario? Ahora es posible con notify_led.
#Busy mode, enable both the RED and BLUE LED notify_led 2
Comandos de bipotenciostato más sencillos
Se ha simplificado el uso del bipotenciostato. Los comandos antiguos siguen funcionando, pero puede que se eliminen en futuras versiones del firmware.
Cambios:
- Se ha añadido el comando `set_bipot_mode` (sustituye a `set_poly_we_mode`, que tenía que utilizarse desde el canal bipot).
- Añadido el comando `set_bipot_potential` (`set_e`, que tenía que usarse desde el canal bipot).
- Se ha añadido el argumento opcional `add_meas`.
- Añadido nuevo VarType `bb` (corriente bipotencial)
- Comando `set_poly_we_mode` y PGStat modo 5 (poly_we) obsoletos en favor del nuevo comando `set_bipot_mode`.
- Argumento opcional `poly_we` obsoleto en favor de `add_meas`.
Ejemplo de código antiguo en el 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
Nuevo código con 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
Marcas de tiempo precisas
¿Quiere saber exactamente cuándo tuvo lugar la medición?
Leer enviar enviar la hora corriente, cuando se utiliza en combinación con el Ablic S-35390A RTC como se utiliza en el EmStat Pico Development Kit.
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}"
Indexación de matrices más fácil
El acceso a las matrices es ahora más sencillo.
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]
Funciones matemáticas mejoradas
¿La corriente de su experimento electroquímico está relacionada de algún modo con una concentración o una cantidad de un determinado biomarcador? ¿O dispone de una curva de calibración? Se necesita una transformación de corriente a cantidad, y es posible con las funciones matemáticas.
Esta actualización de firmware también añade la función de potencia, que permite realizar cálculos de raíz cuadrada.
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
Detección de picos
Los picos en los resultados de las mediciones, a menudo se relacionan con la detección de un determinado elemento o biomarcador. Una forma simple de Detección de Picos es posible en 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
Escribir variables en un archivo
MethodSCRIPT admite la interpolación limitada de cadenas, lo que permite incluir los valores de las variables dentro de una cadena. Las cadenas interpoladas se indican con la letra f inmediatamente antes de la comilla inicial. Las variables que se van a incluir en la cadena se rodean de llaves, por ejemplo {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
.
¿Cómo utilizar los nuevos comandos MethodSCRIPT en este firmware?
Para obtener una visión general de todos los comandos MethodSCRIPT disponibles en este firmware, por favor descargue la documentación MethodSCRIPT.
Documentación MethodSCRIPTCambios impactantes y sus implicaciones
Algunos cambios en el firmware, cambiarán la funcionalidad del código existente.
Rango de ajuste
El `set_range` ya no selecciona el rango corriente, lo que podía causar advertencias de sobrecarga.
El EmStat Pico Core emitirá una advertencia de sobrecarga si tiene una intensidad superior al 48% (80% del 60%) de un intervalo de intensidad. Anteriormente, si configuraba el intervalo de intensidad para manejar, por ejemplo, 59 nA, se seleccionaba el intervalo más bajo de 100 nA. Con la nueva actualización, se selecciona un rango de corriente de 59 nA. De esta forma, no se produce inmediatamente una sobrecarga cuando se espera una corriente de 59 nA.
En un típico MethodSCRIPT generado por PSTrace (5.11 o anterior), verías:
set_range ba 59n set_autoranging ba 59n 590u
Para hacer que este MethodSCRIPT funcione igual con el firmware más nuevo, cámbialo por valores que no creen una sobrecarga, por ejemplo:
set_range ba 30n set_autoranging ba 30n 300u
Subcarga <4% en lugar de <2%.
Si las corrientes son inferiores al 4% (el valor anterior era el 2%) del intervalo de corriente seleccionado, se emite un aviso de subcarga de corriente, ya que puede aplicarse un intervalo de corriente inferior. Una subcarga producirá mediciones con una resolución y precisión bajas. Seleccione rangos de corriente inferiores si están disponibles para aumentar la resolución y precisión de corriente disponibles.
Aplicar un potencial durante la hibernación
Con el firmware 1.3 o inferior, se borraban todos los ajustes de los canales y éstos se apagaban en modo de hibernación.
Con el firmware 1.5 o posterior, tendrás que apagar manualmente una célula y, opcionalmente, poner un canal en modo PGStat apagado.
- Si deja un canal en modo de alta velocidad, se lanzará el código de error 0x4205.
- Si deja un canal en modo de baja velocidad, se aplicará una tensión de polarización durante la hibernación. Esto es útil para aplicaciones de baja potencia en las que, por ejemplo, se aplica una tensión y se lee la corriente cada x minutos (véase Cronoamperometría).
Mejora de la sincronización
La sincronización de las mediciones se ha mejorado y es más precisa en comparación con el firmware anterior.
Mayor precisión
La calibración se añade para mejorar la precisión en los modos de alta velocidad y alcance máximo. Esto no tendrá efecto en los dispositivos ya calibrados.
Registro de cambios del firmware de EmStat Pico versión 1.6
Cambios v1.6
- Añadidos comandos MethodSCRIPT 1.8
- submatriz
- log_var
- Añadida carga y ejecución de MethodSCRIPT desde archivo
- Fijo `meas_loop_eis` restablecer auto-ranging
- Fijo `hibernate` comando colgando si no I2C pullups fueron pobladas (OEM solamente)
Registro de cambios del firmware de EmStat Pico versión 1.5
Versión 1.5.00:
- Actualizado a MethodSCRIPT 1.7
- Añadido control de flujo por software UART (XON/XOFF). Ahora se recomienda utilizar el control de flujo SW para todos los EmStat Pico.
- Mejorado el comando MethodSCRIPT de hibernación para permitir aplicar un potencial durante la hibernación.
- Se ha añadido la posibilidad de medir el canal RE de Poly WE frente a GND
- Mayor precisión de la sincronización
- Detalles de comunicación actualizados (velocidad de transmisión UART y control de flujo)
- Añadido el comando inverso `R` para CV
- Registros añadidos:
- Configuración de periféricos
- Registro de licencia
- MétodoSCRIPT autoejecutable
- Límite de velocidad de datos UART
- Reiniciar instrumento
- Función multicanal
- Fecha y hora del sistema
- Configuración GPIO por defecto
- Advertencia del sistema
- Configuración de la velocidad en baudios
- Eliminado el comando obsoleto `s`, en su lugar utilice MethodSCRIPT hibernate
- Aumento de la longitud máxima de línea a 256
- MethodSCRIPT cambios y adiciones:
- Actualizados los números de línea para incluir también los comentarios
- Actualizado el comportamiento de los comandos `pck_start`/`pck_add`/`pck_end`.
- Añadidas versiones enmascaradas de los comandos GPIO (`set_gpio_msk` y `get_gpio_msk`)
- Comandos Mux: `mux_config`, `mux_get_channel_count`, `mux_set_channel`
- Operación módulo: `mod_var`.
- Alterar el _VarType_ de una variable MethodSCRIPT: `alter_vartype`
- Emitir notificaciones al usuario utilizando el LED del dispositivo: `notify_led`
- Establecer la dirección de escaneo para Voltametría Cíclica (CV): `set_scan_dir`
- Se ha añadido el comando `rtc_get`, que permite recuperar la fecha y la hora del RTC en MethodSCRIPT.
- Manera más fácil de utilizar bipot
- Se ha añadido el comando `set_bipot_mode` (sustituye a `set_poly_we_mode`, que tenía que utilizarse desde el canal bipot).
- Añadido el comando `set_bipot_potential` (`set_e`, que tenía que usarse desde el canal bipot)
- Se ha añadido el argumento opcional `add_meas`.
- Añadido el nuevo VarType `bb` (corriente bipot)
- Comando `set_poly_we_mode` y PGStat modo 5 (poly_we) obsoletos en favor del nuevo comando `set_bipot_mode`.
- Argumento opcional `poly_we` obsoleto en favor de `add_meas`.
- El EmStat Pico ahora utiliza el RTC Ablic S-35390A externo para su fecha y hora del sistema si está habilitado en el registro de configuración del periférico.
- Añadido el comando MethodSCRIPT `pow_var
- `set_range` ya no selecciona el rango corriente, lo que provoca advertencias de sobrecarga
- `meas_loop_eis` impedancia imaginaria ya no devuelve rango poco claro
- Añadido soporte para cadenas interpoladas (_f-strings_)
- Se ha añadido compatibilidad con la sintaxis de acceso a matrices
- Añadido soporte para auto-incrementar el número en el archivo
- Se ha añadido compatibilidad con nombres de variables de varios caracteres.
- El comando `set_autoranging` ahora responde con un error cuando se le dan entradas negativas.
- El comando `wait` MethodSCRIPT es ahora abortable
- Corrección de errores
Registro de cambios del firmware de EmStat Pico de la versión 1.1 a la 1.3
Versión 1.3.05:
- Corrección de errores: Las técnicas dejan de intentar ponerse al día tras una orden de espera.
- Corrección de errores: Corrección del indicador de advertencia de temporización no activado en SWV.
Versión 1.3.04:
- Corrección de errores: errores de medición EIS en Ch1 y DC
Versión 1.3.03:
- Actualizada la versión de MScript para evitar conflictos con la 1.3.01 con scripts almacenados en flash.
Versión 1.3.02:
- Corrección de errores: i2c_write e i2c_read referencia incorrecta a var a
Versión 1.3.01:
- Corrección de errores: file_open modo 1 (append) fallaba al crear un archivo
Versión 1.3.00:
- Compatibilidad añadida con el almacenamiento de mediciones a bordo Sensit BT
- Cambiado el sistema de archivos para EmStat Pico utilizando tarjetas SD para el almacenamiento de sistema de archivos personalizado de FAT32
- Compatibilidad mejorada con diferentes tarjetas SD
- PAD y LSV tenían una fracción de adquisición del 12,5%, ajustada al 25% para ser coherente con otros dispositivos y técnicas PalmSens
- Reducción de la sobrecarga de todas las técnicas en 1/8 del intervalo de la técnica.
- Fracción de adquisición configurable mediante MethodSCRIPT
- Mejora del intervalo de corriente durante la EIS cuando se aplica un potencial de CC.
- Añadido VT_TEMPERATURE a MethodSCRIPT, permitiendo muestrear el sensor de temperatura interno del uC.
- Sustituido set_cr por set_range Comando MethodSCRIPT que acepta cualquier tipo de variable (set_cr obsoleto pero aún disponible)
- Sustituido set_pot_range por set_range_minmax Comando MethodSCRIPT que acepta cualquier Tipo de Variable (set_pot_range obsoleto pero aún disponible)
- Añadido tipo de variable al comando MethodSCRIPT set_autoranging (versión antigua obsoleta pero aún disponible)
- Comando de versión actualizado con 2 dígitos extra que representan el "parche".
- Añadido el modo de comunicación a prueba de fallos con CRC
- Se ha añadido un comando para limitar la tasa de datos de salida de la UART para evitar desbordamientos de búfer en el host.
- Reducción de la corriente de cortocircuito del modo de baja potencia a un máximo de 20 mA
- Añadido el comando fs_put para almacenar archivos (sólo texto)
- Los comandos fs_* que devuelven datos ahora responden con un ack 'n' antes de devolver datos.
- CV no guardaba toda la salida en un archivo cuando se habilitaba el almacenamiento de archivos.
- Corregido CV omitido último punto de la última exploración
- Protección (des)bloqueable añadida para la memoria no volátil.
- Fijación de la hora del primer punto en las mediciones basadas en el tiempo
- Se ha añadido la suspensión cuando el dispositivo está inactivo para ahorrar energía.
- Añadido CRC para verificar el MethodSCRIPT almacenado en la memoria no volátil.
- Mejora de la validación técnica del VAN/VDP
- Añadidas funciones de operador bit a bit a MethodSCRIPT
- Añadidas funciones cast to/from float/int a MethodSCRIPT
- Corregido retardo involuntario entre transferencias I2C
- Añadido un tiempo de espera de 5 segundos a los comandos
- El potencial fijo notificado de SWV no se ajustaba a la teoría
- EIS responde más rápidamente a una orden de abortar
- Sustituido el comando "cali" por registro
Versión 1.2:
- Añadido el comando get_time MethodSCRIPT
- Añadido el comando MethodSCRIPT de hibernate
- Se ha añadido la posibilidad de utilizar números binarios o hexadecimales en MethodSCRIPT.
- Añadidos números enteros (útiles para funciones gpio y bucles)
- Añadido comando para entrar en bootloader desde el protocolo normal
- Añadidos los comandos get_gpio, set_gpio_pullup y set_gpio_cfg
- Se ha añadido soporte para tarjetas SD (se ha añadido una forma de almacenar la salida MethodSCRIPT y se han añadido comandos para el explorador de archivos).
- Añadido el comando abortar MethodSCRIPT
- Añadidos comandos if, else, elseif y endif MethodSCRIPT
- Añadido comando breakloop MethodSCRIPT
- Añadidos nuevos tipos de variables MethodSCRIPT para su uso en el comando MethodSCRIPT "meas".
- Añadido soporte MethodSCRIPT para operadores bitwise en comparaciones booleanas.
- Añadidos comandos timer_start y timer_get MethodSCRIPT
- Añadidos comandos set_int, await_int MethodSCRIPT
- Añadido soporte I2C de usuario MethodSCRIPT
- Añadido soporte MethodSCRIPT para especificar qué metadatos enviar en paquetes de medición.
- Añadido soporte para la matriz MethodSCRIPT
- El comando meas_loop_eis MethodSCRIPT utiliza ahora set_cr cuando el cambio automático está desactivado (se sigue ignorando cuando el cambio automático está activado).
- Añadido el comando opcional nscans MethodSCRIPT para CV para escaneos múltiples sin superposición de puntos.
- Añadida compatibilidad con Sensit BT
- Rutinas de calibración optimizadas para DAC de alta velocidad y resistencias externas
Versión 1.1:
- Se ha añadido el modo pgstat combinado para permitir un rango dinámico de hasta 2,6 V.
- Se ha añadido la posibilidad de aplicar el potencial de espera al canal inactivo.
- Añadida funcionalidad BiPot (sólo baja velocidad)
- Técnica PAD añadida
- Se ha añadido la función de cambio automático de EIS.
- Corregidos los ajustes de canal que no se restablecen tras la medición EIS
- Los comandos 'e' y 'r' ahora se aceptan con una 'n' antes de que se ejecute el MethodSCRIPT.
- Añadida la capacidad de tener espacios en blanco adicionales en la secuencia de comandos
- Se ha añadido la posibilidad de guardar las mediciones en un archivo (sigue faltando la posibilidad de recuperar los datos).
- Se ha añadido la posibilidad de almacenar el script en la memoria flash
- Añadida ejecución de script almacenado desde flash, con un comando o al inicio
- Soporte para HW revisión 1.1, no hay diferencia funcional entre las revisiones de HW
Versión 1.1
- Error corregido: 2 x temporizador de espera para la mayoría de las técnicas: CV,DPV,LSV,NPV,OCP,SWV
- Técnicas NO implicadas: CA,EIS,PAD