/* Perform reads and writes on the SD card The address of this function is passed to Rtfs when the device is inserted */ int SDCARD_blkmedia_io(void *devhandle, void *pdrive, unsigned long sector, void *buffer, unsigned long count, int reading) { int r; unsigned long n_to_xfer; unsigned char *_buffer; // RTFS_ARGSUSED_PVOID((void *)devhandle); // RTFS_ARGSUSED_PVOID((void *)pdrive); SDCARD_Mount(); _buffer = (unsigned char *) buffer; do { if (count > SD_MAX_COUNT) n_to_xfer=SD_MAX_COUNT; else n_to_xfer=count; if (reading) r=rtsdcard_device_read(0, sector, n_to_xfer, _buffer); else r=rtsdcard_device_write(0, sector, n_to_xfer, _buffer); if (r<0) return -1; count-=n_to_xfer; if (count) { _buffer += n_to_xfer*512; sector += n_to_xfer; } } while (count); return 0; }
int main(void) { InitializeSystem(); if(!SDCARD_Mount()) { // Something went wrong with the SD card. We can't go any further Error(); } while(1) { if(mSwitch_User == SWITCH_PRESSED) { //WIFI_PerformGet((CHAR*)"waterworx.herokuapp.com", (CHAR*)"/", DisplayResponseBody); //WIFI_PerformPost((CHAR*)"waterworx.herokuapp.com", (CHAR*)"/", json, DisplayResponseBody); //mLED_Red_Toggle(); //DelayMs(1000); //mLED_Yellow_Toggle(); //DelayMs(1000); } if(mSwitch_Prog == SWITCH_PRESSED) { //mLED_Green_Toggle(); //DelayMs(1000); //mLED_White_Toggle(); //DelayMs(1000); /* mLED_Green_Toggle(); DelayMs(1000); mLED_White_Toggle(); DelayMs(1000); mLED_Red_Toggle(); DelayMs(1000); mLED_Yellow_Toggle(); DelayMs(1000);*/ /*mLED_White_On(); if(OpenFile("program.txt", &fp, FA_CREATE_NEW | FA_WRITE)) { WriteFile("You pressed the program button.", &fp); CloseFile(&fp); DelayMs(2000); mLED_White_Off(); } else { mLED_Red_On(); }*/ } /*if(mRtccGetIntFlag()) { //mLED_Red_Toggle(); mRtccClrIntFlag(); SPRINKLER_Initialize(); }*/ /*if(GetCurrentDateTimeAsDWORD() > GetDateTimeAsDWORD(&alarmTime)) { SPRINKLER_Initialize(); }*/ TCPIP_PerformStackTasks(); //SERIALUSB_ProcessTasks(); } }