Initial commit of fifo and i2c headers
This commit is contained in:
@@ -71,7 +71,9 @@ CSRCS= \
|
|||||||
$(SRCDIR)/sd_card.c \
|
$(SRCDIR)/sd_card.c \
|
||||||
$(SRCDIR)/wait.c \
|
$(SRCDIR)/wait.c \
|
||||||
$(SRCDIR)/s19reader.c \
|
$(SRCDIR)/s19reader.c \
|
||||||
$(SRCDIR)/flash.c
|
$(SRCDIR)/flash.c \
|
||||||
|
$(SRCDIR)/fifo.c \
|
||||||
|
$(SRCDIR)/i2c_firebee.c
|
||||||
|
|
||||||
ASRCS= \
|
ASRCS= \
|
||||||
$(SRCDIR)/startcf.S \
|
$(SRCDIR)/startcf.S \
|
||||||
|
|||||||
39
i2cspi_BaS_gcc/include/fifo.h
Normal file
39
i2cspi_BaS_gcc/include/fifo.h
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
* This is taken from general implementations
|
||||||
|
* on the internet, and definately needs some
|
||||||
|
* work.
|
||||||
|
*
|
||||||
|
* good enough for now.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef FIREBEE_FIFO
|
||||||
|
#define FIREBEE_FIFO
|
||||||
|
|
||||||
|
#include <inttypes.h>
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
char * buf;
|
||||||
|
int head;
|
||||||
|
int tail;
|
||||||
|
int size;
|
||||||
|
} fifo_t;
|
||||||
|
|
||||||
|
void fifo_init(fifo_t*,char*,int);
|
||||||
|
void fifo_advance(fifo_t*,int*);
|
||||||
|
|
||||||
|
uint8_t fifo_get(fifo_t*);
|
||||||
|
void fifo_put(fifo_t*,uint8_t);
|
||||||
|
|
||||||
|
void fifo_clear(fifo_t*);
|
||||||
|
|
||||||
|
int fifo_used(fifo_t*);
|
||||||
|
int fifo_unused(fifo_t*);
|
||||||
|
|
||||||
|
int fifo_full(fifo_t*);
|
||||||
|
int fifo_empty(fifo_t*);
|
||||||
|
|
||||||
|
int fifo_read(fifo_t*,char *,int);
|
||||||
|
int fifo_write(fifo_t*,const char*,int);
|
||||||
|
|
||||||
|
#endif
|
||||||
45
i2cspi_BaS_gcc/include/i2c_firebee.h
Normal file
45
i2cspi_BaS_gcc/include/i2c_firebee.h
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/*
|
||||||
|
* i2c.h
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef I2CFIREBEE_h
|
||||||
|
#define I2CFIREBEE_h
|
||||||
|
|
||||||
|
#include <fifo.h>
|
||||||
|
|
||||||
|
#ifndef BUFSIZ
|
||||||
|
#define BUFSIZ 512
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define I2CTLREAD (('i'<<8) | 1)
|
||||||
|
#define I2CTLWRITE (('i'<<8) | 2)
|
||||||
|
#define I2CTLSBUF (('i'<<8) | 3)
|
||||||
|
#define I2CTLINIT (('i'<<8) | 4)
|
||||||
|
#define I2CTLDEV (('i'<<8) | 5)
|
||||||
|
|
||||||
|
// Set a specific bit
|
||||||
|
#define set_bit(p,bit) p |= bit
|
||||||
|
// Clear a specific bit
|
||||||
|
#define clear_bit(p,bit) p &= ~bit
|
||||||
|
|
||||||
|
#define ELAPSED(t) (t - ReadTimer())
|
||||||
|
|
||||||
|
#define I2C_BUFFER_LENGTH 32
|
||||||
|
|
||||||
|
#define I2C_READY 0
|
||||||
|
#define I2C_MXRX 1
|
||||||
|
#define I2C_MXTX 2
|
||||||
|
|
||||||
|
#define I2C_ADDR 6
|
||||||
|
|
||||||
|
#define I2C_READ 1
|
||||||
|
#define I2C_WRITE 0
|
||||||
|
|
||||||
|
unsigned long ReadTimer();
|
||||||
|
void DelayMicroSec(unsigned long);
|
||||||
|
|
||||||
|
void I2C_Init();
|
||||||
|
int I2C_ioctl(unsigned int, unsigned long);
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
|
|
||||||
|
#define SYSTEM_CLOCK 133
|
||||||
#define cf_stack
|
#define cf_stack
|
||||||
|
|
||||||
#define DIP_SWITCH (*(volatile uint8_t *)(&_MBAR[0xA2C]))
|
#define DIP_SWITCH (*(volatile uint8_t *)(&_MBAR[0xA2C]))
|
||||||
|
|||||||
Reference in New Issue
Block a user