From: Hartmut Knaack <knaack.h@gmx.de>
To: Tiberiu Breana <tiberiu.a.breana@intel.com>, linux-iio@vger.kernel.org
Cc: Jonathan Cameron <jic23@kernel.org>
Subject: Re: [PATCH v2] tools: iio: Add single-byte case for generic_buffer
Date: Sun, 05 Jul 2015 11:01:47 +0200 [thread overview]
Message-ID: <5598F27B.9030307@gmx.de> (raw)
In-Reply-To: <1435917456-2973-1-git-send-email-tiberiu.a.breana@intel.com>
Resending to see if vger.kernel.org is up again.
Tiberiu Breana schrieb am 03.07.2015 um 11:57:
> Some sensors export data in an 8-bit format.
> Add a single-byte case for the generic_buffer tool so that
> these sensors' buffer data can be visualized.
>
> Signed-off-by: Tiberiu Breana <tiberiu.a.breana@intel.com>
Reviewed-by: Hartmut Knaack <knaack.h@gmx.de>
> ---
> v2: added the print1byte function to apply the channel shift and
> address both signed and unsigned cases.
> ---
> tools/iio/generic_buffer.c | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff --git a/tools/iio/generic_buffer.c b/tools/iio/generic_buffer.c
> index fc362d2..0e73723 100644
> --- a/tools/iio/generic_buffer.c
> +++ b/tools/iio/generic_buffer.c
> @@ -61,6 +61,23 @@ int size_from_channelarray(struct iio_channel_info *channels, int num_channels)
> return bytes;
> }
>
> +void print1byte(uint8_t input, struct iio_channel_info *info)
> +{
> + /*
> + * Shift before conversion to avoid sign extension
> + * of left aligned data
> + */
> + input >>= info->shift;
> + input &= info->mask;
> + if (info->is_signed) {
> + int8_t val = (int8_t)(input << (8 - info->bits_used)) >>
> + (8 - info->bits_used);
> + printf("%05f ", ((float)val + info->offset) * info->scale);
> + } else {
> + printf("%05f ", ((float)input + info->offset) * info->scale);
> + }
> +}
> +
> void print2byte(uint16_t input, struct iio_channel_info *info)
> {
> /* First swap if incorrect endian */
> @@ -152,6 +169,10 @@ void process_scan(char *data,
> for (k = 0; k < num_channels; k++)
> switch (channels[k].bytes) {
> /* only a few cases implemented so far */
Not sure though how long we should keep that comment. ^^^^^
I probably had more reason to get rid of it during my rework.
> + case 1:
> + print1byte(*(uint8_t *)(data + channels[k].location),
> + &channels[k]);
> + break;
> case 2:
> print2byte(*(uint16_t *)(data + channels[k].location),
> &channels[k]);
>
prev parent reply other threads:[~2015-07-05 9:01 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-03 9:57 [PATCH v2] tools: iio: Add single-byte case for generic_buffer Tiberiu Breana
2015-07-04 13:38 ` Hartmut Knaack
2015-07-05 11:27 ` Jonathan Cameron
2015-07-05 9:01 ` Hartmut Knaack [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5598F27B.9030307@gmx.de \
--to=knaack.h@gmx.de \
--cc=jic23@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=tiberiu.a.breana@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.