/****************************************************************************/
/* Copyright 2010 MBARI.                                                    */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
#ifndef SPI_H
#define SPI_H

#define INFO_CMD     1
#define READ_CMD     2
#define WRITE_CMD    3
#define SPARE_1_CMD  4
#define SPARE_2_CMD  5
#define BUFF_RET_CMD 6
#define BUFF_CMD     7

#define ARG_MASK    0x03FF

#define SPI_OUT_BUFF_SIZE 256
extern char spiOutBuff[SPI_OUT_BUFF_SIZE];

void spiInit(); 
int spiGetCmd(unsigned int* w);

unsigned int spiGetIrqCnt();
unsigned int spiGetCmdCnt();
unsigned int spiGetInfoCnt();
unsigned int spiGetReadCnt();
unsigned int spiGetWriteCnt();
unsigned int spiGetCmdOverFlow();

void spiClrIrqCnt();
void spiClrCmdCnt();
void spiClrInfoCnt();
void spiClrReadCnt();
void spiClrWriteCnt();
void spiClrCmdOverFlow();

void spiUpdate();

#endif

