xyphro / UsbGpib

Versatile, cheap and portable USB to GPIB converter (USBTMC class based)
MIT License
277 stars 50 forks source link

Request for setting parameter in eeprom #21

Closed 1st-elektron closed 1 year ago

1st-elektron commented 1 year ago

I have no luck in setting parameter via control_in (NI VISA) Please can you give me the adresses in eeprom to set this values directly? Thank you

xyphro commented 1 year ago

Hi Mike,

Old fw versions did not support setting those parameters. I fooled myself already by trying it out on a devices with old fw version. Did you upgrade to the latest one?

Will check adresses from sourcecode and share.

Best regards,

Kai

Mike @.***> schrieb am Do., 8. Dez. 2022, 14:14:

I have no luck in setting parameter via control_in (NI VISA) Please can you give me the adresses in eeprom to set this values directly? Thank you

— Reply to this email directly, view it on GitHub https://github.com/xyphro/UsbGpib/issues/21, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABFXEGHBEGNEZWPT2FHPDTLWMHNMDANCNFSM6AAAAAASYEAXEY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

xyphro commented 1 year ago

Byte 104 selects if a gpib identification is tried to be read or not duting powerup: 1 = gpib identification id read 0 = no gpib id read

Byte 105 selects gpib read transfrr termination method: 0 means EOI only 10 = LF termination 13 = CR termination

Mike @.***> schrieb am Do., 8. Dez. 2022, 14:14:

I have no luck in setting parameter via control_in (NI VISA) Please can you give me the adresses in eeprom to set this values directly? Thank you

— Reply to this email directly, view it on GitHub https://github.com/xyphro/UsbGpib/issues/21, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABFXEGHBEGNEZWPT2FHPDTLWMHNMDANCNFSM6AAAAAASYEAXEY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

xyphro commented 1 year ago

Let me know if it helps and if the firmware version wad the issue!

1st-elektron commented 1 year ago

Hi Mike, Old fw versions did not support setting those parameters. I fooled myself already by trying it out on a devices with old fw version. Did you upgrade to the latest one? Will check adresses from sourcecode and share. Best regards, Kai Mike @.> schrieb am Do., 8. Dez. 2022, 14:14: I have no luck in setting parameter via control_in (NI VISA) Please can you give me the adresses in eeprom to set this values directly? Thank you — Reply to this email directly, view it on GitHub <#21>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABFXEGHBEGNEZWPT2FHPDTLWMHNMDANCNFSM6AAAAAASYEAXEY . You are receiving this because you are subscribed to this thread.Message ID: @.>

Hi Johannes, thank you for your fast answer. I have the latest TestAndMeasurement.bin from 03.05.22. Thank you for the adresses of the parameter I will try them soon.

Kind Reagards Michael

1st-elektron commented 1 year ago

Johannes, i am sure that there are no problems with your firmware. I was not able to set control cmds via NI-Max. That is of course a problem of my unknowing with this software. I have send a eeprom-file with following contents 00000000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................................................................................................................ 00000100 FF FF FF FF 00 10 FF FF FF FF FF FF FF FF FF FF ................................................................................................................ 000003F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

Next i will try at 105:13 I still have an error timeout message with an old Marconi 2022 RF Signal Generator using query and read. Setting parameters with write still works. Thank you for your support.

Kind Regards Michael

xyphro commented 1 year ago

Hi Michael,

I have an even older Marconi 2019A at home. Let me try this one out and share back with you.

You can also contact me by mail under xyphro@gmail.com

Best regards,

Kai

PS: I am called Kai not Johannes :-)

xyphro commented 1 year ago

BTW: 0x10 is not the same as 10 decimal. Try 0x0a

xyphro commented 1 year ago

Interim status: Writing works with NI MAX - also with cleared eeprom, so default values.

Just tried this sequence here (taken from Marconi 2019A manual): CF 123.45MZ, DE CF 25 KZ, LV 1.2 UV

NI MAX converts the spaces to \s when I press write to this one: CF\s123.45MZ,\sDE\sCF\s25\sKZ,\sLV\s1.2\sUV

And the instrument changes the settings accordingly.

Will try out the Reading of data now.

xyphro commented 1 year ago

Update on read: I also get Read timeouts.

To check if it is an issue with the usb gpib converter itself, I connected my NI GPIB-USB-HS to the instrument and get the same behaviour (Error iberr = EABO)

Likely some kind of magic trick needs to be applied to make it work. Will continue trying a bit.

xyphro commented 1 year ago

Ahh, read is now also working. There is an undocumented feature, which is actually documented for Marconi 2022.

What I did: I have written this string: CF 123.45MZ, DE CF 25 KZ, LV 1.2 UV

And then a query with: QU and it returns: LV 1.200UVC1

Note: For Marconi 2019A there was no need to change anything in the eeprom! So standard EOI termination for reads is fine. Just: The instrument needs a command to talk. Just doing a read never gets it to read anyting. But doing a query with QU makes it talk :-)

Those old instruments are sometimes very tricky to get properly controlled.

Here also a log of my tries: 1: Write Operation (CF\s123.45MZ,\sDE\sCF\s25\sKZ,\sLV\s1.2\sUV)

Return Count: 35 bytes

2: Write Operation (QU)

Return Count: 2 bytes

3: Read Operation Return Count: 16 bytes \s\sLV\s1.200UVC1\r\n

4: Write Operation (QU)

Return Count: 2 bytes

5: Read Operation Return Count: 16 bytes \s\sLV\s1.200UVC1\r\n

6: Write Operation (QU)

Return Count: 2 bytes

7: Read Operation Return Count: 16 bytes \s\sLV\s1.200UVC1\r\n

8: Device Clear Operation

9: Write Operation (CF\s123.45MZ,\sDE\sCF\s25\sKZ,\sLV\s1.2\sUV)

Return Count: 35 bytes

10: Write Operation (QU)

Return Count: 2 bytes

11: Read Operation Return Count: 16 bytes \s\sLV\s1.200UVC1\r\n

12: Write Operation (QU)

Return Count: 2 bytes

13: Read Operation Return Count: 16 bytes \s\sLV\s1.200UVC1\r\n

PS: I tried this all using NI MAX. No python involved.

xyphro commented 1 year ago

Curious what you will see. Let me know!

ami3go commented 1 year ago

Hi all i have the same problem. I was using an old Panasonic_vp-8122a which return a settings into *IDN? request.

Connect converter to any instrument.

import pyvisa
rm = pyvisa.ResourceManager()
rm_list = rm.list_resources()
print(rm_list)

Pick your instrument name

instrument_name =  " your instrument"
VM = rm.open_resource(instrument_name)
VM.control_in(0xa1, 0x40, 0, 0)
VM.write('!0001')

make a power cycle

xyphro commented 1 year ago

Hi ami3go,

Michaels problem at the end was unrelated to the eeprom.

Are you saying you have an issue, or is this your proposal to solve?

In case you have an issue, please give a bit more details likr if you use latest firmware, which visa provider and if you use python and if which type of pyvisa (native direct insttument access ot via visa provider) and OS.

Best regards,

Kai

xyphro commented 1 year ago

Sorry, reading again it is a proposal for a solution. Ignore my previous comment. I leave the ticket closed thus.