typedef enum
{
MMC_EC_OK = 0,
MMC_EC_NOT_IDLE = 1, //after reset command, device wasn't in idle state
MMC_EC_NOT_INIT = 2, //after init command, device had an error
MMC_EC_NO_CRC = 3, //CRC wouldn't turn off
MMC_EC_SET_READ_BLOCKSIZE_FAIL = 4, //gave us an error during set blocksize
MMC_EC_SET_WRITE_BLOCKSIZE_FAIL = 5, //gave us an error during set blocksize
MMC_EC_SET_MULTI_BLOCKSIZE_FAIL = 6, //gave us an error during set blocksize
MMC_EC_SET_WRITE_ADDRESS_FAIL = 7, //gave us an error when we told it we want to write block
MMC_EC_BLOCK_NOT_WRITTEN = 8, //after sending block, it gave us this response
MMC_EC_SET_READ_ADDRESS_FAIL = 9, //gave us an error when we told it we wanted to read block
MMC_EC_ERASE_SECTOR_START_FAIL = 10, //mmc gave us an error when we set the start sector for erase
MMC_EC_ERASE_SECTOR_END_FAIL = 11, //mmc gave us an error when we set the end sector for erase
MMC_EC_ERASE_SECTORS_FAIL = 12, //mmc gave us an error when we told it to erase tagged sectors
MMC_EC_BAD_STATE = 13, //we cant start/continue a multi transfer because we didn't start/finish the last one
MMC_EC_START_MULTI_READ_FAIL = 14, //mmc gave us an error when we started a multi-read
MMC_EC_READ_NEXT_BLOCK_FAIL = 15, //mmc gave us an error when started to read the next block (in multi-read)
MMC_EC_STOP_TRANSMISSION_FAIL = 16, //mmc gave us an error when tried to stup a multi read/write transmission
MMC_EC_WRITE_ALWAYS_BUSY = 17 //after a block write, we waited longer than timeout period for busy signal to end
}MMC_EC ;