Jump to content

As of July 17, 2015, the LabJack forums here at forums.labjack.com are shut down. New registrations, topics, and replies are disabled. All forums are in a read-only state for archive purposes.

Please visit our current forums at labjack.com/forums to view and make new posts. To post on the current forums, use your labjack.com login account. Your old LabJack forums login credentials have been retired. There are no longer separate logins for labjack.com and LabJack forums.


Photo

I2C communication fails while data streaming is on

UE9 Pro Low-level Streaming LJTick-DAC I2C C# Socket

  • Please log in to reply
2 replies to this topic

#1 RPS_metocean

RPS_metocean
  • Members
  • 5 posts

Posted 08 September 2014 - 09:23 PM

We are planning to use the UE9 Pro (plus LJTick-DAC) to read AINs and counter0 using data streaming, to write to DAC0 and DAC1 using 
SingleIO and to TDAC0, ... TDACn using I2C calls. 
 
In order to be able to create multipe socket objects to multiple devices, we wrapped the low-level ue9.h and ue9.c code as an C# class. We
follow the examples for ue9TimerCounter.c, ue9Stream.c and ue9LJTDAC.c etc to make our own implementations. All work fine. Streaming
from an LJ device will be resumed after any network or power outage, and will not affect other device activities.
 
When we are doing streaming from one LJ device, we can also doing output to DAC0 and DAC1 at a regular base. Also, without data streaming
from the LJ device, we can output to both DAC0/DAC1 and TDAC channels with LJTick-DACs.
 
One thing we noticed is that, when we are doing data streaming on a UE9 Pro device, all calls using I2C will fail, so we cannot get calibration
info using getLJTDACCalibrationInfo(...) and I2C(...) to update voltages for those TDAC channels. We tried to delay the streaming until all 
calibration info retrieved, but the voltage update to TDAC channels I2C call will still fail. The send and receive operations to the socketA seemed
ok, but the final check if (ackArrayTotal != expectedAckArray) always failed because ackArrayTotal = 0 when streaming is on.
 
We are wondering if anything we are doing wrong, any suggestion to correct or work-around to make it possible to do data streaming and 
TDAC output in a single LJ device. Thanks.


#2 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 10 September 2014 - 03:43 PM

I2C should work during streaming, or at least nothing in the firmware disables I2C functionality when streaming. First try updating your UE9's Comm and Control firmware to the latest and see if that helps:

 

Control v2.26: http://labjack.com/s...rt/firmware/ue9

Comm. v1.59: http://labjack.com/s...rmware/ue9/beta

 

Second, make sure there are no digital I/O line conflicts. For example, make sure your counter and LJTick-DAC are not using the same lines.

 

If that doesn't help, let us know and we will look into trying to reproduce the issue.



#3 RPS_metocean

RPS_metocean
  • Members
  • 5 posts

Posted 10 September 2014 - 07:07 PM

Thank you very much. All working now.





Also tagged with one or more of these keywords: UE9 Pro, Low-level, Streaming, LJTick-DAC, I2C, C#, Socket

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users