chenlh
2025-10-10 4003a3bfa8a12ce3927df1d67f65acd4395adab1
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;