library for IZU2022

Dependencies:   mbed mpu9250_i2c IM920 BMP180 GPS millis

Dependents:   IZU2022

main.cpp

Committer:
ryood
Date:
2016-11-22
Revision:
1:690378b5f48a
Parent:
0:effffaacd967
Child:
2:3f286265fade

File content as of revision 1:690378b5f48a:

/*
 * SDFileSystem Binary R/W Test
 * 
 * Library
 * SDFileSystem: https://developer.mbed.org/users/neilt6/code/SDFileSystem/ Revision:26
 * mbed: Revision: 124
 *
 * 2016.11.22 created
 *
 */
 
#include "mbed.h"
#include "SDFileSystem.h"

//SDFileSystem sd(D11, D12, D13, D10, "sd", NC, SDFileSystem::SWITCH_NONE, 25000000);   // mosi, miso, sclk, cs
SDFileSystem sd(PC_12, PC_11, PC_10, PA_14, "sd", NC, SDFileSystem::SWITCH_NONE, 25000000); // SPI3

struct {
    uint8_t x;
    uint8_t y;
    uint8_t z;
} data, rdata;
    
int main()
{
    FileHandle* file;
    
    data.x = 0xff;
    data.y = 0x55;
    data.z = 0xaa;
    
    //Mount the filesystem
    sd.mount();
    
    //Perform a write test
    printf("\nWriting binary data to SD card...");
    file = sd.open("Test File.bin", O_WRONLY | O_CREAT | O_TRUNC);
    if (file != NULL)
    {
        if (file->write(&data, sizeof(data)) != sizeof(data))
        {
            error("write error!\n");
        }
        if (file->close())
        {
            printf("failed to close file!\n");
        }
        else
        {
            printf("done!\n");
        }
    } 
    else
    {
        printf("failed to create file!\n");
    }
    
    //Perform a read test
    printf("\nReading binary data from SD card...");
    file = sd.open("Test File.bin", O_RDONLY);
    if (file != NULL)
    {
        if (file->read(&rdata, sizeof(rdata)) != sizeof(rdata))
        {
            error("read error!\n");
        }
        if (file->close())
        {
            printf("failed to close file!\n");
        }
        else
        {
            printf("done! x:%02x y:%02x z:%02x\n", rdata.x, rdata.y, rdata.z);
        }
    } 
    else
    {
        printf("failed to open file!\n");
    }
    
    //Unmount the filesystem
    sd.unmount();
}