#pragma once
#include "resource.h"

struct CFGDATA
{
	int	sampleRate,
		numSamples,
		numPhones,
		numRecords,
		numFiles,
		sleepPeriod;
};

extern void MapRegisters( VOID );
extern void SetPowerState( BOOL state );
extern void InitStdSPI( VOID );
extern void InitPSP( VOID );
extern void InitPSP2( VOID );
extern void InitTISSP( VOID );
extern bool SendSSPMessage(BYTE *pBuf, int num );
extern DWORD dwReadSSPNoPush( VOID );
extern int dwReadSSP( VOID );
extern bool ToggleGPIO( VOID );
extern bool ReadConfig( CFGDATA& configData );
extern bool GetData( int numSamples, int sampleRate, int* pData );
extern void CreateFlashFilename( char fileName[80] );
extern bool WriteToUSBDisk( VOID );
extern void GoToSleep( int sleepTime );
extern double iToDW( int iValue );

LPVOID MapAddress(DWORD baseAddress);
void UnmapAddress(LPVOID address);

#define USB_BASE		0x4C000000
#define UHCCOMS_OFFSET	0x08
#define UHCRHS_OFFSET	0x50
#define UHCHR_OFFSET	0x64

#define CKEN_BASE		0x41300004

#define AC97_BASE		0x40500000
#define AC97GCR_OFFSET	0x0C
#define AC97GSR_OFFSET	0x1C
#define AC97x26_OFFSET	0x24C



