GPIO implementation

Hello there,

i have a question regarding the current implementation of the general purpose inputs (GPI).
In the manual version 0.5 on page 22 it is stated:

As of June 20, 2019, GPI displayis notyet supported in the latest Joulescope UI0.4.1 software.GPI display will be introduced in July 2019.
Also the changelog pyjoulescope_ui/CHANGELOG.md at main · jetperch/pyjoulescope_ui · GitHub does not mention the GPI.

Could you please confirm that this feature is not yet available? If this is the case, is there a rough timeline? I am really in need for marking the interesting parts to energetically optimize in code by toggling a bit.

Thank you very much for clarification.

Hi @mathias, welcome to the Joulescope forum, and thanks for the question! The Joulescope UI does not yet support the GPI display feature. We were not able to complete this feature in July due to other issues that arose. You can find the official word in the July newsletter:

We will continue to work on the software over the coming months. Although we were planning to implement the GPI/O host software feature this month, the issues addressed in this software release consumed our time. With vacations in August, we are postponing the UI GPI/O feature until mid-September. We apologize for the delay, and we hope that you appreciate our choice to prioritize quality over features.

However, the hardware, firmware and much of the driver support are already implemented. You can control the GPO signals using ViewDeveloper. See io_voltage, GPO0 and GPO1. The current_gpi and voltage_gpi parameters also work, and the GPI data will appear in the LSBs. However, the existing UI does not have an easy way to display this information.

If you need something soon and are ok with running a python script to display this information on a captured JLS file, let me know. I should be able to put together a script this weekend.

Hi @mliberty,

thank you very much for your efforts and your explenation, i really appreciate this! The Joulescope really is a long awaited product and for me, it really fits the bill!
Sorry for not reading the information in the newsletter - i immediately signed up :wink:
I am okay with an implementation some time in September, so don’t waste time on extra stuff albeit this is tempting, of course! But it is good to know the information is already saved in the JLS-Capture-Files. If you need some beta-testing i am happy to assist.

Just out of curiosity, because the manual did not really elaborate on that: What do current_gpi and voltage_gpi parameters mean?

Thank you!

1 Like

Hi @mathias,

The current_gpi parameter controls what general purpose input information overwrites the normal current data bits. The options are:

  • normal (default, actual 14-bit current data)
  • gpi0_lsb: place GPI0 into the current least-significant bit (LSB)
  • gpi1_lsb: place GPI1 into the current least-significant bit (LSB)

The voltage_gpi parameter controls what general purpose input information is placed into the voltage data bits. The options are the same as for current_gpi.