fakesdcard.c
116 lines
| 2.3 KiB
| text/x-c
|
CLexer
r63 | #include <stdio.h> | |||
#include <sdcard.h> | ||||
#include <sdcard-spi.h> | ||||
r68 | FILE* sdcardimg=NULL; | |||
r63 | ||||
void sdcardmake(sdcardDev* sdcard,UHANDLE phy,void (*rcvr_mmc) (UHANDLE,char *,unsigned int ),void (*xmit_mmc) (UHANDLE,const char *,unsigned int ),void (*setspeed) (UHANDLE phy,unsigned int speed),unsigned int (*getspeed) (UHANDLE phy)) | ||||
{ | ||||
} | ||||
int sdcardselect (blkdevice* _this) | ||||
{ | ||||
return 1; | ||||
} | ||||
void sdcarddeselect (blkdevice* _this) | ||||
{ | ||||
} | ||||
int sdcardwait_ready (sdcardDev* sdcard) | ||||
{ | ||||
return 1; | ||||
} | ||||
void sdcardpower (blkdevice* _this) | ||||
{ | ||||
} | ||||
char sdcarddetect (blkdevice* _this) | ||||
{ | ||||
return 1; | ||||
} | ||||
char sdcardwriteprotected (blkdevice* _this) | ||||
{ | ||||
return 0; | ||||
} | ||||
int sdcardxmit_datablock (sdcardDev* sdcard,const char *buff,char token) | ||||
{ | ||||
return 1; | ||||
} | ||||
int sdcardrcvr_datablock (sdcardDev* sdcard,char *buff,unsigned int btr) | ||||
{ | ||||
return 1; | ||||
} | ||||
char sdcardsend_cmd (blkdevice* _this,char cmd,unsigned int arg) | ||||
{ | ||||
return 1; | ||||
} | ||||
DSTATUS sdcarddisk_status (blkdevice* _this) | ||||
{} | ||||
DSTATUS sdcarddisk_initialize (blkdevice* _this) | ||||
{} | ||||
DRESULT sdcarddisk_read (blkdevice* _this,char *buff,unsigned long sector,char count) | ||||
{ | ||||
r68 | if(sdcardimg==NULL)return RES_ERROR; | |||
r63 | int res = fseek(sdcardimg, sector*(unsigned long)512, SEEK_SET); | |||
if(count*512== fread(buff,1,count*512,sdcardimg)) | ||||
return RES_OK; | ||||
return RES_ERROR; | ||||
} | ||||
DRESULT sdcarddisk_write (blkdevice* _this,const char *buff,unsigned long sector,char count) | ||||
{ | ||||
r68 | if(sdcardimg==NULL)return RES_ERROR; | |||
r63 | fseek(sdcardimg, sector*(unsigned long)512, SEEK_SET); | |||
fwrite(buff,1,count*512,sdcardimg); | ||||
return RES_OK; | ||||
} | ||||
DRESULT sdcarddisk_ioctl (blkdevice* _this,char ctrl,void *buff) | ||||
{} | ||||
void sdcardspimakeblkdev(blkdevice* dev,sdcardDev* sdcard, blkdevselect_t select,blkdevpower_t power,blkdevdetect_t detect,blkdevwriteprotected_t writeprotected) | ||||
{ | ||||
r68 | sdcardimg=fopen("/dev/sdc","rb"); | |||
r63 | // sdcardimg=fopen("usbkey.bin","rb"); | |||
if(sdcardimg!=NULL)printf("ok sdcard openned\n"); | ||||
else printf("Nok sdcard not openned\n"); | ||||
dev->phy=NULL; | ||||
dev->select= (blkdevselect_t)select; | ||||
dev->power = (blkdevpower_t)power; | ||||
dev->detect = (blkdevdetect_t)detect; | ||||
dev->writeprotected = (blkdevwriteprotected_t)writeprotected; | ||||
dev->write = sdcarddisk_write; | ||||
dev->read = sdcarddisk_read; | ||||
dev->ioctl = sdcarddisk_ioctl; | ||||
dev->initialize = sdcarddisk_initialize; | ||||
dev->status = sdcarddisk_status; | ||||
} | ||||