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.