aboutsummaryrefslogtreecommitdiffstats
path: root/src/gaudin
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2013-05-25 01:26:52 +1000
committerinmarket <andrewh@inmarket.com.au>2013-05-25 01:26:52 +1000
commit7fbfde42aabbcd30cffba2fba35158236c0a6c6c (patch)
treee85c90a4f21974b706315d64209021e0b2bde764 /src/gaudin
parent42006a67b5ccfd86f30d8a91cc474681c437eaf6 (diff)
downloaduGFX-7fbfde42aabbcd30cffba2fba35158236c0a6c6c.tar.gz
uGFX-7fbfde42aabbcd30cffba2fba35158236c0a6c6c.tar.bz2
uGFX-7fbfde42aabbcd30cffba2fba35158236c0a6c6c.zip
GOS module, for operating system independance
GMISC fast floating point trig GMISC fast fixed point trig
Diffstat (limited to 'src/gaudin')
-rw-r--r--src/gaudin/gaudin.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/gaudin/gaudin.c b/src/gaudin/gaudin.c
index 3a9d23b8..2e87c628 100644
--- a/src/gaudin/gaudin.c
+++ b/src/gaudin/gaudin.c
@@ -12,8 +12,6 @@
* @addtogroup GAUDIN
* @{
*/
-#include "ch.h"
-#include "hal.h"
#include "gfx.h"
#if GFX_USE_GAUDIN
@@ -22,7 +20,7 @@
#include "gaudin/lld/gaudin_lld.h"
static gaudin_params aud;
-static BinarySemaphore *paudSem;
+static gfxSem *paudSem;
static GEventAudioIn *paudEvent;
static audin_sample_t *lastbuffer;
static size_t lastcount;
@@ -31,7 +29,7 @@ static uint16_t audFlags;
#define AUDFLG_USE_EVENTS 0x0002
#if GFX_USE_GEVENT
- static GTIMER_DECL(AudGTimer);
+ static GTimer AudGTimer;
static void AudGTimerCallback(void *param) {
(void) param;
@@ -75,7 +73,7 @@ void GAUDIN_ISR_CompleteI(audin_sample_t *buffer, size_t n) {
/* Our two signalling mechanisms */
if (paudSem)
- chBSemSignalI(paudSem);
+ gfxSemSignalI(paudSem);
#if GFX_USE_GEVENT
if (audFlags & AUDFLG_USE_EVENTS)
@@ -87,6 +85,13 @@ void GAUDIN_ISR_ErrorI(void) {
/* Ignore any errors for now */
}
+/* The module initialiser */
+void _gaudinInit(void) {
+ #if GFX_USE_GEVENT
+ gtimerInit(&AudGTimer);
+ #endif
+}
+
bool_t gaudinInit(uint16_t channel, uint32_t frequency, audin_sample_t *buffer, size_t bufcount, size_t samplesPerEvent) {
/* Check the channel is valid */
if (channel >= GAUDIN_NUM_CHANNELS || frequency > GAUDIN_MAX_SAMPLE_FREQUENCY)
@@ -120,11 +125,11 @@ bool_t gaudinInit(uint16_t channel, uint32_t frequency, audin_sample_t *buffer,
}
#endif
-void gaudinSetBSem(BinarySemaphore *pbsem, GEventAudioIn *pEvent) {
- chSysLock();
+void gaudinSetBSem(gfxSem *pbsem, GEventAudioIn *pEvent) {
+ gfxSystemLock();
paudSem = pbsem;
paudEvent = pEvent;
- chSysUnlock();
+ gfxSystemUnlock();
}
void gaudinStart(void) {