PASDK-516:Add ASOT event creation
authorFrank Livingston <frank-livingston@ti.com>
Thu, 1 Feb 2018 23:27:03 +0000 (17:27 -0600)
committerFrank Livingston <frank-livingston@ti.com>
Thu, 1 Feb 2018 23:27:03 +0000 (17:27 -0600)
pasdk/test_dsp/framework/audioStreamOutProc.c
pasdk/test_dsp/framework/audioStreamOutProc.h

index 44040493f1fbc1d217e3cdf0a0448af0be6539c4..2fa5936251aa9eab20784396c2c131e28bf676c8 100644 (file)
@@ -181,7 +181,6 @@ Int32 gNumPfpAsot1=0; // debug
 #define ASOP_DP_DECFINALTEST_ERR    ( -6 )  // decode final error
 
 
 #define ASOP_DP_DECFINALTEST_ERR    ( -6 )  // decode final error
 
 
-
 /* Check if at least one output selected */
 static Int checkOutSel(
     const PAF_ASOT_Params *pP, 
 /* Check if at least one output selected */
 static Int checkOutSel(
     const PAF_ASOT_Params *pP, 
@@ -280,6 +279,9 @@ static Void resetAfMetadata(
     PAF_AST_Stream *xStr
 );
 
     PAF_AST_Stream *xStr
 );
 
+// Create ASOT event
+static Int asotCreateEvent(void);
+
 
 LINNO_DEFN(TaskAsop); /* Line number macros */
 ERRNO_DEFN(TaskAsop); /* Error number macros */
 
 LINNO_DEFN(TaskAsop); /* Line number macros */
 ERRNO_DEFN(TaskAsop); /* Error number macros */
@@ -288,12 +290,16 @@ ERRNO_DEFN(TaskAsop); /* Error number macros */
 #pragma DATA_SECTION(gPAF_ASOT_config, ".globalSectionPafAsotConfig")
 PAF_ASOT_Config gPAF_ASOT_config = {
     NULL,               // taskHandle
 #pragma DATA_SECTION(gPAF_ASOT_config, ".globalSectionPafAsotConfig")
 PAF_ASOT_Config gPAF_ASOT_config = {
     NULL,               // taskHandle
+    0,                  // asotState
     NULL,               // acp
     NULL,               // acp
-    0,0,0,              // CB drained flags (size DECODE_MAXN)
+    0,0,0,              // cbDrainedFlag (size DECODE_MAXN)
     &gPAF_ASPM_config,  // pAspmCfg
     &gPAF_AST_config    // pAstCfg
 };
 
     &gPAF_ASPM_config,  // pAspmCfg
     &gPAF_AST_config    // pAstCfg
 };
 
+/* Event handle for Tx - to put in structure */
+Event_Handle asopEvt;
+
 // Underflow threshold before circular buffer reset and return error to Top-Level FSM
 #define DEC_OP_CB_RDAF_UND_THR  ( 80 ) // FL: arbitrary setting
 UInt32 gCbReadAfErr         =0; // read circular buffer error count, not including underflows
 // Underflow threshold before circular buffer reset and return error to Top-Level FSM
 #define DEC_OP_CB_RDAF_UND_THR  ( 80 ) // FL: arbitrary setting
 UInt32 gCbReadAfErr         =0; // read circular buffer error count, not including underflows
@@ -335,6 +341,7 @@ Void taskAsopFxnInit(
     Int z;                          /* input/encode/stream/decode/output counter */
     Int i;                          /* phase */
     Int zMS;
     Int z;                          /* input/encode/stream/decode/output counter */
     Int i;                          /* phase */
     Int zMS;
+    Int status;
 
     Log_info0("Enter taskAsopFxnInit()");
 
 
     Log_info0("Enter taskAsopFxnInit()");
 
@@ -362,6 +369,14 @@ Void taskAsopFxnInit(
     pAsotCfg->taskHandle = Task_self(); // set task handle
     pAstCfg = pAsotCfg->pAstCfg;        // get pointer to AST common (shared) configuration
 
     pAsotCfg->taskHandle = Task_self(); // set task handle
     pAstCfg = pAsotCfg->pAstCfg;        // get pointer to AST common (shared) configuration
 
+    // Create ASIT event
+    status = asotCreateEvent();
+    if (status < 0)
+    {
+        TRACE_TERSE0("TaskAsop: unable to initialize event. Exiting.");
+        return;
+    }
+    
     /* Obtain Audio Stream Number (1, 2, etc.) */
     as = pAstCfg->as;
     TRACE_TERSE1("TaskAsop: Started with AS%d.", as);
     /* Obtain Audio Stream Number (1, 2, etc.) */
     as = pAstCfg->as;
     TRACE_TERSE1("TaskAsop: Started with AS%d.", as);
@@ -424,6 +439,25 @@ Void taskAsopFxnInit(
     }
 } /* taskAsopFxnInit */
 
     }
 } /* taskAsopFxnInit */
 
+/*
+ *  ========asotCreateEvent ========
+ *  Create ASOT event
+ */
+static Int asotCreateEvent(void)
+{
+    Error_Block eb;
+    
+    Error_init(&eb);
+    
+    // Default instance configuration params
+    asopEvt = Event_create(NULL, &eb);
+    if (asopEvt == NULL) 
+    {
+        return -1; // error code
+    }
+    
+    return 0;
+} /* asotCreateEvent */
 
 /*
  *  ======== taskAsopFxn ========
 
 /*
  *  ======== taskAsopFxn ========
index 09871328dbd140f37544ee7bff77669f246a11c0..a767d8a1a2e1d8ff25a842ab899600c529247696 100644 (file)
@@ -41,6 +41,7 @@ All rights reserved.
 #define _ASOP_H_
  
 #include <xdc/std.h>
 #define _ASOP_H_
  
 #include <xdc/std.h>
+#include <ti/sysbios/knl/Event.h>
 #include <ti/sysbios/knl/Task.h>
 
 #include "audioStreamProc_params.h"
 #include <ti/sysbios/knl/Task.h>
 
 #include "audioStreamProc_params.h"
@@ -56,6 +57,14 @@ All rights reserved.
 #define PAF_ASOT_FRAMELENGTH           256
 #define PAF_ASOT_MAX_FRAMELENGTH       1024
 
 #define PAF_ASOT_FRAMELENGTH           256
 #define PAF_ASOT_MAX_FRAMELENGTH       1024
 
+/* Event IDs */
+#define Evt_Id_WakeTimer   Event_Id_00  // Wake Timer event
+#define Evt_Id_RxMsgAsit   Event_Id_01  // Rx ASIT message event
+#define Evt_Id_RxMsgAsdt   Event_Id_02  // Rx ASDT message event
+#define Evt_Id_TxMcaspEdma Event_Id_03  // Tx McASP EDMA event
+/* Event handle - to put in structure */
+extern Event_Handle asopEvt;
+
 // Global debug counter */
 extern Uint32 gTaskAsopCnt; // debug counter for ASOP task
 
 // Global debug counter */
 extern Uint32 gTaskAsopCnt; // debug counter for ASOP task
 
@@ -215,12 +224,13 @@ typedef struct PAF_AST_OutIO {
 
 // Audio Stream Input Task (ASOT) configuration
 typedef struct PAF_ASOT_Config {
 
 // Audio Stream Input Task (ASOT) configuration
 typedef struct PAF_ASOT_Config {
-    Task_Handle taskHandle;             // ASOT handle
-    ACP_Handle acp;                     // ASOT local ACP handle
-    Int8 cbDrainedFlag[DECODEN_MAX];    // CB drained flags
-    PAF_ASPM_Config *pAspmCfg;          // ASIT/ASOT shared configuration
-    PAF_AST_Config *pAstCfg;            // ASIT/ASOT/ASDT shared configuration
-    PAF_AST_IoOut  *pIoOut;
+    Task_Handle     taskHandle;                 // ASOT task handle
+    uint_least16_t  state;                      // ASOT state
+    ACP_Handle      acp;                        // ASOT ACP handle
+    Int8            cbDrainedFlag[DECODEN_MAX]; // CB drained flags
+    PAF_ASPM_Config *pAspmCfg;                  // ASIT/ASOT shared configuration
+    PAF_AST_Config  *pAstCfg;                   // ASIT/ASOT/ASDT shared configuration
+    PAF_AST_IoOut   *pIoOut;
 } PAF_ASOT_Config;
 
 
 } PAF_ASOT_Config;