* [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation
@ 2016-02-15 17:53 Gregor Boirie
2016-02-15 17:53 ` [PATCH v1 2/5] iio:pressure:ms5611: use probed device name Gregor Boirie
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Gregor Boirie @ 2016-02-15 17:53 UTC (permalink / raw)
To: linux-iio
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald, Tomasz Duszynski, Daniel Baluta,
Krzysztof Kozlowski, Mark Brown, Andrew F. Davis, Gregor Boirie
See page 8 of ms5607 datasheet here:
http://www.meas-spec.com/product/pressure/MS5607-ms.aspx
Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
---
drivers/iio/pressure/ms5611_core.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/iio/pressure/ms5611_core.c b/drivers/iio/pressure/ms5611_core.c
index c7885f0c..a2ff89e6 100644
--- a/drivers/iio/pressure/ms5611_core.c
+++ b/drivers/iio/pressure/ms5611_core.c
@@ -136,15 +136,15 @@ static int ms5607_temp_and_pressure_compensate(struct ms5611_chip_info *chip_inf
t = 2000 + ((chip_info->prom[6] * dt) >> 23);
if (t < 2000) {
- s64 off2, sens2, t2;
+ s64 off2, sens2, t2, tmp;
t2 = (dt * dt) >> 31;
- off2 = (61 * (t - 2000) * (t - 2000)) >> 4;
- sens2 = off2 << 1;
+ tmp = (t - 2000) * (t - 2000);
+ off2 = (61 * tmp) >> 4;
+ sens2 = tmp << 1;
if (t < -1500) {
- s64 tmp = (t + 1500) * (t + 1500);
-
+ tmp = (t + 1500) * (t + 1500);
off2 += 15 * tmp;
sens2 += (8 * tmp);
}
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 2/5] iio:pressure:ms5611: use probed device name
2016-02-15 17:53 [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation Gregor Boirie
@ 2016-02-15 17:53 ` Gregor Boirie
2016-02-15 17:53 ` [PATCH v1 3/5] iio:pressure:ms5611: power regulator support Gregor Boirie
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Gregor Boirie @ 2016-02-15 17:53 UTC (permalink / raw)
To: linux-iio
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald, Tomasz Duszynski, Daniel Baluta,
Krzysztof Kozlowski, Mark Brown, Andrew F. Davis,
Grégor Boirie
From: Grégor Boirie <gregor.boirie@parrot.com>
Use name of probed device instead of driver's one when registering device.
Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
---
drivers/iio/pressure/ms5611.h | 3 ++-
drivers/iio/pressure/ms5611_core.c | 5 +++--
drivers/iio/pressure/ms5611_i2c.c | 2 +-
drivers/iio/pressure/ms5611_spi.c | 4 ++--
4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/drivers/iio/pressure/ms5611.h b/drivers/iio/pressure/ms5611.h
index 2d70dd6..8b08e4b 100644
--- a/drivers/iio/pressure/ms5611.h
+++ b/drivers/iio/pressure/ms5611.h
@@ -51,7 +51,8 @@ struct ms5611_state {
struct ms5611_chip_info *chip_info;
};
-int ms5611_probe(struct iio_dev *indio_dev, struct device *dev, int type);
+int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
+ const char* name, int type);
int ms5611_remove(struct iio_dev *indio_dev);
#endif /* _MS5611_H */
diff --git a/drivers/iio/pressure/ms5611_core.c b/drivers/iio/pressure/ms5611_core.c
index a2ff89e6..65d8fd2 100644
--- a/drivers/iio/pressure/ms5611_core.c
+++ b/drivers/iio/pressure/ms5611_core.c
@@ -298,7 +298,8 @@ static int ms5611_init(struct iio_dev *indio_dev)
return ms5611_read_prom(indio_dev);
}
-int ms5611_probe(struct iio_dev *indio_dev, struct device *dev, int type)
+int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
+ const char *name, int type)
{
int ret;
struct ms5611_state *st = iio_priv(indio_dev);
@@ -306,7 +307,7 @@ int ms5611_probe(struct iio_dev *indio_dev, struct device *dev, int type)
mutex_init(&st->lock);
st->chip_info = &chip_info_tbl[type];
indio_dev->dev.parent = dev;
- indio_dev->name = dev->driver->name;
+ indio_dev->name = name;
indio_dev->info = &ms5611_info;
indio_dev->channels = ms5611_channels;
indio_dev->num_channels = ARRAY_SIZE(ms5611_channels);
diff --git a/drivers/iio/pressure/ms5611_i2c.c b/drivers/iio/pressure/ms5611_i2c.c
index 42706a8..ae67539 100644
--- a/drivers/iio/pressure/ms5611_i2c.c
+++ b/drivers/iio/pressure/ms5611_i2c.c
@@ -105,7 +105,7 @@ static int ms5611_i2c_probe(struct i2c_client *client,
st->read_adc_temp_and_pressure = ms5611_i2c_read_adc_temp_and_pressure;
st->client = client;
- return ms5611_probe(indio_dev, &client->dev, id->driver_data);
+ return ms5611_probe(indio_dev, &client->dev, id->name, id->driver_data);
}
static int ms5611_i2c_remove(struct i2c_client *client)
diff --git a/drivers/iio/pressure/ms5611_spi.c b/drivers/iio/pressure/ms5611_spi.c
index c4bf4e8..5cc009e 100644
--- a/drivers/iio/pressure/ms5611_spi.c
+++ b/drivers/iio/pressure/ms5611_spi.c
@@ -105,8 +105,8 @@ static int ms5611_spi_probe(struct spi_device *spi)
st->read_adc_temp_and_pressure = ms5611_spi_read_adc_temp_and_pressure;
st->client = spi;
- return ms5611_probe(indio_dev, &spi->dev,
- spi_get_device_id(spi)->driver_data);
+ return ms5611_probe(indio_dev, &spi->dev, spi_get_device_id(spi)->name,
+ spi_get_device_id(spi)->driver_data);
}
static int ms5611_spi_remove(struct spi_device *spi)
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 3/5] iio:pressure:ms5611: power regulator support
2016-02-15 17:53 [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation Gregor Boirie
2016-02-15 17:53 ` [PATCH v1 2/5] iio:pressure:ms5611: use probed device name Gregor Boirie
@ 2016-02-15 17:53 ` Gregor Boirie
2016-02-15 17:53 ` [PATCH v1 4/5] iio:pressure:ms5611: DT bindings documentation Gregor Boirie
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Gregor Boirie @ 2016-02-15 17:53 UTC (permalink / raw)
To: linux-iio
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald, Tomasz Duszynski, Daniel Baluta,
Krzysztof Kozlowski, Mark Brown, Andrew F. Davis,
Grégor Boirie
From: Grégor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
---
drivers/iio/pressure/ms5611_core.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/iio/pressure/ms5611_core.c b/drivers/iio/pressure/ms5611_core.c
index 65d8fd2..a024445 100644
--- a/drivers/iio/pressure/ms5611_core.c
+++ b/drivers/iio/pressure/ms5611_core.c
@@ -16,6 +16,7 @@
#include <linux/module.h>
#include <linux/iio/iio.h>
#include <linux/delay.h>
+#include <linux/regulator/consumer.h>
#include <linux/iio/buffer.h>
#include <linux/iio/triggered_buffer.h>
@@ -290,6 +291,18 @@ static const struct iio_info ms5611_info = {
static int ms5611_init(struct iio_dev *indio_dev)
{
int ret;
+ struct regulator *vdd = devm_regulator_get(indio_dev->dev.parent,
+ "vdd");
+
+ /* Enable attached regulator if any. */
+ if (!IS_ERR(vdd)) {
+ ret = regulator_enable(vdd);
+ if (ret) {
+ dev_err(indio_dev->dev.parent,
+ "failed to enable Vdd supply: %d\n", ret);
+ return ret;
+ }
+ }
ret = ms5611_reset(indio_dev);
if (ret < 0)
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 4/5] iio:pressure:ms5611: DT bindings documentation
2016-02-15 17:53 [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation Gregor Boirie
2016-02-15 17:53 ` [PATCH v1 2/5] iio:pressure:ms5611: use probed device name Gregor Boirie
2016-02-15 17:53 ` [PATCH v1 3/5] iio:pressure:ms5611: power regulator support Gregor Boirie
@ 2016-02-15 17:53 ` Gregor Boirie
2016-02-15 17:53 ` [PATCH v1 5/5] iio:pressure:ms5611: continuous sampling support Gregor Boirie
2016-02-15 18:37 ` [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation Peter Meerwald-Stadler
4 siblings, 0 replies; 7+ messages in thread
From: Gregor Boirie @ 2016-02-15 17:53 UTC (permalink / raw)
To: linux-iio
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald, Tomasz Duszynski, Daniel Baluta,
Krzysztof Kozlowski, Mark Brown, Andrew F. Davis,
Grégor Boirie
From: Grégor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
---
.../devicetree/bindings/iio/pressure/ms5611.txt | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/pressure/ms5611.txt
diff --git a/Documentation/devicetree/bindings/iio/pressure/ms5611.txt b/Documentation/devicetree/bindings/iio/pressure/ms5611.txt
new file mode 100644
index 0000000..986415a
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/pressure/ms5611.txt
@@ -0,0 +1,19 @@
+MEAS ms5611 family pressure sensors
+
+Pressure sensors from MEAS Switzerland with SPI and I2C bus interfaces.
+
+Required properties:
+- compatible: "ms5611" or "ms5607"
+- reg: the I2C or SPI address the device will respond to
+
+Optional properties:
+- vdd-supply: an optional regulator that needs to be on to provide VDD
+ power to the sensor.
+
+Example:
+
+ms5607@77 {
+ compatible = "ms5607";
+ reg = <0x77>;
+ vdd-supply = <&ldo_3v3_gnss>;
+};
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 5/5] iio:pressure:ms5611: continuous sampling support
2016-02-15 17:53 [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation Gregor Boirie
` (2 preceding siblings ...)
2016-02-15 17:53 ` [PATCH v1 4/5] iio:pressure:ms5611: DT bindings documentation Gregor Boirie
@ 2016-02-15 17:53 ` Gregor Boirie
2016-02-15 18:37 ` [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation Peter Meerwald-Stadler
4 siblings, 0 replies; 7+ messages in thread
From: Gregor Boirie @ 2016-02-15 17:53 UTC (permalink / raw)
To: linux-iio
Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald, Tomasz Duszynski, Daniel Baluta,
Krzysztof Kozlowski, Mark Brown, Andrew F. Davis, Gregor Boirie
Implement INDIO_BUFFER_SOFTWARE mode to allow continuous sampling without
relying upon external trigger.
Sampling is carried out by a kthread which life cycle is bound to samples
buffering: it is created at postenable time and destroyed at predisable time.
Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
---
drivers/iio/pressure/ms5611.h | 8 +++
drivers/iio/pressure/ms5611_core.c | 117 ++++++++++++++++++++++++++++++-------
2 files changed, 105 insertions(+), 20 deletions(-)
diff --git a/drivers/iio/pressure/ms5611.h b/drivers/iio/pressure/ms5611.h
index 8b08e4b..5b4bbd4 100644
--- a/drivers/iio/pressure/ms5611.h
+++ b/drivers/iio/pressure/ms5611.h
@@ -39,7 +39,14 @@ struct ms5611_chip_info {
s32 *temp, s32 *pressure);
};
+/*
+ * Number of s32 for a complete sample, i.e. s32 (pressure) + s32 (temp) +
+ * 2 * s32 (timestamp).
+ */
+#define MS5611_BUFFER_NR (4U)
+
struct ms5611_state {
+ s32 buf[MS5611_BUFFER_NR];
void *client;
struct mutex lock;
@@ -49,6 +56,7 @@ struct ms5611_state {
s32 *temp, s32 *pressure);
struct ms5611_chip_info *chip_info;
+ struct task_struct *task;
};
int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
diff --git a/drivers/iio/pressure/ms5611_core.c b/drivers/iio/pressure/ms5611_core.c
index a024445..f05da74 100644
--- a/drivers/iio/pressure/ms5611_core.c
+++ b/drivers/iio/pressure/ms5611_core.c
@@ -14,15 +14,21 @@
*/
#include <linux/module.h>
-#include <linux/iio/iio.h>
#include <linux/delay.h>
+#include <linux/kthread.h>
+#include <linux/freezer.h>
#include <linux/regulator/consumer.h>
-
+#include <linux/iio/iio.h>
#include <linux/iio/buffer.h>
#include <linux/iio/triggered_buffer.h>
#include <linux/iio/trigger_consumer.h>
#include "ms5611.h"
+enum {
+ MS5611_PRESSURE = 0,
+ MS5611_TEMP = 1
+};
+
static bool ms5611_prom_is_valid(u16 *prom, size_t len)
{
int i, j;
@@ -177,25 +183,28 @@ static int ms5611_reset(struct iio_dev *indio_dev)
return 0;
}
-static irqreturn_t ms5611_trigger_handler(int irq, void *p)
+static void ms5611_push_data(struct iio_dev *indio_dev,
+ struct ms5611_state *state)
{
- struct iio_poll_func *pf = p;
- struct iio_dev *indio_dev = pf->indio_dev;
- struct ms5611_state *st = iio_priv(indio_dev);
- s32 buf[4]; /* s32 (pressure) + s32 (temp) + 2 * s32 (timestamp) */
int ret;
- mutex_lock(&st->lock);
- ret = ms5611_read_temp_and_pressure(indio_dev, &buf[1], &buf[0]);
- mutex_unlock(&st->lock);
- if (ret < 0)
- goto err;
+ mutex_lock(&state->lock);
+ ret = ms5611_read_temp_and_pressure(indio_dev, &state->buf[MS5611_TEMP],
+ &state->buf[MS5611_PRESSURE]);
+ mutex_unlock(&state->lock);
- iio_push_to_buffers_with_timestamp(indio_dev, buf, iio_get_time_ns());
+ if (!ret)
+ iio_push_to_buffers_with_timestamp(indio_dev, state->buf,
+ iio_get_time_ns());
+}
-err:
- iio_trigger_notify_done(indio_dev->trig);
+static irqreturn_t ms5611_trigger_handler(int irq, void *p)
+{
+ const struct iio_poll_func *pf = p;
+ struct iio_dev *indio_dev = pf->indio_dev;
+ ms5611_push_data(indio_dev, iio_priv(indio_dev));
+ iio_trigger_notify_done(indio_dev->trig);
return IRQ_HANDLED;
}
@@ -203,15 +212,24 @@ static int ms5611_read_raw(struct iio_dev *indio_dev,
struct iio_chan_spec const *chan,
int *val, int *val2, long mask)
{
- int ret;
+ int ret = 0;
s32 temp, pressure;
struct ms5611_state *st = iio_priv(indio_dev);
switch (mask) {
case IIO_CHAN_INFO_PROCESSED:
mutex_lock(&st->lock);
- ret = ms5611_read_temp_and_pressure(indio_dev,
- &temp, &pressure);
+ if (iio_buffer_enabled(indio_dev)) {
+ /*
+ * Return "cached" data since sampling is ongoing in the
+ * background.
+ */
+ pressure = st->buf[MS5611_PRESSURE];
+ temp = st->buf[MS5611_TEMP];
+ }
+ else
+ ret = ms5611_read_temp_and_pressure(indio_dev, &temp,
+ &pressure);
mutex_unlock(&st->lock);
if (ret < 0)
return ret;
@@ -288,6 +306,64 @@ static const struct iio_info ms5611_info = {
.driver_module = THIS_MODULE,
};
+static int ms5611d(void *data)
+{
+ struct iio_dev *indio_dev = data;
+ struct ms5611_state *st = iio_priv(indio_dev);
+
+ set_freezable();
+
+ do {
+ ms5611_push_data(indio_dev, st);
+ } while (likely(!kthread_freezable_should_stop(NULL)));
+
+ return 0;
+}
+
+static int ms5611_buffer_postenable(struct iio_dev *indio_dev)
+{
+ struct ms5611_state *st = iio_priv(indio_dev);
+ int ret;
+
+ /*
+ * Initialize temperature and pressure so that a client getting samples
+ * through read_raw retrieves valid data when buffering has just been
+ * enabled but first sampling round is not yet completed.
+ */
+ mutex_lock(&st->lock);
+ ret = ms5611_read_temp_and_pressure(indio_dev, &st->buf[MS5611_TEMP],
+ &st->buf[MS5611_PRESSURE]);
+ mutex_unlock(&st->lock);
+ if (ret < 0)
+ return ret;
+
+ if (indio_dev->currentmode == INDIO_BUFFER_TRIGGERED)
+ return iio_triggered_buffer_postenable(indio_dev);
+
+ st->task = kthread_run(ms5611d, indio_dev, indio_dev->name);
+ if (unlikely(IS_ERR(st->task))) {
+ dev_err(&indio_dev->dev, "failed to create buffering task\n");
+ return PTR_ERR(st->task);
+ }
+
+ return 0;
+}
+
+static int ms5611_buffer_predisable(struct iio_dev *indio_dev)
+{
+
+ if (indio_dev->currentmode == INDIO_BUFFER_TRIGGERED)
+ return iio_triggered_buffer_predisable(indio_dev);
+
+ kthread_stop(((struct ms5611_state*) iio_priv(indio_dev))->task);
+ return 0;
+}
+
+static const struct iio_buffer_setup_ops ms5611_buffer_ops = {
+ .postenable = ms5611_buffer_postenable,
+ .predisable = ms5611_buffer_predisable,
+};
+
static int ms5611_init(struct iio_dev *indio_dev)
{
int ret;
@@ -324,7 +400,7 @@ int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
indio_dev->info = &ms5611_info;
indio_dev->channels = ms5611_channels;
indio_dev->num_channels = ARRAY_SIZE(ms5611_channels);
- indio_dev->modes = INDIO_DIRECT_MODE;
+ indio_dev->modes = INDIO_DIRECT_MODE | INDIO_BUFFER_SOFTWARE;
indio_dev->available_scan_masks = ms5611_scan_masks;
ret = ms5611_init(indio_dev);
@@ -332,7 +408,8 @@ int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
return ret;
ret = iio_triggered_buffer_setup(indio_dev, NULL,
- ms5611_trigger_handler, NULL);
+ ms5611_trigger_handler,
+ &ms5611_buffer_ops);
if (ret < 0) {
dev_err(dev, "iio triggered buffer setup failed\n");
return ret;
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation
2016-02-15 17:53 [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation Gregor Boirie
` (3 preceding siblings ...)
2016-02-15 17:53 ` [PATCH v1 5/5] iio:pressure:ms5611: continuous sampling support Gregor Boirie
@ 2016-02-15 18:37 ` Peter Meerwald-Stadler
2016-02-16 4:28 ` Lucas De Marchi
4 siblings, 1 reply; 7+ messages in thread
From: Peter Meerwald-Stadler @ 2016-02-15 18:37 UTC (permalink / raw)
To: Gregor Boirie
Cc: linux-iio, Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Tomasz Duszynski, Daniel Baluta, Krzysztof Kozlowski, Mark Brown,
Andrew F. Davis
> See page 8 of ms5607 datasheet here:
> http://www.meas-spec.com/product/pressure/MS5607-ms.aspx
link doesn't seem to work anymore, maybe now it's
http://www.meas-spec.com/product/pressure/MS5607-02BA03.aspx
computation of sens2 was wrong and is fixed by this patch,
sens2 should be 2 * (t - 2000)^2
Acked-by: Peter Meerwald-Stadler <pmeerw@pmeerw.net>
> Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
> ---
> drivers/iio/pressure/ms5611_core.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iio/pressure/ms5611_core.c b/drivers/iio/pressure/ms5611_core.c
> index c7885f0c..a2ff89e6 100644
> --- a/drivers/iio/pressure/ms5611_core.c
> +++ b/drivers/iio/pressure/ms5611_core.c
> @@ -136,15 +136,15 @@ static int ms5607_temp_and_pressure_compensate(struct ms5611_chip_info *chip_inf
>
> t = 2000 + ((chip_info->prom[6] * dt) >> 23);
> if (t < 2000) {
> - s64 off2, sens2, t2;
> + s64 off2, sens2, t2, tmp;
>
> t2 = (dt * dt) >> 31;
> - off2 = (61 * (t - 2000) * (t - 2000)) >> 4;
> - sens2 = off2 << 1;
> + tmp = (t - 2000) * (t - 2000);
> + off2 = (61 * tmp) >> 4;
> + sens2 = tmp << 1;
>
> if (t < -1500) {
> - s64 tmp = (t + 1500) * (t + 1500);
> -
> + tmp = (t + 1500) * (t + 1500);
> off2 += 15 * tmp;
> sens2 += (8 * tmp);
parenthesis could be removed here
> }
>
--
Peter Meerwald-Stadler
+43-664-2444418 (mobile)
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation
2016-02-15 18:37 ` [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation Peter Meerwald-Stadler
@ 2016-02-16 4:28 ` Lucas De Marchi
0 siblings, 0 replies; 7+ messages in thread
From: Lucas De Marchi @ 2016-02-16 4:28 UTC (permalink / raw)
To: Peter Meerwald-Stadler
Cc: Gregor Boirie, linux-iio, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Tomasz Duszynski, Daniel Baluta,
Krzysztof Kozlowski, Mark Brown, Andrew F. Davis
On Mon, Feb 15, 2016 at 4:37 PM, Peter Meerwald-Stadler
<pmeerw@pmeerw.net> wrote:
>
>> See page 8 of ms5607 datasheet here:
>> http://www.meas-spec.com/product/pressure/MS5607-ms.aspx
>
> link doesn't seem to work anymore, maybe now it's
> http://www.meas-spec.com/product/pressure/MS5607-02BA03.aspx
>
> computation of sens2 was wrong and is fixed by this patch,
> sens2 should be 2 * (t - 2000)^2
yes, and it matches what we are currently doing in ardupilot.
Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>
Lucas De Marchi
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-02-16 4:35 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-15 17:53 [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation Gregor Boirie
2016-02-15 17:53 ` [PATCH v1 2/5] iio:pressure:ms5611: use probed device name Gregor Boirie
2016-02-15 17:53 ` [PATCH v1 3/5] iio:pressure:ms5611: power regulator support Gregor Boirie
2016-02-15 17:53 ` [PATCH v1 4/5] iio:pressure:ms5611: DT bindings documentation Gregor Boirie
2016-02-15 17:53 ` [PATCH v1 5/5] iio:pressure:ms5611: continuous sampling support Gregor Boirie
2016-02-15 18:37 ` [PATCH v1 1/5] iio:pressure:ms5611: fix ms5607 temp compensation Peter Meerwald-Stadler
2016-02-16 4:28 ` Lucas De Marchi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).