annotate modules/bluespec/Pygar/core/AudioCoreSystem.h @ 38:05598d745f99 pygar svn.39

[svn r39] fixed audiocorepipe
author punk
date Tue, 04 May 2010 19:27:38 -0400
parents 0cfbb1e2de22
children a15cc186e07d
rev   line source
punk@13 1 //
punk@13 2 // INTEL CONFIDENTIAL
punk@13 3 // Copyright (c) 2008 Intel Corp. Recipient is granted a non-sublicensable
punk@13 4 // copyright license under Intel copyrights to copy and distribute this code
punk@13 5 // internally only. This code is provided "AS IS" with no support and with no
punk@13 6 // warranties of any kind, including warranties of MERCHANTABILITY,
punk@13 7 // FITNESS FOR ANY PARTICULAR PURPOSE or INTELLECTUAL PROPERTY INFRINGEMENT.
punk@13 8 // By making any use of this code, Recipient agrees that no other licenses
punk@13 9 // to any Intel patents, trade secrets, copyrights or other intellectual
punk@13 10 // property rights are granted herein, and no other licenses shall arise by
punk@13 11 // estoppel, implication or by operation of law. Recipient accepts all risks
punk@13 12 // of use.
punk@13 13 //
punk@13 14
punk@13 15 // possibly use include paths to hide existing modules?
punk@13 16
punk@13 17 #ifndef __AUDIO_CORE_CONNECTED_APPLICATION__
punk@13 18 #define __AUDIO_CORE_CONNECTED_APPLICATION__
punk@13 19
punk@13 20 #include <stdio.h>
punk@13 21 #include <pthread.h>
punk@13 22 #include <semaphore.h>
punk@13 23
punk@13 24 #include "asim/provides/virtual_platform.h"
punk@13 25
punk@22 26 #include "asim/rrr/client_stub_AUDIOCORERRR.h"
punk@13 27
punk@13 28 typedef enum {
punk@13 29 EndOfFile = 0,
punk@13 30 Data = 1
punk@13 31 } AudioProcessorControl;
punk@13 32
punk@13 33
punk@13 34 typedef class CONNECTED_APPLICATION_CLASS* CONNECTED_APPLICATION;
punk@13 35 class CONNECTED_APPLICATION_CLASS : public PLATFORMS_MODULE_CLASS
punk@13 36 {
punk@13 37 private:
punk@13 38 AUDIOCORERRR_CLIENT_STUB clientStub;
punk@13 39 static sem_t throttle;
punk@13 40 static pthread_mutex_t lock;
punk@13 41 static pthread_cond_t cond;
punk@13 42
punk@13 43 public:
punk@13 44 CONNECTED_APPLICATION_CLASS(VIRTUAL_PLATFORM vp);
punk@13 45 ~CONNECTED_APPLICATION_CLASS();
punk@13 46 static void EndSimulation();
punk@13 47 static void UpdateSemaphore();
punk@13 48
punk@13 49 // init
punk@13 50 void Init();
punk@13 51
punk@13 52 // main
punk@13 53 void Main();
punk@13 54 };
punk@13 55
punk@13 56 #endif