Log file format? (*.jls)

So far I am unable to find any information about the log file format (*.jls).

Is this a JouleScope standard? Are there viewers other than joulescope.exe?

How do I import or paste the data into Excel?

1 Like

Hi @kwible and welcome to the forum. The JLS file format is an open format, but it was specifically designed for Joulescope. You can find information on the underlying TLV format on datafile.py. The actual JLS fields and collection structure is not that well documented and will be expanding (but will remain backwards compatible). You can see the source code in data_recorder.py. As far as I know, joulescope.exe is the only viewer. The JLS file format will be growing in the near future to support downsampled data and GPO data.

Excel only supports a maximum of 1048576 rows (2 ^ 20), or about 1/2 second of Joulescope data. Do you want to import full-rate 2 million sample-per-second data into Excel? If so, you can use the command-line recording command to convert JLS files into either CSV (for import into Excel) or NPY format. Here is an example:

python -m joulescope recording out.jls --export out.csv

You will need to install python and then “pip install joulescope” first. For additional, help, type:

> python -m joulescope recording --help

which currently displays

usage: __main__.py recording [-h] [--plot] [--export EXPORT] [--start START]
                             [--stop STOP]

positional arguments:
  filename         The capture duration in seconds.

optional arguments:
  -h, --help       show this help message and exit
  --plot           Plot the captured data (data reduction preview only).
  --export EXPORT  Filename for export data. ".csv" and ".npy" supported.
  --start START    Starting sample index. Use 0 by default
  --stop STOP      Stopping sample index. Use last available by default

In the not too distant future, the UI will be extended to support export to other file formats, but only JLS is currently supported.

If you just want to capture highly downsampled 2 Hz data, you can use the downsample_logging.py example. You can find more info in this post: Joulescope data logging

Does this get you what you need? Do you have any additional questions or feedback?

Hi @mliberty,

Thank you for such a thorough reply.

I absolutely do not need 2Msps for my application. I am just characterizing the DC IV curve of a solar cell. I assume I can throttle back the sample rate with a simple configuration change.

I am a little disappointed that pasting basic sample data into Excel is quite so complicated. Surely every customer of Joulescope will need to do this frequently, and preferably without installing python/joulescope.

Thank you for your thorough reply. I will muddle through your python examples, though that will probably generate a couple follow-up question…


Hi @kwible,

It sounds like 2 Hz may be enough for your I-V solar cell capture. You should check out the downsample_logging.py example I mentioned above. You can find more info in this post: Joulescope data logging

Supporting downsampling in the UI and recording to other file formats is a planned future feature for the Joulescope UI. However, it is not yet implemented. Running from python is hopefully pretty easy, but let me know if you run into issues.