Swapped floating point byte order when reading from Modbus
authorTom Knot <tomasknot@gmail.com>
Tue, 3 Jul 2018 19:15:21 +0000 (21:15 +0200)
committerTom Knot <tomasknot@gmail.com>
Tue, 3 Jul 2018 19:15:21 +0000 (21:15 +0200)
modules/unipi/src/unipi_spi.c
version.txt

index 8a463fe6af6b2dc17eaf6ddc395df2cf8a4644c6..d02f6e35a866b958ce1136bf99a220a84b00817e 100644 (file)
@@ -457,10 +457,11 @@ void neuronspi_spi_iio_sec_ai_read_voltage(struct iio_dev *indio_dev, struct iio
        u32 sec_ai_val_h = 0;
        u32 sec_ai_val_m = 0;
        u8 sec_ai_exp = 0;
-       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + (2 * ai_data->index), &sec_ai_val_h);
-       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + 1 + (2 * ai_data->index), &sec_ai_val_l);
+       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + (2 * ai_data->index), &sec_ai_val_h);
+       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + (2 * ai_data->index), &sec_ai_val_l);
        sec_ai_val_m = ((((u32)sec_ai_val_h) << 25) | (((u32)sec_ai_val_l) << 9)) >> 16;
        sec_ai_exp = (sec_ai_val_h & 0x7F80) >> 7;
+
        *val = sec_ai_val_m | 0x00010000;
        if (142 - ((int)sec_ai_exp) <= 0) {
                *val = (*val << (((int)sec_ai_exp) - 142)) * 1000;
@@ -482,8 +483,8 @@ void neuronspi_spi_iio_sec_ai_read_current(struct iio_dev *indio_dev, struct iio
        u32 sec_ai_val_m = 0;
        u8 sec_ai_exp = 0;
 
-       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + (2 * ai_data->index), &sec_ai_val_h);
-       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + 1 + (2 * ai_data->index), &sec_ai_val_l);
+       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + 1 + (2 * ai_data->index), &sec_ai_val_h);
+       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + (2 * ai_data->index), &sec_ai_val_l);
        sec_ai_val_m = ((((u32)sec_ai_val_h) << 25) | (((u32)sec_ai_val_l) << 9)) >> 16;
        sec_ai_exp = (sec_ai_val_h & 0x7F80) >> 7;
        *val = sec_ai_val_m | 0x00010000;
@@ -504,8 +505,8 @@ void neuronspi_spi_iio_sec_ai_read_resistance(struct iio_dev *indio_dev, struct
        u32 sec_ai_val_h = 0;
        u32 sec_ai_val_m = 0;
        u8 sec_ai_exp = 0;
-       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + (2 * ai_data->index), &sec_ai_val_h);
-       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + 1 + (2 * ai_data->index), &sec_ai_val_l);
+       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + 1 + (2 * ai_data->index), &sec_ai_val_h);
+       regmap_read(n_spi->reg_map, n_spi->regstart_table->sec_ai_val_reg + (2 * ai_data->index), &sec_ai_val_l);
        sec_ai_val_m = ((((u32)sec_ai_val_h) << 25) | (((u32)sec_ai_val_l) << 9)) >> 16;
        sec_ai_exp = (sec_ai_val_h & 0x7F80) >> 7;
        *val = sec_ai_val_m | 0x00010000;
index 4225cdae3d9b0912f44ef663f4cd79a67f1cb71b..65dc7e7a81c812946d499495afe241992c251f54 100644 (file)
@@ -1 +1 @@
-Repository:neuron-kernel ActiveBranch:[uart_timeout] PrecedingRelease:v.0.12 PrecedingRevision:73(14cda4d) LatestCommit:Fri Jun 29 11:22:27 CEST 2018
+Repository:neuron-kernel ActiveBranch:[uart_timeout] PrecedingRelease:v.0.12 PrecedingRevision:74(0f6de02) LatestCommit:Tue Jul 3 21:15:21 CEST 2018