Products > Programming

How to merge many forks from github, 108 many?

(1/6) > >>

Official but neglected master project
Main contributor fork
All the 108 forks on github

The project is a Python module, and so far it seems to be the most complete implementation of the IVI standard for controlling measuring instruments, open and multiplatform.  I'm interested mostly in those forks that include Rigol instruments because this is the only brand of SCPI instruments I have so far.

Is it reasonable to try to merge all the 108 forks (many don't have the Rigol instruments I need)?
Would merging all that be a one hour task, a one month, or rather impossible?

What to do to get a reasonably updated version?

I haven't looked at the forks recently, but anything that adds or improves a single instrument driver would be fairly straightforward to merge, while anything making more sweeping changes would be difficult. So all 180 would probably be days of work even for an experienced developer, and possibly more, but if you do a limited subset you might be able to do something in a couple of hours if you've done this before and are comfortable with the git command line.

I was at one point considering offering to help maintain and at least merge PRs that are complete with tests etc, since I wrote a number of instrument drivers myself. But I don't have the time right now.

Thanks for the advice.  Now I remember we talked about the same abandoned proj, this python-ivi, about two years ago:
and I might still have the tools I used back then to identify the forks that have Rigol drivers.

Back then only 10 forks were having drivers for Rigol.
Will post in the old thread in case I'll try to merge the relevant forks again.

Which wave gen and dso do you need? (Rigol parts)
It should be cleaner to write dedicated drivers.
Sigrock should have something.

I have a DSO from the DS1000Z series, DS1104Z, an AWG from the DG4000 series, DG4202, and a power supply from the DP800 series, DP832A, all 3 from Rigol.

The ones I was needing were the IVI drivers (python-IVI drivers more precisely) for the AWG and for the DSO.  Such an IVI driver is suppose to translate an IVI command to lower SCPI commands specific to each instrument.

I'm not sure Sigrok is using Python-IVI at all, I think it doesn't use IVI commands at all, there are other kind of drivers.

In IVI, the word driver is somehow misleading, it's not like a mouse driver which is OS specific.  IVI drivers are, briefly said, like a dictionary between a generic set of IVI commands (e.g. all instruments of type "Oscilloscope" will implement the same sets of IVI commands no mater what model the oscilloscope is, or who made it, while for SCPI commands each model uses its own set of SCPI commands that are not compatible between models or between manufacturers) and the specific SCPI corresponding commands of a particular model of instrument.

Unfortunately, the IVI standard was defined for Microsoft's C# or .Net, and the python-IVI implementation will never be 100% compatible because of some language specific properties that are different between Python and .Net or C#.  That is why, the IVI drivers offered by the instrument's manufacturer are useless for the Python-IVI implementation of the IVI protocol.

Might be interesting to try to run the manufacturer's (Microsoft) IVI drivers (in Linux) using WineHQ, or mono, but even if that would work, it looks more like a stunt, will have yet another proprietary binary blob that might not even work at a future time.

So far I've temporary parked the forks merging, and spent all my time with the other topic,


[0] Message Index

[#] Next page

There was an error while thanking
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod