JS110 Python get device version

Hi,
We have had an issue that the FW version caused the failling of a test. For JS110 1.3.2 it was running, JS110. When we connected a JS220 the recording was empty. After updating the JS220 to:
HW 1.1.0
FW 1.2.1
FPGA 1.2.1

Libs used:
joulescope 1.1.13
pyjls 0.9.4
numpy 1.24.4
pyjoulescope_driver 1.5.2

We would like to check the fw version of the device connected.
For the JS220 we have the solution:

from pyjoulescope_driver import Driver
from pyjoulescope_driver.entry_points.info import version_to_str
def test_js220_fw_version():
    txt = []
    with Driver() as jsdrv:
        device_paths = sorted(jsdrv.device_paths())
        for device_path in device_paths:
            print(f"device_path: {device_path}")
            jsdrv.open(device_path)
            fw = version_to_str(jsdrv.query(f'{device_path}/c/fw/version'))
            hw = version_to_str(jsdrv.query(f'{device_path}/c/hw/version'))
            fpga = version_to_str(jsdrv.query(f'{device_path}/s/fpga/version'))
            txt.append(f'    {device_path}: hw={hw}, fw={fw}, fpga={fpga}')
            jsdrv.close(device_path)
    assert fw == "1.2.1"
    assert hw == "1.0.0"
    assert fpga == "1.2.1"

for the JS110 we couldn’t figure out the solution.
What would be the solution?
BR

Hi @lukGWF - We never reimplemented the JS110 info and firmware update in the new v1 joulescope_driver backend. You should probably update all JS110’s to firmware 1.3.2 or 1.3.4 and be done. 1.3.4 was only a fix on newer JS110’s to support a minor hardware change. We have no plans for any future JS110 firmware updates.

You can do this using the v0 backend. The easiest way to update JS110s is to uninstall your existing Joulescope UI and temporarily install the old Joulescope UI 0.9.11. Start the UI and then just connect your JS110’s. The firmware will update automatically if needed.

Here are the command line instructions. First, download the 1.3.4 firmware. Display the JS110 version info in PowerShell:

$env:JOULESCOPE_BACKEND = "0"
python -m joulescope info

To program the firmware:

python -m joulescope program upgrade "{path_to}\js110_1_3_4.img"

Replace {path_to} with the correct path information for wherever you downloaded that file.

After updating your JS110’s, you should not need to worry their firmware version ever again :wink:

1 Like