From e0f29d5815a7dd4d45733ce1d661f1df263913d4 Mon Sep 17 00:00:00 2001
From: chenlh <2008get@163.com>
Date: 星期四, 09 十月 2025 15:23:10 +0800
Subject: [PATCH] 第一轮测试OK版提交
---
drv/FIR_acc.c | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/drv/FIR_acc.c b/drv/FIR_acc.c
index bb94baa..eb25654 100644
--- a/drv/FIR_acc.c
+++ b/drv/FIR_acc.c
@@ -58,13 +58,20 @@
firHead.status = acc_completely;
firHead.count++;
}
+
+ if(firHead.status == acc_completely) {
+ for(struct FIR_tcb* fir = firHead.first; fir != NULL ; fir = fir->next) {
+ if(fir->callback) fir->callback(fir->content);
+ }
+ firHead.status = acc_idle;
+ }
}
uvoid fir_acc_init()
{
firHead.count =0;
firHead.num =0 ;
- firHead.status = acc_completely ;
+ firHead.status = acc_idle ;
firHead.first = NULL;
firHead.last = NULL;
@@ -77,9 +84,9 @@
{
s32 restarting = 0;
- if(firHead.status == acc_completely && firHead.num > 0) {
+ if(firHead.status == acc_idle && firHead.num > 0) {
for(struct FIR_tcb* fir = firHead.first; fir != NULL ; fir = fir->next) {
- if(fir->callback) fir->callback(fir->content);
+
if(fir->cp_update) {
memcpy((uvoid*)fir->cf_buff, fir->cf_temp , fir->tap*sizeof(ufloat));
fir->cp_update = ufalse;
@@ -199,7 +206,7 @@
firHead.last->next = fir;
firHead.last = fir ;
}
- //fir->tcb[0] = ((s32)(firHead.first->tcb+12)>>2)|MP_OFFSET;
+
firHead.num ++;
return fir;
--
Gitblit v1.9.3