[XK-VOICE-SQ66] Getting DoA from XVF3800 via I2C

Technical discussions related to any XMOS development kit or reference design. Eg XK-1A, sliceKIT, etc.
valkm
New User
Posts: 3
Joined: Mon May 12, 2025 5:00 pm

[XK-VOICE-SQ66] Getting DoA from XVF3800 via I2C

Post by valkm »

Hi all,

I'm trying to get the Direction of Arrival with the AEC_AZIMUTH_VALUES command via I2C (bare-metal) but the device keeps sending back the SERVICER_COMMAND_RETRY status code followed by zeroes. Retrying every 15 ms yields no result. The XVF3800 is loaded with the base binary application_xvf3800_intdev-lr16-lin-i2c.xe. Rebooting the device does not help solve the issue.

Why would XVF3800 return the RETRY status code continuously? I manage to get the beams values correctly when using the usb binary with the xvf_host app, but can't via I2C and a custom bare-metal host code.

The I2C packet I send from the I2C master is the following (see screenshot for the whole I2C exchange): START - 0x2C - WRITE - 0x21 - 0xCB - 0x11 - START REPEAT - 0x2C - READ
with:
  • 0x2C: XVF3800 I2C address
  • 0x21: AEC_RESID
  • 0xCB: AEC_RESID_AEC_AZIMUTH_VALUES set as a read command
  • 0x11: expected payload length in byte (16 bytes for the response + 1 for the status code)

Best Regards,
Valentin
You do not have the required permissions to view the files attached to this post.