From 0b32bee3aa58705f7dc3c10486e8c7f1db7a9365 Mon Sep 17 00:00:00 2001 From: Ed Date: Tue, 1 Sep 2020 09:55:53 +0100 Subject: [PATCH] Handle case at startup where decouple ISR gets stuck for several hundred cycles at startup, pushing out I2S timing --- lib_xua/src/core/buffer/decouple/decouple.xc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib_xua/src/core/buffer/decouple/decouple.xc b/lib_xua/src/core/buffer/decouple/decouple.xc index 4e631dfb..f07f9411 100644 --- a/lib_xua/src/core/buffer/decouple/decouple.xc +++ b/lib_xua/src/core/buffer/decouple/decouple.xc @@ -523,6 +523,9 @@ __builtin_unreachable(); GET_SHARED_GLOBAL(rdPtr, g_aud_to_host_rdptr); asm volatile("ldw %0, %1[0]":"=r"(datalength):"r"(rdPtr)); + /* Handle startup case where zero length packets exist */ + if(!datalength) break; + /* Round up datalength */ datalength = ((datalength+3) & ~0x3) + 4;