Jonathan Cameron wrote on 2011-03-22: > On 03/22/11 08:16, Hennerich, Michael wrote: >> Cai, Cliff wrote on 2011-03-22: >>> >>> >>>> -----Original Message----- >>>> From: Jonathan Cameron [mailto:jic23@xxxxxxxxx] >>>> Sent: 2011å3æ22æ 1:40 >>>> To: Cai, Cliff >>>> Cc: linux-iio@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; >>>> Drivers; device-drivers-devel@xxxxxxxxxxxxxxxxxxxx; Cliff Cai >>>> Subject: Re: [PATCH RESEND v2]IIO driver for Analog Devices >>>> Digital Output Gyroscope ADXRS450 >>>> >>>> On 03/19/11 09:27, cliff.cai@xxxxxxxxxx wrote: >>>>> From: Cliff Cai <cliff.cai@xxxxxxxxxx> >>>>> >>>>> Change v2:v1: >>>>> >>>>> Make modification according to Michael Hennerich's comments, >>>>> correct the spi transfer way,use existing sysfs interfaces. >>>> Hi Cliff, >>>> >>>> As you are proposing a couple of new interfaces we need to have >>>> documentation for them. They are quad and dynamic_null_correction. >>>> We need to first establish whether they are of general utility and >>>> hence should be in the main abi doc. The quadrature one isn't >>>> something I've seen before. Is it common in gyros? >>> >>> I'm not sure about this. >>> Michael,do you have any ideas? >> >> The ADXRS450 is a quite new part and features a new sensor design - So >> I don't think the quadrature error is to date very common. It might >> become in future... >> >> From the datasheet: >> >> "The quad sensor design rejects linear and angular acceleration, >> including external g-forces and vibration. This is achieved by >> mechanically coupling the four sensing structures such that external >> g-forces appear as common-mode signals that can be removed by the >> fully differential architecture implemented in the ADXRS450." >> >> "The quad memory registers contain a value corresponding to the amount >> of quadrature error present in the device at a given time. Quadrature >> can be likened to a measurement of the error of the motion of the >> resonator structure, and can be caused by stresses and aging effects. >> The quadrature data is filtered to 80 Hz and can be read frequently to >> detect sudden shifts in the level of quadrature. The data is presented >> as a 16-bit, twos complement number." >> > Cool. So what is a good general name for this? I guess from this > description if it were in a multi axis device you would have this > measure for each axis? Yes > So perhaps gyro_z_quadrature_correction_raw? Sounds good to me. > This thing also looks > rather similar to a dynamically changing calibbias. Perhaps we need > another term for a general dynamic linear (I think this is linear) > correction inside a device? Probably - but don't know for sure. Bottom line is that the error is removed from the result. In case it can't be removed, the part flags it with an error bit. gyro_z_quadrature_correction_raw is just an measure on how much error was is present at a given time. > Perhaps go with a gyro specific term for now and wait to see if we get > many more parts with this feature... ok >>> >>>> Dynamic null correction looks like it should be gyro_z_calibbias to >>>> me but I could be wrong. The doc says " The user can make small >>>> adjustments to the rateout of the device by asserting these bits. >>>> This 10-bit register allows the user to adjust the static rateout of >>>> the device by up to Â6.4Â/sec. " >>>> >>>> which makes me think it is an internally applied offset on the >>>> output signal and hence calibbias in our abi. >>> >>> Thanks >>> >>>> Other than that, various minor nitpicks inline. >>>> >>>> Jonathan >> >> Greetings, >> Michael >> >> -- >> Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen >> Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB >> 40368; Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. >> Martin, Margaret Seif >> Greetings, Michael -- Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368; Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin, Margaret Seif ÿô.nÇ·®+%˱é¥wÿº{.nÇ·¥{±þ(¨þ)íèjg¬±¨¶Ýjÿ¾«þG«é¸¢·¦j:+v¨wèm¶ÿþø®w¥þ࣢·hâÿÙ