[Tutor] Associate decimal values with an integer range
Dave Angel
davea at davea.name
Tue Apr 30 00:00:20 CEST 2013
On 04/29/2013 10:28 AM, sparkle Plenty wrote:
> Hi, I need some hints on where to start solving this problem.
> I have to interpret a one-byte floating point number as a range between 0
> and 240. This is for a gui that controls an amplifier. I am getting a
> value such as 0.8367 from a fader control, and my Python is interpreting it
> as either a 0 or 1. I need to define this number to Python as an integer
> value between 0 and 240. I know that in hex I have the potential for
> numbers from 0 to 255 within my one byte of available space, and the value
> will be sent from gui to amp and back as a packed one-byte number. I have
> looked at the math module and so far, I am still stuck.
>
Are you serious? There are so many ambiguities and contradictions in
your paragraph that each reply so far is entirely different.
Do you have one device that you're sending to and receiving from? Is
that device called both an amp and a fader? Is it designed already, and
does it already have an interface that talks to your machine? Do specs
exist for that interface? If so, be more specific.
At the other end, you have a GUI that's displaying something, and
interacting somehow with a user. Perhaps that's not written yet, but do
you have plans for it? Are you going to mimic the fader on the amp with
a slider on the GUI? Or what?
One byte floating point? Nonsense. While it can be defined (see
eryksun's response, which tracks the IEEE standard quite well), it
wouldn't store enough precision to be used for anything but a toy.
Shall we continue making up possibilities, or is there a spec you can
tell us about? Do you get a one-byte unsigned int value from the
device, and some library you implied ("Python is interpreting it as...")
is converting it to a float? Is that float value meaningful, or are you
trying to fix its misinterpretation?
When you mention logarithms, are you vaguely implying that you are
converting from DB scale (to be used in the GUI) to a linear scale (to
send as one byte value)? That would be a lousy spec (see second
paragraph above).
Draw a better picture, and you'll get more meaningful responses.
--
DaveA
More information about the Tutor
mailing list