Oops, "be larger that the FLOAT type" should have
been "be no larger than the FLOAT type" in my
message below.

Steve Stallings 

> -----Original Message-----
> From: Steve Stallings [mailto:[email protected]] 
> Sent: Sunday, December 01, 2013 10:03 AM
> To: 'EMC developers'
> Subject: Re: [Emc-developers] CeBit talk/demo, status - I2C support
> 
> > -----Original Message-----
> > From: Charles Steinkuehler [mailto:[email protected]] 
> > Sent: Sunday, December 01, 2013 6:10 AM
> >
> > On 11/30/2013 10:58 PM, Steve Stallings wrote:
> > >> -----Original Message-----
> > >> From: Charles Steinkuehler [mailto:[email protected]] 
> > >> Sent: Saturday, November 30, 2013 10:34 PM
> > >>
> > >> LinuxCNC doesn't really seem to have decent support for 
> > >> sub-buses, like
> > >> I2C or even EPP, unless it's wrapped and hidden by the 
> driver.  In
> > >> particular, it would be very cumbersome to write a 
> generic I2C bus
> > >> driver that could be used by various HAL components to talk 
> > >> to multiple
> > >> different I2C target devices.  Not that I'm volunteering to 
> > >> write this,
> > >> but don't get mad at me if I implement something less 
> than a fully
> > >> generic I2C bus transport mechanism for HAL.  :)
> > >>
> > >> ...although whatever I do will probably be at least 
> somewhat fancier
> > >> than the bit-banged I2C bus master I used for my initial LinuxCNC
> > >> control tests of my 3D printer (run on an x86 system, using 
> > >> the software
> > >> step generation thread to bit-bang I2C via 3 parallel port pins).
> > >>
> > >> -- 
> > >> Charles Steinkuehler
> > >> [email protected]
> > > 
> > > This is disappointing news. I have been working on a
> > > follow-on to the K9 Smorgasboard and had assumed that
> > > I2C devices would be easy to support. Both the original
> > > Smorgasboard and the new board that I am working on use
> > > the Beaglebone Black I2C2 bus to interface multiple
> > > devices. Leave it to a hardware guy to assume that
> > > the software would be simple.   8-(
> > 
> > Interfacing to I2C on the Linux side _is_ simple.  It's 
> doing it from
> > the real-time side that's harder.  HAL doesn't really have a good
> > concept for a "shared bus" that lets you make one generic I2C 
> > driver and
> > then use it to talk to multiple targets (insuring things like one
> > transaction completes before another one begins), and it's kind of
> > cumbersome to make one when you can't pass around anything more than
> > simple signals.
> > 
> > So it depends a bit on what you're trying to talk to.  If it's not
> > critical real-time, a userland HAL component can leverage the 
> > Linux I2C
> > support and probably be written in a few lines of Python.  The I2C
> > module I'm referring to above is an accelerometer for a 
> self-balancing
> > robot, so minimal latency between it and the HAL control loop is
> > important which means I'll be coding a real-time driver to 
> talk to it.
> > 
> > -- 
> > Charles Steinkuehler
> > [email protected]
> > 
> > 
> Perhaps this is a good case for expanding the available HAL signal
> types to include a type that can contain a complete I2C transfer.
> Technically there is no limit to the length of an I2C transfer, but
> if we constrain it to not more than, lets say 64 bits, then it would
> handle most devices that I am aware of and data passed by the signal
> would still be larger than the FLOAT type.
> 
> A HAL component could be created to manage the I2C port and present
> a fixed number of access portals to other HAL components. While not
> optimal, it might just be enough to be workable. It would need to
> have handshake and error signals for each portal.
> 
> Steve Stallings
> PMDX
> 
Oops, "be larger that the FLOAT type" should have
been "be no larger than the FLOAT type" in my
message above.

Steve Stallings 


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to