Post Go back to editing

ADAU1701 and SigmaTcp - Header mismatch

Hey All,

I was trying to configure an ADAU1701 connected to a raspberry pi (over an i2c bus, running Raspbian) using SigmaTcp. Unfortunately, I was unable to do that in the first attempt. I analyzed the TCPIP packages sent by SigmaStudio using wireshark and I noticed that the header was different from the one that SigmaTcp was waiting. Sigma tcp waits for a 8 bytes header, with length in the bytes 4 and 5, and addr in the bytes 6 and 7. SigmaStudio sends a 10 bytes header with length in the bytes 6 and 7, and addr in the bytes 8 and 9. After some changes in function handle_connection on sigma-tcp.c, I was able to control the chip over a TCP/IP connection. 

Is there a different version of sigma tcp to be used with ADAU1701? I searched in this forum and couldn't find anyone with the same problem, so I decided to post this. 

Thanks!

Lucas@

Parents
  • raspberry pi has no problem making repeated starts.

    uint8_t addr_buf[2];
    struct i2c_msg msg[2] = {0};


    struct i2c_rdwr_ioctl_data msgset;

    // 16 bit address
    addr_buf[0] = (addr >> 8) & 0xff;
    addr_buf[1] = addr & 0xff;

    msg[0].addr = i2c_dev_addr;
    msg[0].flags = 0;
    msg[0].buf = addr_buf;
    msg[0].len = 2;
    msg[1].addr = i2c_dev_addr;
    msg[1].flags = I2C_M_RD;
    msg[1].buf = data;
    msg[1].len = r_len;

    msgset.msgs = msg;
    msgset.nmsgs = 2;

    if(ioctl(i2c_fd, I2C_RDWR, &msgset ) < 0) {

Reply
  • raspberry pi has no problem making repeated starts.

    uint8_t addr_buf[2];
    struct i2c_msg msg[2] = {0};


    struct i2c_rdwr_ioctl_data msgset;

    // 16 bit address
    addr_buf[0] = (addr >> 8) & 0xff;
    addr_buf[1] = addr & 0xff;

    msg[0].addr = i2c_dev_addr;
    msg[0].flags = 0;
    msg[0].buf = addr_buf;
    msg[0].len = 2;
    msg[1].addr = i2c_dev_addr;
    msg[1].flags = I2C_M_RD;
    msg[1].buf = data;
    msg[1].len = r_len;

    msgset.msgs = msg;
    msgset.nmsgs = 2;

    if(ioctl(i2c_fd, I2C_RDWR, &msgset ) < 0) {

Children
No Data