Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Pi i2c HMC5843 magnetometer sequence of write/reads #57

Copy link
Copy link
@mdsousa

Description

@mdsousa
Issue body actions

Hi

I'm trying to use quick2wire to communicate between my Pi (rev B) and an HMC5843 magnetometer.
When I run sudo i2cdetect -y 1 it shows the 5843 is assigned i2c address 1e. I've created a script to get some data from the 5843. Everytime I run my script, it returns some bytes showing empty [](as you can see, the example here shows the second and fourth are empty):
[b'\x10']
[b' ']
[b'\x10']
[b' ']
[b'\x10']
[b'\x01']

Sometimes I get an I/O error:
File "/usr/local/lib/python3.2/dist-packages/quick2wire_api-0.0.0.2-py3.2.egg/quick2wire/i2c.py", line 78, in transaction
ioctl(self.fd, I2C_RDWR, ioctl_arg)
IOError: [Errno 5] Input/output error

Sometimes I get both errors (empty brackets along withthe I/O error.

Here's is my code:

from quick2wire.i2c import I2CMaster, writing_bytes,reading
import time
address = 0x1e
with I2CMaster() as bus:
    # Get data from hmc5843 register
    # for continuous measurement mode, send bytes 0x3C 0x02 0x00
    bus.transaction(writing_bytes(address,0x3C))
    bus.transaction(writing_bytes(address,0x02))
    bus.transaction(writing_bytes(address,0x00))
    time.sleep(0.01) # allow to settle
    # want to start reading from address 0x03
    bus.transaction(writing_bytes(address,0x03))
    xLSB = bus.transaction(reading(address,1))
    xMSB = bus.transaction(reading(address,1))
    yLSB = bus.transaction(reading(address,1))
    yMSB = bus.transaction(reading(address,1))
    zMSB = bus.transaction(reading(address,1))
    zLSB = bus.transaction(reading(address,1))
    print(xLSB)
    print(xMSB)
    print(yLSB)
    print(yMSB)
    print(zLSB)
    print(zMSB)

Any idea what I am doing wrong? Thanks for your help...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.