MWorks Labjack driver

Hi Chris,

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 believe you’re planning a more general public labjack driver.

If you think it doesn’t make sense to do a public version of the lab-specific LJU6 driver we have, perhaps we can figure out how Lindsey and our lab can share a repository?

thanks,
Mark

Hi Mark,

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.)

Cheers,
Chris

Hi Chris,

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.

Mark

Hi Mark,

Thanks for adding me to your repo.

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?

Thanks,
Chris

Hi Chris,

Yes, it looks like it would take a lot of effort to merge these.
And we use the 12 bit strobed word, so it would be hard to make these changes.

Perhaps we should both instead plan to switch over to your new T series driver in say… the next 3 years?

Does that sound good to both of you?
Mark

Does that sound good to both of you?

If that works for you and Lindsey, then it’s fine with me.

Chris