This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

TWI SHORTS not working

Device: nRF51822 Rev G0

SDK: v5.2.0

Code: raw.githubusercontent.com/.../twi_hw_master.c

Basically, the TWI driver which uses PPI channels (sd_ppi_*) works perfectly - however, the driver which utilises the newly fixed (in Rev G0 devices) shortcuts DOES NOT.

I've narrowed down the issue to TWI read transactions only (writes seem to work fine) - see attached screenshot.

Has this new code been tested by Nordic with READ transactions? I only ask as the supplied example (github.com/.../twi-display-5.1.0) only seems to issues writes to the LCD device.

Many thanks.

image description

Parents
  • I'll ask the stupid question here, having stung myself by this before. You've looked at the chip on the board you're using and checked the marking carefully with a magnifying glass (or someone with younger eyes than I have) and confirmed absolutely that it's a rev G chip.

    It's hard to believe the shorts don't work after there was a PAN which supposedly fixed them.

    I've been writing my own TWI interrupt-driven driver but I havent' gotten there yet, I will be most peeved if it fails.

    One thing I notice on the Nordic fixed-to-use-shorts code is it enables shorts, but never disables them. Nowhere in the documentation does it say enabling one of BB_STOP and BB_SUSPEND disables the other, is it possible both are active at the same time (with unpredictable results)?

    Your code uses one channel which it switches from one mode to another, so definitely doesn't have that issue.

Reply
  • I'll ask the stupid question here, having stung myself by this before. You've looked at the chip on the board you're using and checked the marking carefully with a magnifying glass (or someone with younger eyes than I have) and confirmed absolutely that it's a rev G chip.

    It's hard to believe the shorts don't work after there was a PAN which supposedly fixed them.

    I've been writing my own TWI interrupt-driven driver but I havent' gotten there yet, I will be most peeved if it fails.

    One thing I notice on the Nordic fixed-to-use-shorts code is it enables shorts, but never disables them. Nowhere in the documentation does it say enabling one of BB_STOP and BB_SUSPEND disables the other, is it possible both are active at the same time (with unpredictable results)?

    Your code uses one channel which it switches from one mode to another, so definitely doesn't have that issue.

Children
Related