All of lore.kernel.org
 help / color / mirror / Atom feed
From: mark gross <mgross@linux.intel.com>
To: David Brownell <david-b@pacbell.net>
Cc: spi-devel-general@lists.sourceforge.net,
	Jonathan Cameron <Jonathan.Cameron@gmail.com>,
	linux-kernel@vger.kernel.org,
	LM Sensors <lm-sensors@lm-sensors.org>
Subject: Re: Accelerometer, Gyros and ADC's etc within the kernel.
Date: Tue, 27 May 2008 08:56:41 -0700	[thread overview]
Message-ID: <20080527155641.GB29868@linux.intel.com> (raw)
In-Reply-To: <200805211753.39133.david-b@pacbell.net>

On Wed, May 21, 2008 at 05:53:38PM -0700, David Brownell wrote:
> On Tuesday 20 May 2008, mark gross wrote:
> > > ST Micro LIS3L02DQ 3D accelerometer.  ...
> > 
> > FWIW: I have this device talking to a PIC-18 and pushing the results
> > over the serial port.
> 
> Jonathan neglected to mention that he's already sent a driver
> for this to the SPI list.  ;)
> 
> Which is part of the reason for asking this question.  Right
> now that driver sits in drivers/spi/lis3l02dq.c but that is
> probably not its best long-term domicile.
> 
> 
> > WRT linux support, I can't think of a generalized way to create a driver
> > that would be able to be used with this device in Linux.  You need to
> > know witch IRQ line the DR line is connected too, and if you are
> > bit-banging the SPI data off the thing, then you need to know which
> > GPIO's of the host CPU you'll be using.  If you have SPI hardware then
> > you need to know where to pull the data from.  The problem doesn't seem to
> > generalize well.
> 
> I guess I don't follow.  The SPI framework handles all that
> stuff already, even if you're bitbanging.  Though to be
> sure, if you're bitbanging SPI you want your platform to
> be able to inline those GPIO calls so those inner loops
> only take a few instructions per bit ... also solved!  :)
>

I'll take a look sometime soon.
 
> 
> > Also, If you are playing with accelerometer data, you likely need some
> > real time support or at lest a reliable time stamping of the data to do
> > anything interesting.
> 
> True.  I imagine a few other such issues will appear once
> more folk than Jonathan are using these sorts of sensors
> on Linux.  I'd expect the sample stream to have internal
> timestamps for truly critical systems, unless variability
> in when the host makes timestamps is not really an issue.
>  

Its on my list of things to do..

> 
> > Another problem area is around SPI itself.  There are variations of
> > device implementations around chip select polarity, clock biasing
> > (rising,falling, or midpoint) sampling from one SPI part to the next.
> 
> Midpoint?  That's not one I've come across before.  All four
> standard SPI clock/sample/shift modes are already supported
> in the SPI framework though.  Ditto active-high chipselects
> (vs normal active-low) etc.

Yeah, its one of the sampling modes for the PIC18F4455 its one of the
master mode sampling options  (see page 194 of
http://ww1.microchip.com/downloads/en/DeviceDoc/39632D.pdf )

--mgross

WARNING: multiple messages have this Message-ID (diff)
From: mark gross <mgross@linux.intel.com>
To: David Brownell <david-b@pacbell.net>
Cc: spi-devel-general@lists.sourceforge.net,
	Jonathan Cameron <Jonathan.Cameron@gmail.com>,
	linux-kernel@vger.kernel.org,
	LM Sensors <lm-sensors@lm-sensors.org>
Subject: Re: [lm-sensors] Accelerometer,
Date: Tue, 27 May 2008 15:56:41 +0000	[thread overview]
Message-ID: <20080527155641.GB29868@linux.intel.com> (raw)
In-Reply-To: <200805211753.39133.david-b@pacbell.net>

On Wed, May 21, 2008 at 05:53:38PM -0700, David Brownell wrote:
> On Tuesday 20 May 2008, mark gross wrote:
> > > ST Micro LIS3L02DQ 3D accelerometer.  ...
> > 
> > FWIW: I have this device talking to a PIC-18 and pushing the results
> > over the serial port.
> 
> Jonathan neglected to mention that he's already sent a driver
> for this to the SPI list.  ;)
> 
> Which is part of the reason for asking this question.  Right
> now that driver sits in drivers/spi/lis3l02dq.c but that is
> probably not its best long-term domicile.
> 
> 
> > WRT linux support, I can't think of a generalized way to create a driver
> > that would be able to be used with this device in Linux.  You need to
> > know witch IRQ line the DR line is connected too, and if you are
> > bit-banging the SPI data off the thing, then you need to know which
> > GPIO's of the host CPU you'll be using.  If you have SPI hardware then
> > you need to know where to pull the data from.  The problem doesn't seem to
> > generalize well.
> 
> I guess I don't follow.  The SPI framework handles all that
> stuff already, even if you're bitbanging.  Though to be
> sure, if you're bitbanging SPI you want your platform to
> be able to inline those GPIO calls so those inner loops
> only take a few instructions per bit ... also solved!  :)
>

I'll take a look sometime soon.
 
> 
> > Also, If you are playing with accelerometer data, you likely need some
> > real time support or at lest a reliable time stamping of the data to do
> > anything interesting.
> 
> True.  I imagine a few other such issues will appear once
> more folk than Jonathan are using these sorts of sensors
> on Linux.  I'd expect the sample stream to have internal
> timestamps for truly critical systems, unless variability
> in when the host makes timestamps is not really an issue.
>  

Its on my list of things to do..

> 
> > Another problem area is around SPI itself.  There are variations of
> > device implementations around chip select polarity, clock biasing
> > (rising,falling, or midpoint) sampling from one SPI part to the next.
> 
> Midpoint?  That's not one I've come across before.  All four
> standard SPI clock/sample/shift modes are already supported
> in the SPI framework though.  Ditto active-high chipselects
> (vs normal active-low) etc.

Yeah, its one of the sampling modes for the PIC18F4455 its one of the
master mode sampling options  (see page 194 of
http://ww1.microchip.com/downloads/en/DeviceDoc/39632D.pdf )

--mgross


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

  reply	other threads:[~2008-05-27 15:56 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-20 10:04 Accelerometer, Gyros and ADC's etc within the kernel Jonathan Cameron
2008-05-20 10:04 ` Jonathan Cameron
2008-05-20 10:04 ` [lm-sensors] " Jonathan Cameron
2008-05-20 11:28 ` Jean Delvare
2008-05-20 11:28   ` [lm-sensors] Accelerometer, Jean Delvare
     [not found]   ` <20080520132817.03fb74ea-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-05-20 21:40     ` Accelerometer, Gyros and ADC's etc within the kernel Hans J. Koch
2008-05-20 21:40       ` Hans J. Koch
2008-05-20 21:40       ` [lm-sensors] Accelerometer, Hans J. Koch
2008-05-21 10:04       ` Accelerometer, Gyros and ADC's etc within the kernel Jonathan Cameron
2008-05-21 10:04         ` [lm-sensors] Accelerometer, Jonathan Cameron
2008-05-21 13:20         ` Accelerometer, Gyros and ADC's etc within the kernel Jean Delvare
2008-05-21 13:20           ` [lm-sensors] Accelerometer, Jean Delvare
2008-05-21 13:49     ` Accelerometer, Gyros and ADC's etc within the kernel Dmitry Torokhov
2008-05-21 13:49       ` Dmitry Torokhov
2008-05-21 13:49       ` [lm-sensors] Accelerometer, Dmitry Torokhov
2008-05-21 14:09       ` Accelerometer, Gyros and ADC's etc within the kernel Henrique de Moraes Holschuh
2008-05-21 14:09         ` [lm-sensors] Accelerometer, Henrique de Moraes Holschuh
     [not found]       ` <20080521093520.ZZRA012-NG0XCrj25/nJrYCpivWRnl5pS2h4L8biXqFh9Ls21Oc@public.gmane.org>
2008-05-27 17:16         ` Accelerometer, Gyros and ADC's etc within the kernel Ben Dooks
2008-05-27 17:16           ` [spi-devel-general] " Ben Dooks
2008-05-27 17:16           ` [lm-sensors] [spi-devel-general] Accelerometer, Ben Dooks
     [not found]           ` <20080527171656.GA870-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2008-05-27 19:01             ` Accelerometer, Gyros and ADC's etc within the kernel Dmitry Torokhov
2008-05-27 19:01               ` [spi-devel-general] " Dmitry Torokhov
2008-05-27 19:01               ` [lm-sensors] [spi-devel-general] Accelerometer, Dmitry Torokhov
2008-05-22  0:52     ` Accelerometer, Gyros and ADC's etc within the kernel David Brownell
2008-05-22  0:52       ` David Brownell
2008-05-22  0:52       ` [lm-sensors] Accelerometer, David Brownell
     [not found]       ` <200805211752.15670.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-05-22  9:35         ` Accelerometer, Gyros and ADC's etc within the kernel Jonathan Cameron
2008-05-22  9:35           ` [spi-devel-general] " Jonathan Cameron
2008-05-22  9:35           ` [lm-sensors] [spi-devel-general] Accelerometer, Jonathan Cameron
     [not found]           ` <48353E45.2080903-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org>
2008-05-26 16:23             ` Accelerometer, Gyros and ADC's etc within the kernel Jonathan Cameron
2008-05-26 16:23               ` [spi-devel-general] " Jonathan Cameron
2008-05-26 16:23               ` [lm-sensors] [spi-devel-general] Accelerometer, Jonathan Cameron
2008-06-26 18:01   ` Accelerometer etc subsystem (Update on progress) Jonathan Cameron
2008-06-26 18:01     ` [lm-sensors] " Jonathan Cameron
     [not found]     ` <4863D97A.9090102-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2008-06-26 18:26       ` Jonathan Cameron
2008-06-26 18:26         ` Jonathan Cameron
2008-06-26 18:26         ` [lm-sensors] " Jonathan Cameron
2008-06-27  2:39     ` Randy Dunlap
2008-06-27  2:39       ` [lm-sensors] " Randy Dunlap
2008-06-27  3:29     ` Ben Nizette
2008-06-27  3:29       ` [lm-sensors] " Ben Nizette
     [not found]       ` <1214537367.8462.157.camel-L9Ekdhw1/RnCa3F4uneLBw@public.gmane.org>
2008-06-27  9:45         ` Jonathan Cameron
2008-06-27  9:45           ` Jonathan Cameron
2008-06-27  9:45           ` Jonathan Cameron
     [not found]           ` <4864B6D6.3020509-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org>
2008-06-28  8:34             ` Ben Nizette
2008-06-28  8:34               ` Ben Nizette
2008-06-28  8:34               ` Ben Nizette
     [not found]               ` <1214642057.4265.7.camel-L9Ekdhw1/RnCa3F4uneLBw@public.gmane.org>
2008-06-28 15:34                 ` Jonathan Cameron
2008-06-28 15:34                   ` Jonathan Cameron
2008-06-28 15:34                   ` Jonathan Cameron
     [not found] ` <4832A211.4040206-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2008-05-20 17:50   ` Accelerometer, Gyros and ADC's etc within the kernel mark gross
2008-05-20 17:50     ` mark gross
2008-05-20 17:50     ` [lm-sensors] Accelerometer, mark gross
     [not found]     ` <20080520175041.GA30909-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2008-05-21  9:40       ` Accelerometer, Gyros and ADC's etc within the kernel Jonathan Cameron
2008-05-21  9:40         ` [spi-devel-general] " Jonathan Cameron
2008-05-21  9:40         ` [lm-sensors] [spi-devel-general] Accelerometer, Jonathan Cameron
     [not found]         ` <4833EE22.80502-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org>
2008-05-27 15:43           ` Accelerometer, Gyros and ADC's etc within the kernel mark gross
2008-05-27 15:43             ` [spi-devel-general] " mark gross
2008-05-27 15:43             ` [lm-sensors] [spi-devel-general] Accelerometer, mark gross
     [not found]             ` <20080527154331.GA29868-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2008-05-29 11:57               ` Accelerometer, Gyros and ADC's etc within the kernel Jonathan Cameron
2008-05-29 11:57                 ` [spi-devel-general] " Jonathan Cameron
2008-05-29 11:57                 ` [lm-sensors] [spi-devel-general] Accelerometer, Jonathan Cameron
2008-05-22  0:53       ` Accelerometer, Gyros and ADC's etc within the kernel David Brownell
2008-05-22  0:53         ` David Brownell
2008-05-22  0:53         ` [lm-sensors] Accelerometer, David Brownell
2008-05-27 15:56         ` mark gross [this message]
2008-05-27 15:56           ` mark gross
     [not found]           ` <20080527155641.GB29868-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2008-05-27 23:42             ` Accelerometer, Gyros and ADC's etc within the kernel David Brownell
2008-05-27 23:42               ` David Brownell
2008-05-27 23:42               ` [lm-sensors] Accelerometer, David Brownell
2008-05-27 16:44   ` Accelerometer, Gyros and ADC's etc within the kernel Anton Vorontsov
2008-05-27 16:44     ` [spi-devel-general] " Anton Vorontsov
2008-05-27 16:44     ` [lm-sensors] [spi-devel-general] Accelerometer, Anton Vorontsov
2008-05-27 16:50     ` [spi-devel-general] Accelerometer, Gyros and ADC's etc within the kernel Ben Dooks
2008-05-27 16:50       ` [lm-sensors] [spi-devel-general] Accelerometer, Ben Dooks
2008-05-27 17:01       ` [spi-devel-general] Accelerometer, Gyros and ADC's etc within the kernel Anton Vorontsov
2008-05-27 17:01         ` [lm-sensors] [spi-devel-general] Accelerometer, Anton Vorontsov
     [not found]       ` <20080527165021.GA22585-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2008-05-27 18:00         ` Accelerometer, Gyros and ADC's etc within the kernel Jonathan Cameron
2008-05-27 18:00           ` [spi-devel-general] " Jonathan Cameron
2008-05-27 18:00           ` [lm-sensors] [spi-devel-general] Accelerometer, Jonathan Cameron
     [not found]           ` <483C4C58.5080301-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2008-05-27 18:12             ` Accelerometer, Gyros and ADC's etc within the kernel Ben Dooks
2008-05-27 18:12               ` [spi-devel-general] " Ben Dooks
2008-05-27 18:12               ` [lm-sensors] [spi-devel-general] Accelerometer, Ben Dooks
     [not found]     ` <20080527164415.GA27584-PHTr8nzUCjejyJ0x5qLZdcN33GVbZNy3@public.gmane.org>
2008-05-27 17:59       ` Accelerometer, Gyros and ADC's etc within the kernel Jonathan Cameron
2008-05-27 17:59         ` [spi-devel-general] " Jonathan Cameron
2008-05-27 17:59         ` [lm-sensors] [spi-devel-general] Accelerometer, Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080527155641.GB29868@linux.intel.com \
    --to=mgross@linux.intel.com \
    --cc=Jonathan.Cameron@gmail.com \
    --cc=david-b@pacbell.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm-sensors@lm-sensors.org \
    --cc=spi-devel-general@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.