afLib 1.3 which is supporting both SPI and UART

Dependencies:   vt100 mbed afLib_1_3

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers mbedSPI.h Source File

mbedSPI.h

00001 /**
00002  * mbedSPI
00003  *
00004  * mbed spi class for afero afLib.
00005  */
00006 #ifndef _MBEDSPI_H_
00007 #define _MBEDSPI_H_
00008 #include "mbed.h"
00009 #include "afSPI.h"
00010 #include "StatusCommand.h"
00011 #include "afTransport.h"
00012 
00013 #define SPI_FRAME_LEN   ((uint16_t)16)
00014 
00015 class mbedSPI : public afTransport {
00016 public:
00017     mbedSPI(PinName mosi, PinName miso, PinName sckl, PinName cs) ;
00018 
00019     virtual void checkForInterrupt(volatile int *interrupts_pending, bool idle);
00020     virtual int exchangeStatus(StatusCommand *tx, StatusCommand *rx);
00021     virtual int writeStatus(StatusCommand *c);
00022     virtual void sendBytes(char *bytes, int len);
00023     virtual void recvBytes(char *bytes, int len);
00024     virtual void sendBytesOffset(char *bytes, uint16_t *bytesToSend, uint16_t *offset);
00025     virtual void recvBytesOffset(char **bytes, uint16_t *bytesLen, uint16_t *bytesToRecv, uint16_t *offset);
00026 //    virtual void recvBytesOffset(char *bytes, uint16_t *bytesLen, uint16_t *bytesToRecv, uint16_t *offset);
00027 private:
00028     virtual void begin(void) ;
00029     virtual void beginSPI(void) ;
00030     virtual void endSPI(void) ;
00031     virtual void transfer(char *bytes,int len) ;
00032 
00033     SPI         _spi ;
00034     DigitalOut  _cs ;
00035 } ;
00036     
00037 
00038 #endif /* _MBEDSPI_H_ */