From ae079c1fc5d990ba55714d4b3a51b19f96edaec4 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期四, 24 四月 2025 16:01:43 +0800
Subject: [PATCH] 改为中断来低电平触发发送当前扫描数据,3s内扫描不到的会退出,串口来55 AA 75 70 64 61 74 65,进入升级模式

---
 01_SDK/nimble/controller/pan107x_spark/include/utils/fifo.h |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/01_SDK/nimble/controller/pan107x_spark/include/utils/fifo.h b/01_SDK/nimble/controller/pan107x_spark/include/utils/fifo.h
index 6b3034b..9a6009b 100644
--- a/01_SDK/nimble/controller/pan107x_spark/include/utils/fifo.h
+++ b/01_SDK/nimble/controller/pan107x_spark/include/utils/fifo.h
@@ -92,6 +92,9 @@
 static inline buf_num_t FIFO_Length(fifo_t *pFifo)
 {
 #if FIFO_NEW_EN
+	if(pFifo->w < pFifo->r){
+		return (buf_num_t)(pFifo->num + pFifo->w - pFifo->r);
+	}
 	return (buf_num_t)(pFifo->w - pFifo->r);
 #else
 	return (buf_num_t)(pFifo->w - pFifo->r);
@@ -154,11 +157,11 @@
 		return NULL;
 	}
 
-	pFifo->w++;
-
 #if FIFO_NEW_EN
+	pFifo->w = (++pFifo->w) % pFifo->num;
 	return pFifo->pBuf + pFifo->size * (pFifo->w % pFifo->num);
 #else
+	pFifo->w++;
 	return pFifo->pBuf + pFifo->size * (pFifo->w & pFifo->numMask);
 #endif
 }
@@ -174,11 +177,11 @@
 		return NULL;
 	}
 
-	pFifo->w--;
-
 #if FIFO_NEW_EN
+	pFifo->w = (--pFifo->w) % pFifo->num;
 	return pFifo->pBuf + pFifo->size * (pFifo->w % pFifo->num);
 #else
+	pFifo->w--;
 	return pFifo->pBuf + pFifo->size * (pFifo->w & pFifo->numMask);
 #endif
 }
@@ -193,7 +196,11 @@
 	if(pFifo == NULL)
 		return;
 
+#if FIFO_NEW_EN
+	pFifo->w = (++pFifo->w) % pFifo->num;
+#else
 	pFifo->w++;
+#endif
 }
 
 /**
@@ -221,7 +228,14 @@
  */
 static inline void FIFO_MoveToNextReadBuf(fifo_t *pFifo)
 {
+	if(pFifo == NULL)
+		return;
+
+#if FIFO_NEW_EN
+	pFifo->r = (++pFifo->r) % pFifo->num;
+#else
 	pFifo->r++;
+#endif
 }
 
 /**

--
Gitblit v1.9.3