All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1543316945.22768.35.camel@analog.com>

diff --git a/a/1.txt b/N1/1.txt
index 19d2366..1a959db 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,52 +1,67 @@
-T24gTHUsIDIwMTgtMTEtMjYgYXQgMTc6MjQgLTAyMDAsIEdpdWxpYW5vIEJlbGluYXNzaSB3cm90
-ZToNCkhpLCBwbGVhc2Ugc2VlIGJlbGxvdw0KDQo+IEhpLCB0aGFuayB5b3UgZm9yIHRoZSByZXZp
-ZXcNCj4gDQo+ID4gDQo+ID4gT24gVGh1LCAyMiBOb3YgMjAxOCAxMTowMTowMCArMDAwMA0KPiA+
-ICJQb3BhLCBTdGVmYW4gU2VyYmFuIiA8U3RlZmFuU2VyYmFuLlBvcGFAYW5hbG9nLmNvbT4gd3Jv
-dGU6DQo+ID4gPiANCj4gPiA+IEkgdGhpbmsgdGhhdCBpbnN0ZWFkIG9mIHNldHRpbmcgdGhlIGdh
-aW4gZGlyZWN0bHksIHdlIHNob3VsZCB1c2UNCj4gPiA+IHRoZSBJSU9fQ0hBTl9JTkZPX1NDQUxF
-IGF0dHJpYnV0ZS4gQXQgcGFnZSAxMiBvZiB0aGUgYWQ3NzgwIGRhdGFzaGVldA0KPiA+ID4gdGhl
-cmUNCj4gPiA+IGlzIGEgZm9ybXVsYSBmcm9tIHdoaWNoIHRoZSBvdXRwdXQgY29kZSBjYW4gYmUg
-Y2FsY3VsYXRlZDoNCj4gPiA+IENvZGUgPSAyXihOIOKIkiAxKQ0KPiA+ID4gw5cgWyhBSU4gw5cg
-R2FpbiAvVlJFRikgKyAxXS4gU28sIGJ5IHNldHRpbmcgdGhlIHNjYWxlIGZyb20gdXNlciBzcGFj
-ZSwNCj4gPiA+IHRoZQ0KPiA+ID4gZHJpdmVyIGNhbiBjYWxjdWxhdGUgdGhlIGNvcnJlY3QgZ2Fp
-biBieSB1c2luZyB0aGUgZm9ybXVsYSBhYm92ZS4NCj4gPiA+IEFsc28sIGl0DQo+ID4gPiB3b3Vs
-ZCBiZSB1c2VmdWwgdG8gaW50cm9kdWNlIHNjYWxlIGF2YWlsYWJsZS4NCj4gPiA+IEZ1cnRoZXJt
-b3JlLCB0aGVyZSBpcyBhIG5ldw0KPiA+ID4gYWQ3MTI0IGFkYyBkcml2ZXIgd2hpY2ggZG9lcyB0
-aGlzIGV4YWN0IHRoaW5nLiBUYWtlIGEgbG9vayBoZXJlOiBodHRwDQo+ID4gPiBzOi8vZ2kNCj4g
-PiA+IHRodWIuY29tL2FuYWxvZ2RldmljZXNpbmMvbGludXgvYmxvYi9tYXN0ZXIvZHJpdmVycy9p
-aW8vYWRjL2FkNzEyNC5jIw0KPiA+ID4gTDMzNy4NCj4gV2UgaGF2ZSBzb21lIHF1ZXN0aW9ucyBh
-Ym91dCB0aGUgY29kZSB5b3UgcHJvdmlkZWQgdG8gdXM6DQo+IMKgIDEtKSBXaGF0IGlzIGV4YWN0
-bHkgdGhlIGlucHV0cyBmb3IgdGhlIHdyaXRlX3JhdyBmdW5jdGlvbj8NCg0KSW4geW91ciB3cml0
-ZV9yYXcoKSBmdW5jdGlvbiB5b3UgbmVlZCB0byBhZGQgSUlPX0NIQU5fSU5GT19TQ0FMRSBjYXNl
-Lg0KU2V0dGluZyB0aGUgc2NhbGUgZnJvbSB1c2VyIHNwYWNlIGxvb2tzIHNvbWV0aGluZyBsaWtl
-IHRoaXM6DQpyb290Oi9zeXMvYnVzL2lpby9kZXZpY2VzL2lpbzpkZXZpY2UwPiBlY2hvIDAuMDAw
-Mjk4ID4gaW5fdm9sdGFnZV9zY2FsZSAuDQpGdXJ0aGVybW9yZSwgaW4geW91ciB3cml0ZV9yYXco
-KSBmdW5jdGlvbiwgdmFsPTAgYW5kIHZhbDI9Mjk4Lg0KS25vd2luZyB0aGF0IGZ1bGxfc2NhbGVf
-dm9sdGFnZSA9IFZyZWYgLyAoZ2FpbiAqIHNjYWxlKSwgd2UgY2FuIGNhbGN1bGF0ZQ0KdGhlIGdh
-aW4gPSBWcmVmIC8gKGZ1bGxfc2NhbGVfdm9sdGFnZSAqIHNjYWxlKS4gV2Ugb25seSBzdXBwb3J0
-IHR3byBnYWlucw0KKDEgYW5kIDEyOCksIHNvIHdlIG5lZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG9u
-ZSBmaXRzIGJldHRlciB3aXRoIHRoZSBkZXNpcmVkDQpzY2FsZS4gRmluYWxseSwgYWxsIHdlIGhh
-dmUgbGVmdCB0byBkbyBpcyB0byBzZXQgdGhlIGdhaW4uwqANCsKgDQo+IMKgIDItKSBDb3VsZCB5
-b3UgZ2l2ZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIG1hdGggYXJvdW5kIGxpbmVzIDM0Ni0zNDg/
-DQo+IElzIGl0IGNvcnJlY3QgdG8gYXNzdW1lIHRoYXQgdGhlIG11bHRpcGxpY2F0aW9uIGF0IGxp
-bmUgMzQ2IHdvbid0DQo+IG92ZXJmbG93PyAodnJlZiBpcyBhbiB1aW50KQ0KDQpJdCBpcyBjb3Jy
-ZWN0IHRoYXQgVnJlZiBpcyBpbiBtaWNyb3ZvbHRzLCBzbyBmb3IgZXhhbXBsZSwgVnJlZiBvZiAy
-LjVWIMKgPQ0KMjUwMDAwMDAwMHVWLiBJdCB3b24ndCBvdmVyZmxvdyBzaW5jZSB3ZSB1c2UgdGhl
-IFZyZWYgYXMgbm9taW5hdG9yLCB3aGlsZQ0KZnVsbF9zY2FsZV92b2x0YWdlIGFuZCBzY2FsZSBh
-cmUgdGhlIGRlbm9taW5hdG9ycy4NCg0KPiANCj4gQW5kIHJlZ2FyZGluZyBvdXIgY29kZToNCj4g
-wqAgMS0pIFRoZSB2YWwgaW4gb3VyIHdyaXRlX3JhdyBmdW5jdGlvbiBzaG91bGQgYmUsIGluIGNh
-c2Ugb2YgR0FJTiwgYQ0KPiBudW1iZXIgdGhhdCBiZXN0IGFwcHJveGltYXRlIHRoZSBhY3R1YWwg
-Z2FpbiB2YWx1ZSBvZiAxIG9yIDEyOD8gRm9yDQo+IGluc3RhbmNlLCBpZiB0aGUgdXNlciBpbnB1
-dHMgMTI2LCB3ZSBzaG91bGQgZGVmYXVsdCB0byAxMjg/DQoNCldlIHNob3VsZCBub3QgYWxsb3cg
-dGhlIHRoZSB1c2VyIHRvIGlucHV0IHRoZSBnYWluLCBoZSBuZWVkcyB0byBpbnB1dCB0aGUNCnNj
-YWxlIChzZWUgdGhlIG1haWwgZnJvbSBKb25hdGhhbiBhbmQgdGhlIGFib3ZlIGV4cGxhbmF0aW9u
-KS4gSG93ZXZlciwgaWYNCnRoZSBjYWxjdWxhdGVkIGdhaW4gaXMgb25lIHRoYXQgaXMgbm90IHN1
-cHBvcnRlZCwgc3VjaCBhcyAxMjYsIHdlIHdpbGwgc2V0DQp0aGUgY2xvc2VzdCBtYXRjaGluZyB2
-YWx1ZSwgaW4gdGhpcyBjYXNlIDEyOC4NCg0KPiDCoCAyLSkgSW4gdGhlIGNhc2Ugb2YgRklMVEVS
-LCBpcyBpdCB0aGUgc2FtZT8gSXMgdGhlIHVzZXIgc2VuZGluZyB0aGUNCj4gdmFsdWUgaW4gbUh6
-IChtaWxpaGVydHopPw0KDQpZZXMsIGl0IGlzIHRoZSBzYW1lIHdpdGggdGhlIEZJTFRFUi4gWW91
-IG5lZWQgdG8gYWRkDQphwqBJSU9fQ0hBTl9JTkZPX1NBTVBfRlJFUSBjYXNlIGluIHlvdXIgd3Jp
-dGVfcmF3KCkgZnVuY3Rpb24uIEZyb20gdXNlcg0Kc3BhY2UsIHRoZSBpbnB1dCB2YWx1ZSBzaG91
-bGQgYmUgaW4gSHosIHNvbWV0aGluZyBsaWtlIHRoaXM6DQpyb290Oi9zeXMvYnVzL2lpby9kZXZp
-Y2VzL2lpbzpkZXZpY2UwPiBlY2hvIDEwID4NCmluX3ZvbHRhZ2Vfc2FtcGxpbmdfZnJlcXVlbmN5
-DQoNCj4gDQo+IFRoYW5rIHlvdQ0KPiA=
+On Lu, 2018-11-26 at 17:24 -0200, Giuliano Belinassi wrote:
+Hi, please see bellow
+
+> Hi, thank you for the review
+> 
+> > 
+> > On Thu, 22 Nov 2018 11:01:00 +0000
+> > "Popa, Stefan Serban" <StefanSerban.Popa@analog.com> wrote:
+> > > 
+> > > I think that instead of setting the gain directly, we should use
+> > > the IIO_CHAN_INFO_SCALE attribute. At page 12 of the ad7780 datasheet
+> > > there
+> > > is a formula from which the output code can be calculated:
+> > > Code = 2^(N − 1)
+> > > × [(AIN × Gain /VREF) + 1]. So, by setting the scale from user space,
+> > > the
+> > > driver can calculate the correct gain by using the formula above.
+> > > Also, it
+> > > would be useful to introduce scale available.
+> > > Furthermore, there is a new
+> > > ad7124 adc driver which does this exact thing. Take a look here: http
+> > > s://gi
+> > > thub.com/analogdevicesinc/linux/blob/master/drivers/iio/adc/ad7124.c#
+> > > L337.
+> We have some questions about the code you provided to us:
+>   1-) What is exactly the inputs for the write_raw function?
+
+In your write_raw() function you need to add IIO_CHAN_INFO_SCALE case.
+Setting the scale from user space looks something like this:
+root:/sys/bus/iio/devices/iio:device0> echo 0.000298 > in_voltage_scale .
+Furthermore, in your write_raw() function, val=0 and val2=298.
+Knowing that full_scale_voltage = Vref / (gain * scale), we can calculate
+the gain = Vref / (full_scale_voltage * scale). We only support two gains
+(1 and 128), so we need to determine which one fits better with the desired
+scale. Finally, all we have left to do is to set the gain. 
+ 
+>   2-) Could you give more details about the math around lines 346-348?
+> Is it correct to assume that the multiplication at line 346 won't
+> overflow? (vref is an uint)
+
+It is correct that Vref is in microvolts, so for example, Vref of 2.5V  =
+2500000000uV. It won't overflow since we use the Vref as nominator, while
+full_scale_voltage and scale are the denominators.
+
+> 
+> And regarding our code:
+>   1-) The val in our write_raw function should be, in case of GAIN, a
+> number that best approximate the actual gain value of 1 or 128? For
+> instance, if the user inputs 126, we should default to 128?
+
+We should not allow the the user to input the gain, he needs to input the
+scale (see the mail from Jonathan and the above explanation). However, if
+the calculated gain is one that is not supported, such as 126, we will set
+the closest matching value, in this case 128.
+
+>   2-) In the case of FILTER, is it the same? Is the user sending the
+> value in mHz (milihertz)?
+
+Yes, it is the same with the FILTER. You need to add
+a IIO_CHAN_INFO_SAMP_FREQ case in your write_raw() function. From user
+space, the input value should be in Hz, something like this:
+root:/sys/bus/iio/devices/iio:device0> echo 10 >
+in_voltage_sampling_frequency
+
+> 
+> Thank you
+>
diff --git a/a/content_digest b/N1/content_digest
index 933ef76..db9cbfd 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -21,57 +21,72 @@
  " Stefan Serban <StefanSerban.Popa@analog.com>\0"
  "\00:1\0"
  "b\0"
- "T24gTHUsIDIwMTgtMTEtMjYgYXQgMTc6MjQgLTAyMDAsIEdpdWxpYW5vIEJlbGluYXNzaSB3cm90\n"
- "ZToNCkhpLCBwbGVhc2Ugc2VlIGJlbGxvdw0KDQo+IEhpLCB0aGFuayB5b3UgZm9yIHRoZSByZXZp\n"
- "ZXcNCj4gDQo+ID4gDQo+ID4gT24gVGh1LCAyMiBOb3YgMjAxOCAxMTowMTowMCArMDAwMA0KPiA+\n"
- "ICJQb3BhLCBTdGVmYW4gU2VyYmFuIiA8U3RlZmFuU2VyYmFuLlBvcGFAYW5hbG9nLmNvbT4gd3Jv\n"
- "dGU6DQo+ID4gPiANCj4gPiA+IEkgdGhpbmsgdGhhdCBpbnN0ZWFkIG9mIHNldHRpbmcgdGhlIGdh\n"
- "aW4gZGlyZWN0bHksIHdlIHNob3VsZCB1c2UNCj4gPiA+IHRoZSBJSU9fQ0hBTl9JTkZPX1NDQUxF\n"
- "IGF0dHJpYnV0ZS4gQXQgcGFnZSAxMiBvZiB0aGUgYWQ3NzgwIGRhdGFzaGVldA0KPiA+ID4gdGhl\n"
- "cmUNCj4gPiA+IGlzIGEgZm9ybXVsYSBmcm9tIHdoaWNoIHRoZSBvdXRwdXQgY29kZSBjYW4gYmUg\n"
- "Y2FsY3VsYXRlZDoNCj4gPiA+IENvZGUgPSAyXihOIOKIkiAxKQ0KPiA+ID4gw5cgWyhBSU4gw5cg\n"
- "R2FpbiAvVlJFRikgKyAxXS4gU28sIGJ5IHNldHRpbmcgdGhlIHNjYWxlIGZyb20gdXNlciBzcGFj\n"
- "ZSwNCj4gPiA+IHRoZQ0KPiA+ID4gZHJpdmVyIGNhbiBjYWxjdWxhdGUgdGhlIGNvcnJlY3QgZ2Fp\n"
- "biBieSB1c2luZyB0aGUgZm9ybXVsYSBhYm92ZS4NCj4gPiA+IEFsc28sIGl0DQo+ID4gPiB3b3Vs\n"
- "ZCBiZSB1c2VmdWwgdG8gaW50cm9kdWNlIHNjYWxlIGF2YWlsYWJsZS4NCj4gPiA+IEZ1cnRoZXJt\n"
- "b3JlLCB0aGVyZSBpcyBhIG5ldw0KPiA+ID4gYWQ3MTI0IGFkYyBkcml2ZXIgd2hpY2ggZG9lcyB0\n"
- "aGlzIGV4YWN0IHRoaW5nLiBUYWtlIGEgbG9vayBoZXJlOiBodHRwDQo+ID4gPiBzOi8vZ2kNCj4g\n"
- "PiA+IHRodWIuY29tL2FuYWxvZ2RldmljZXNpbmMvbGludXgvYmxvYi9tYXN0ZXIvZHJpdmVycy9p\n"
- "aW8vYWRjL2FkNzEyNC5jIw0KPiA+ID4gTDMzNy4NCj4gV2UgaGF2ZSBzb21lIHF1ZXN0aW9ucyBh\n"
- "Ym91dCB0aGUgY29kZSB5b3UgcHJvdmlkZWQgdG8gdXM6DQo+IMKgIDEtKSBXaGF0IGlzIGV4YWN0\n"
- "bHkgdGhlIGlucHV0cyBmb3IgdGhlIHdyaXRlX3JhdyBmdW5jdGlvbj8NCg0KSW4geW91ciB3cml0\n"
- "ZV9yYXcoKSBmdW5jdGlvbiB5b3UgbmVlZCB0byBhZGQgSUlPX0NIQU5fSU5GT19TQ0FMRSBjYXNl\n"
- "Lg0KU2V0dGluZyB0aGUgc2NhbGUgZnJvbSB1c2VyIHNwYWNlIGxvb2tzIHNvbWV0aGluZyBsaWtl\n"
- "IHRoaXM6DQpyb290Oi9zeXMvYnVzL2lpby9kZXZpY2VzL2lpbzpkZXZpY2UwPiBlY2hvIDAuMDAw\n"
- "Mjk4ID4gaW5fdm9sdGFnZV9zY2FsZSAuDQpGdXJ0aGVybW9yZSwgaW4geW91ciB3cml0ZV9yYXco\n"
- "KSBmdW5jdGlvbiwgdmFsPTAgYW5kIHZhbDI9Mjk4Lg0KS25vd2luZyB0aGF0IGZ1bGxfc2NhbGVf\n"
- "dm9sdGFnZSA9IFZyZWYgLyAoZ2FpbiAqIHNjYWxlKSwgd2UgY2FuIGNhbGN1bGF0ZQ0KdGhlIGdh\n"
- "aW4gPSBWcmVmIC8gKGZ1bGxfc2NhbGVfdm9sdGFnZSAqIHNjYWxlKS4gV2Ugb25seSBzdXBwb3J0\n"
- "IHR3byBnYWlucw0KKDEgYW5kIDEyOCksIHNvIHdlIG5lZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG9u\n"
- "ZSBmaXRzIGJldHRlciB3aXRoIHRoZSBkZXNpcmVkDQpzY2FsZS4gRmluYWxseSwgYWxsIHdlIGhh\n"
- "dmUgbGVmdCB0byBkbyBpcyB0byBzZXQgdGhlIGdhaW4uwqANCsKgDQo+IMKgIDItKSBDb3VsZCB5\n"
- "b3UgZ2l2ZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIG1hdGggYXJvdW5kIGxpbmVzIDM0Ni0zNDg/\n"
- "DQo+IElzIGl0IGNvcnJlY3QgdG8gYXNzdW1lIHRoYXQgdGhlIG11bHRpcGxpY2F0aW9uIGF0IGxp\n"
- "bmUgMzQ2IHdvbid0DQo+IG92ZXJmbG93PyAodnJlZiBpcyBhbiB1aW50KQ0KDQpJdCBpcyBjb3Jy\n"
- "ZWN0IHRoYXQgVnJlZiBpcyBpbiBtaWNyb3ZvbHRzLCBzbyBmb3IgZXhhbXBsZSwgVnJlZiBvZiAy\n"
- "LjVWIMKgPQ0KMjUwMDAwMDAwMHVWLiBJdCB3b24ndCBvdmVyZmxvdyBzaW5jZSB3ZSB1c2UgdGhl\n"
- "IFZyZWYgYXMgbm9taW5hdG9yLCB3aGlsZQ0KZnVsbF9zY2FsZV92b2x0YWdlIGFuZCBzY2FsZSBh\n"
- "cmUgdGhlIGRlbm9taW5hdG9ycy4NCg0KPiANCj4gQW5kIHJlZ2FyZGluZyBvdXIgY29kZToNCj4g\n"
- "wqAgMS0pIFRoZSB2YWwgaW4gb3VyIHdyaXRlX3JhdyBmdW5jdGlvbiBzaG91bGQgYmUsIGluIGNh\n"
- "c2Ugb2YgR0FJTiwgYQ0KPiBudW1iZXIgdGhhdCBiZXN0IGFwcHJveGltYXRlIHRoZSBhY3R1YWwg\n"
- "Z2FpbiB2YWx1ZSBvZiAxIG9yIDEyOD8gRm9yDQo+IGluc3RhbmNlLCBpZiB0aGUgdXNlciBpbnB1\n"
- "dHMgMTI2LCB3ZSBzaG91bGQgZGVmYXVsdCB0byAxMjg/DQoNCldlIHNob3VsZCBub3QgYWxsb3cg\n"
- "dGhlIHRoZSB1c2VyIHRvIGlucHV0IHRoZSBnYWluLCBoZSBuZWVkcyB0byBpbnB1dCB0aGUNCnNj\n"
- "YWxlIChzZWUgdGhlIG1haWwgZnJvbSBKb25hdGhhbiBhbmQgdGhlIGFib3ZlIGV4cGxhbmF0aW9u\n"
- "KS4gSG93ZXZlciwgaWYNCnRoZSBjYWxjdWxhdGVkIGdhaW4gaXMgb25lIHRoYXQgaXMgbm90IHN1\n"
- "cHBvcnRlZCwgc3VjaCBhcyAxMjYsIHdlIHdpbGwgc2V0DQp0aGUgY2xvc2VzdCBtYXRjaGluZyB2\n"
- "YWx1ZSwgaW4gdGhpcyBjYXNlIDEyOC4NCg0KPiDCoCAyLSkgSW4gdGhlIGNhc2Ugb2YgRklMVEVS\n"
- "LCBpcyBpdCB0aGUgc2FtZT8gSXMgdGhlIHVzZXIgc2VuZGluZyB0aGUNCj4gdmFsdWUgaW4gbUh6\n"
- "IChtaWxpaGVydHopPw0KDQpZZXMsIGl0IGlzIHRoZSBzYW1lIHdpdGggdGhlIEZJTFRFUi4gWW91\n"
- "IG5lZWQgdG8gYWRkDQphwqBJSU9fQ0hBTl9JTkZPX1NBTVBfRlJFUSBjYXNlIGluIHlvdXIgd3Jp\n"
- "dGVfcmF3KCkgZnVuY3Rpb24uIEZyb20gdXNlcg0Kc3BhY2UsIHRoZSBpbnB1dCB2YWx1ZSBzaG91\n"
- "bGQgYmUgaW4gSHosIHNvbWV0aGluZyBsaWtlIHRoaXM6DQpyb290Oi9zeXMvYnVzL2lpby9kZXZp\n"
- "Y2VzL2lpbzpkZXZpY2UwPiBlY2hvIDEwID4NCmluX3ZvbHRhZ2Vfc2FtcGxpbmdfZnJlcXVlbmN5\n"
- DQoNCj4gDQo+IFRoYW5rIHlvdQ0KPiA=
+ "On Lu, 2018-11-26 at 17:24 -0200, Giuliano Belinassi wrote:\n"
+ "Hi, please see bellow\n"
+ "\n"
+ "> Hi, thank you for the review\n"
+ "> \n"
+ "> > \n"
+ "> > On Thu, 22 Nov 2018 11:01:00 +0000\n"
+ "> > \"Popa, Stefan Serban\" <StefanSerban.Popa@analog.com> wrote:\n"
+ "> > > \n"
+ "> > > I think that instead of setting the gain directly, we should use\n"
+ "> > > the IIO_CHAN_INFO_SCALE attribute. At page 12 of the ad7780 datasheet\n"
+ "> > > there\n"
+ "> > > is a formula from which the output code can be calculated:\n"
+ "> > > Code = 2^(N \342\210\222 1)\n"
+ "> > > \303\227 [(AIN \303\227 Gain /VREF) + 1]. So, by setting the scale from user space,\n"
+ "> > > the\n"
+ "> > > driver can calculate the correct gain by using the formula above.\n"
+ "> > > Also, it\n"
+ "> > > would be useful to introduce scale available.\n"
+ "> > > Furthermore, there is a new\n"
+ "> > > ad7124 adc driver which does this exact thing. Take a look here: http\n"
+ "> > > s://gi\n"
+ "> > > thub.com/analogdevicesinc/linux/blob/master/drivers/iio/adc/ad7124.c#\n"
+ "> > > L337.\n"
+ "> We have some questions about the code you provided to us:\n"
+ "> \302\240 1-) What is exactly the inputs for the write_raw function?\n"
+ "\n"
+ "In your write_raw() function you need to add IIO_CHAN_INFO_SCALE case.\n"
+ "Setting the scale from user space looks something like this:\n"
+ "root:/sys/bus/iio/devices/iio:device0> echo 0.000298 > in_voltage_scale .\n"
+ "Furthermore, in your write_raw() function, val=0 and val2=298.\n"
+ "Knowing that full_scale_voltage = Vref / (gain * scale), we can calculate\n"
+ "the gain = Vref / (full_scale_voltage * scale). We only support two gains\n"
+ "(1 and 128), so we need to determine which one fits better with the desired\n"
+ "scale. Finally, all we have left to do is to set the gain.\302\240\n"
+ "\302\240\n"
+ "> \302\240 2-) Could you give more details about the math around lines 346-348?\n"
+ "> Is it correct to assume that the multiplication at line 346 won't\n"
+ "> overflow? (vref is an uint)\n"
+ "\n"
+ "It is correct that Vref is in microvolts, so for example, Vref of 2.5V \302\240=\n"
+ "2500000000uV. It won't overflow since we use the Vref as nominator, while\n"
+ "full_scale_voltage and scale are the denominators.\n"
+ "\n"
+ "> \n"
+ "> And regarding our code:\n"
+ "> \302\240 1-) The val in our write_raw function should be, in case of GAIN, a\n"
+ "> number that best approximate the actual gain value of 1 or 128? For\n"
+ "> instance, if the user inputs 126, we should default to 128?\n"
+ "\n"
+ "We should not allow the the user to input the gain, he needs to input the\n"
+ "scale (see the mail from Jonathan and the above explanation). However, if\n"
+ "the calculated gain is one that is not supported, such as 126, we will set\n"
+ "the closest matching value, in this case 128.\n"
+ "\n"
+ "> \302\240 2-) In the case of FILTER, is it the same? Is the user sending the\n"
+ "> value in mHz (milihertz)?\n"
+ "\n"
+ "Yes, it is the same with the FILTER. You need to add\n"
+ "a\302\240IIO_CHAN_INFO_SAMP_FREQ case in your write_raw() function. From user\n"
+ "space, the input value should be in Hz, something like this:\n"
+ "root:/sys/bus/iio/devices/iio:device0> echo 10 >\n"
+ "in_voltage_sampling_frequency\n"
+ "\n"
+ "> \n"
+ "> Thank you\n"
+ >
 
-23c8b24c8897c7e6248d383d2ea521d9268f8de8dd0c10e8ebcc6822b194d4ae
+4439b89cdb9d396b73fcd935ea6635bf365ae010a5b1153b18d0ad25a0050432

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.