Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: I2C help (from python)

by toolic (Bishop)
on Nov 30, 2015 at 15:49 UTC ( [id://1148907]=note: print w/replies, xml ) Need Help??


in reply to I2C help (from python)

So it's really this line self.DEVICE_REG_DATA &= ~(0x1<<0) that's causing my trouble.
This is just a wild guess since I don't know python, but I suspect it clears the least significant bit of the value stored in the DEVICE_REG_DATA variable.

The &= looks like a read-modify-write register operation. My guess is that &= is the AND-EQUAL bit-wise operator and ~ is the bit-wise negation operator. (0x1 << 0) is simplified as 0x1, which is represented in binary format as 0000_0001 (8 bits). 0000_0001 negated is 1111_1110. So the line is probably equivalent to the pseudo-code:

self.DEVICE_REG_DATA = self.DEVICE_REG_DATA & 1111_1110

UPDATE: Added note to explicitly state that the code example I gave is pseudo.

Replies are listed 'Best First'.
Re^2: I2C help (from python)
by BrowserUk (Patriarch) on Nov 30, 2015 at 16:03 UTC
    So the line is probably equivalent to: 01 self.DEVICE_REG_DATA = self.DEVICE_REG_DATA & 1111_1110

    That would have to be: self.DEVICE_REG_DATA = self.DEVICE_REG_DATA &0b1111_1110


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
    In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1148907]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (3)
As of 2024-04-18 02:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found