Lindsey and I were wondering if you'd be willing to merge our two Labjack drivers and make the result a public MWorks resource.
I think the first step would be to assess how amenable your plugins are to merging. I already have access to Lindsey's code. Is yours available somewhere?
I believe you're planning a more general public labjack driver.
I'm working on a plugin that would support recent LabJack devices (the T7 and T4), which use a shared API (LJM) that doesn't support the U6 or other older devices. I'd also be willing to create a general-purpose plugin for the U6, but only if your lab and/or Lindsey's would use it. (In the past, you've said that you preferred to stick with your existing plugin.)
Snapshot attached with recent commits. There hasn't been much.
I just added you to the repo as a collaborator.
If I remember correctly, the "CIO mask" bugfix is something you'll want to pick up if you haven't already.
My proposal: you merge anything important below into the code you're maintaining for Lindsey (which diverged around 2011, I'd think).
I'm hoping it hasn't changed too much. Then I look at the result and see if it drops into our setups seamlessly; if not I fix issues, and then we start working with a shared github repo (perhaps under the mworks organization?).
> I'm working on a plugin that would support recent LabJack devices (the T7 <https://labjack.com/products/t7> and T4 <https://labjack.com/products/t4>), which use a shared API (LJM <https://labjack.com/ljm>) that doesn't support the U6 or other older devices. I'd also be willing to create a general-purpose plugin for the U6, but only if your lab and/or Lindsey's would use it. (In the past, you've said that you preferred to stick with your existing plugin.)
That approach sounds fine to me - no need for a general purpose plugin for the U6. In the future, we can switch to the T series and your driver.
It looks like there are some potentially significant changes in Lindsey's code compared to yours. For one, "lever2" and "lever2_solenoid" have been removed, and numerous other parameters have been added. Also, your "CIO mask" bug fix can't be applied, as Lindsey's code has remove the CIO bits from the strobed word (making it 8 bits total instead of 12).
I've attached a diff containing the substantive differences between your code and Lindsey's. Maybe you can take a look at it and see if Lindsey's code still seems compatible with your setups?