From: Tom Knot Date: Tue, 3 Jul 2018 19:15:21 +0000 (+0200) Subject: Swapped floating point byte order when reading from Modbus X-Git-Url: http://git.graph-it.com/?a=commitdiff_plain;h=1e75a1f2fc09a361a5added5c00eab2338aba316;p=graphit%2Funipi-kernel.git Swapped floating point byte order when reading from Modbus --- diff --git a/modules/unipi/src/unipi_spi.c b/modules/unipi/src/unipi_spi.c index 8a463fe..d02f6e3 100644 --- a/modules/unipi/src/unipi_spi.c +++ b/modules/unipi/src/unipi_spi.c @@ -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 + 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; 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; diff --git a/version.txt b/version.txt index 4225cda..65dc7e7 100644 --- a/version.txt +++ b/version.txt @@ -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