Skip to content

Repeated Start Condition - How to code? #91

Open

Description

@moelski

Hi @ALL,

today I tried to implement the AS3935 Lightning Chip in my application. But I run into problems reading the Registers separately.

My first attempt was this:
i2cConnection.Write(0x01); byte res = i2cConnection.ReadByte();
This should read the Byte from Register 0x01. But I alsways get the data from Register 0x00.

My second try was this Code:
var readAction = new I2cReadAction(1); i2cConnection.Execute(new I2cTransaction(new I2cWriteAction(0x01), readAction)); Console.WriteLine($"ergebnis : {readAction.Buffer[0]}");
But this also did not work.

If I read a bulk of data then it works. But that is not a good solution because you have to read to many data at a time.

For me it look like a Problem with the repeated start condition (which is needed for the AS3935 device). I found some notes about changes for the repeated start. But how can I use it?

Any hint would be much appreciated !

regards Dominik

Activity

  1. JTrotta commented on Sep 25, 2017

    @JTrotta

    Got the same problem with this code:
    I2cWriteAction writeAction = new I2cWriteAction(register); I2cReadAction readAction = new I2cReadAction(new byte[byteCount]); I2cTransaction transaction = new I2cTransaction(writeAction, readAction); Execute(transaction); return readAction.Buffer;

  2. JTrotta commented on Oct 21, 2017

    @JTrotta

    Have a look to my new libraries. Now repeated start is working

  3. moelski commented on Nov 2, 2017

    @moelski
    Author

    Hi !
    Which libraries did you mean?
    I can´t find any new stuff.

    SORRY got it.
    https://github.com/JTrotta/raspberry-sharp-io

    regards Dominik

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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