library for IZU2022

Dependencies:   mbed mpu9250_i2c IM920 BMP180 GPS millis

Dependents:   IZU2022

Committer:
ryood
Date:
Tue Nov 22 07:23:12 2016 +0000
Revision:
0:effffaacd967
Child:
1:690378b5f48a
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryood 0:effffaacd967 1 /*
ryood 0:effffaacd967 2 * SDFileSystem Binary R/W Test
ryood 0:effffaacd967 3 *
ryood 0:effffaacd967 4 * Library
ryood 0:effffaacd967 5 * SDFileSystem: https://developer.mbed.org/users/neilt6/code/SDFileSystem/ Revision:26
ryood 0:effffaacd967 6 * mbed: Revision: 124
ryood 0:effffaacd967 7 *
ryood 0:effffaacd967 8 * 2016.11.22 created
ryood 0:effffaacd967 9 *
ryood 0:effffaacd967 10 */
ryood 0:effffaacd967 11
ryood 0:effffaacd967 12 #include "mbed.h"
ryood 0:effffaacd967 13 #include "SDFileSystem.h"
ryood 0:effffaacd967 14
ryood 0:effffaacd967 15 SDFileSystem sd(D11, D12, D13, D10, "sd", NC, SDFileSystem::SWITCH_NONE, 25000000);
ryood 0:effffaacd967 16
ryood 0:effffaacd967 17 struct {
ryood 0:effffaacd967 18 uint8_t x;
ryood 0:effffaacd967 19 uint8_t y;
ryood 0:effffaacd967 20 uint8_t z;
ryood 0:effffaacd967 21 } data, rdata;
ryood 0:effffaacd967 22
ryood 0:effffaacd967 23 int main()
ryood 0:effffaacd967 24 {
ryood 0:effffaacd967 25 FileHandle* file;
ryood 0:effffaacd967 26
ryood 0:effffaacd967 27 data.x = 0xff;
ryood 0:effffaacd967 28 data.y = 0x55;
ryood 0:effffaacd967 29 data.z = 0xaa;
ryood 0:effffaacd967 30
ryood 0:effffaacd967 31 //Mount the filesystem
ryood 0:effffaacd967 32 sd.mount();
ryood 0:effffaacd967 33
ryood 0:effffaacd967 34 //Perform a write test
ryood 0:effffaacd967 35 printf("\nWriting binary data to SD card...");
ryood 0:effffaacd967 36 file = sd.open("Test File.bin", O_WRONLY | O_CREAT | O_TRUNC);
ryood 0:effffaacd967 37 if (file != NULL)
ryood 0:effffaacd967 38 {
ryood 0:effffaacd967 39 if (file->write(&data, sizeof(data)) != sizeof(data))
ryood 0:effffaacd967 40 {
ryood 0:effffaacd967 41 error("write error!\n");
ryood 0:effffaacd967 42 }
ryood 0:effffaacd967 43 if (file->close())
ryood 0:effffaacd967 44 {
ryood 0:effffaacd967 45 printf("failed to close file!\n");
ryood 0:effffaacd967 46 }
ryood 0:effffaacd967 47 else
ryood 0:effffaacd967 48 {
ryood 0:effffaacd967 49 printf("done!\n");
ryood 0:effffaacd967 50 }
ryood 0:effffaacd967 51 }
ryood 0:effffaacd967 52 else
ryood 0:effffaacd967 53 {
ryood 0:effffaacd967 54 printf("failed to create file!\n");
ryood 0:effffaacd967 55 }
ryood 0:effffaacd967 56
ryood 0:effffaacd967 57 //Perform a read test
ryood 0:effffaacd967 58 printf("\nReading binary data from SD card...");
ryood 0:effffaacd967 59 file = sd.open("Test File.bin", O_RDONLY);
ryood 0:effffaacd967 60 if (file != NULL)
ryood 0:effffaacd967 61 {
ryood 0:effffaacd967 62 if (file->read(&rdata, sizeof(rdata)) != sizeof(rdata))
ryood 0:effffaacd967 63 {
ryood 0:effffaacd967 64 error("read error!\n");
ryood 0:effffaacd967 65 }
ryood 0:effffaacd967 66 if (file->close())
ryood 0:effffaacd967 67 {
ryood 0:effffaacd967 68 printf("failed to close file!\n");
ryood 0:effffaacd967 69 }
ryood 0:effffaacd967 70 else
ryood 0:effffaacd967 71 {
ryood 0:effffaacd967 72 printf("done! x:%02x y:%02x z:%02x\n", rdata.x, rdata.y, rdata.z);
ryood 0:effffaacd967 73 }
ryood 0:effffaacd967 74 }
ryood 0:effffaacd967 75 else
ryood 0:effffaacd967 76 {
ryood 0:effffaacd967 77 printf("failed to open file!\n");
ryood 0:effffaacd967 78 }
ryood 0:effffaacd967 79
ryood 0:effffaacd967 80 //Unmount the filesystem
ryood 0:effffaacd967 81 sd.unmount();
ryood 0:effffaacd967 82 }