|
- #include "emul.h"
-
- typedef struct {
- // Initialization status. 0 == not woken 8 == woken 9 == CMD0 received
- // 10 == CMD8 received, 11 == CMD55 received, 12 == CMD41 received (fully
- // initialized).
- unsigned int initstat;
- // We receive commands into this buffer.
- byte recvbuf[6];
- // Where the next SPI byte should be stored in recvbuf.
- unsigned int recvidx;
- // Buffer to the arguments for a response
- byte sendbuf[5];
- // Index of the next byte from sendbuf we should return. If -1, buffer is
- // empty.
- int sendidx;
- // File used for contents read/write
- FILE *fp;
- // number of bytes read into the current CMD17. -1 means no CMD17 active.
- int cmd17bytes;
- // number of bytes received for the current CMD24. -2 means no CMD24 active.
- // -1 means we're still waiting for the data token.
- int cmd24bytes;
- // running crc16 during read and write operations.
- uint16_t crc16;
- } SDC;
-
- void sdc_init(SDC *sdc);
- byte sdc_spix(SDC *sdc, byte val);
|