# newbie sending hex values over UDP socket

Tue Sep 14 01:58:20 CEST 2004

```Bill Seitz wrote:

> Peter Hansen <peter at engcorp.com> wrote in message news:<QYGdnckJ3ukLf9zcRVn-sQ at powergate.ca>...
>
>>Bill Seitz wrote:
>>
>>>Are you saying I can just do something as simple as
>>>sock.send('ri0')
>>>?
>>
>>Exactly.  That sends three bytes corresponding to the
>>"raw" byte values you showed before.
>>
>>
>>>(This interface is typically used over a modem connection between 2
>>>embedded/hardware devices, if that provides a clue/context. So it's
>>>entirely possible that I've thought the situation was more complicated
>>>than it really is because the other guy is used to dealing with these
>>>low-level devices...)
>>
>>The beauty of Python... makes working with even low-level hardware
>>a pleasure compared to many languages. :-)
>>
>>-Peter
>
>
>
> Excellent - now how about calculating a parity-check byte?

well, I'm new to python, but the language hardly matters here, i believe.

is the parity a bit, a few bits, or a full byte?  granted the bits will
be stored in a byte, but we need to know exactly, of course.  I believe
parity usually indicates a single bit (on or off), but I don't trust
anybody.

I'll mention these hard-coded example, but I wouldn't be at all
surprised if python has built in bit-methods.

I number the 8 bits in a byte from 7 to 0, where 7 is the high bit.

if I wanted to check the bit number 5 in thatbyte, I would do simply,
(well, as I said, I'm new, I'm going to use extra parens)

#untested code
if (thatbyte & (2**5)) == (2**5):
print 'Bit 5 is on.'
else:
print 'Bit 5 is off.'

for more than one bit, say the "first" 3 bits:  7, 6, and 5:

#untested code
for bit in [7, 6, 5]:
if (thatbyte & (2**bit)) == (2**bit):
print 'Bit ' + str(bit) + 'is on.'
else:
print 'Bit ' + str(bit) + 'is off.'

Its bit math.
I think those're right.  hope so.

Rob

```