In this post I am going to explain some features of the device’s firmware.
Firmware
The LCRH7 firmware is a bare metal system written in C/C++ using ST’s Cube IDE.
Graphical User Interface
The user can interact with the device through the 2.8“ capacitive touch screen. The GUI elements have been kept large so the screen can be conveniently operated without needing a stylus.
This is the list of screens the user can navigate to.
| Main screen | Display measurement results |
| Adjustment | Perform open/short adjustments |
| Statistics / Statistics 2 | Show deviations as numbers or as a graph over time |
| Save/Recall | Save/Recall/Preset |
| USB | Display Visa resource string |
| About | Show serial number and FW version |
| Screen | Set screen saver |
| Register | Enter registration key |
Remote Control Interface
The device can be remote controlled via its USB interface. To a host it is visible as a composite USB device with a USBTMC interface and a CDC (serial) interface. The language used is SCPI.
Example:
Measure parallel capacitance and resistance:
MEAS? CPRP
→ returns the result as a pair of values in uF and Ohms e.g. (4.52357e-01,2.23561e+04)
for 0.452 uF and 22.3 kOhm.
This is a list of selected commands. To get the full list use command „SYSTem:HELP:HEADers?“.
| [:SOURce]:FREQuency? | Set/get measurement frequency (100,120,1k,10kHz) |
| MEASure? | Perform measurement. Argument can be one of AUTO, CPD, CPQ, CPRP, CSD, CSQ, CSRS,LPD, LPQ, LPRP, LSD, LSQ, LSRS, RX, R, L, C, ZT |
| MEASure:CTYPE? | Get type of last result, if measurement type was AUTO |
| MEASure:IMPedance[:VALue]? | Measure Impedance |Z| and phase |
| MEASure:RELative? | Set/get relative measurement mode |
| MEASure:STATistics:RESet | Reset statistics recording |
| MEASure:STATistics:CURVe | Get number of recorded statistics points |
| MEASure:STATistics:CURVe | Get time interval of statistics record |
| MEASure:STATistics:CURVe | Get statistics data |
| MEASure:STATistics:CURVe | Get statistics minimum deviation |
| MEASure:STATistics:CURVe | Get statistics maximum deviation |
| MEASure:STATistics:CURVe | Get statistics average |
| MEASure:STATistics:CURVe | Get statistics minimum deviation in % |
| MEASure:STATistics:CURVe | Get statistics minimum deviation in % |
| MEASure:TSETtling? | Get settling time |
| MEASure:TYPE? | Set measurement type for GUI measurements |
| MEASure:TYPE:ACTual? | Get actual measurement type if AUTO was used |
| ADJust:OPEN | Perform open adjustment |
| ADJust:OSHort:CLEar | Clear open/short adjustment data |
| ADJust:SHORt | Perform short adjustment |
| ADJust:SAVE | Save adjustment data |
To be continued