diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-03-26 01:04:10 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-03-26 01:04:10 +0000 |
commit | 54150a8f62d57bd3af5efce1439ba3c29e20f07f (patch) | |
tree | 4c791787398c9f76ccd9c8a56e1dd139c2a4e8e4 /apps/vsn/sdcard | |
parent | c62abcf9c8c26757ac5e6fbf0fd9813f1ba087a6 (diff) | |
download | nuttx-54150a8f62d57bd3af5efce1439ba3c29e20f07f.tar.gz nuttx-54150a8f62d57bd3af5efce1439ba3c29e20f07f.tar.bz2 nuttx-54150a8f62d57bd3af5efce1439ba3c29e20f07f.zip |
Incorporate changes from Uros Platise
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3419 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/vsn/sdcard')
-rw-r--r-- | apps/vsn/sdcard/sdcard.c | 51 |
1 files changed, 35 insertions, 16 deletions
diff --git a/apps/vsn/sdcard/sdcard.c b/apps/vsn/sdcard/sdcard.c index bf3e82a07..2f6c44f89 100644 --- a/apps/vsn/sdcard/sdcard.c +++ b/apps/vsn/sdcard/sdcard.c @@ -48,13 +48,13 @@ # include <nuttx/mmcsd.h> #endif - +// TODO get the structure out from the slot number +static FAR struct sdio_dev_s *sdio = NULL; /* Create device device for the SDIO-based MMC/SD block driver */ int sdcard_start(int slotno) { - FAR struct sdio_dev_s *sdio; int ret; /* First, get an instance of the SDIO interface */ @@ -89,22 +89,41 @@ int sdcard_start(int slotno) int sdcard_main(int argc, char *argv[]) { - int slotno; + int slotno = 0; - if (argc == 3) { - slotno = atoi(argv[2]); + if (argc >= 2) { - if (!strcmp(argv[1], "start")) { - return sdcard_start(slotno); - } - else if (!strcmp(argv[1], "stop")) { - } - else if (!strcmp(argv[1], "insert")) { - } - else if (!strcmp(argv[1], "eject")) { + /* The 3rd argument is expected to be a slot number, if given */ + if (argc==3) + slotno = atoi(argv[2]); + + /* Commands */ + + if (!strcmp(argv[1], "start")) { + return sdcard_start(slotno); + } + else if (!strcmp(argv[1], "stop")) { + fprintf(stderr, "Not implemented yet\n"); + } + else if (!strcmp(argv[1], "insert")) { + if (sdio) { + return sdio_mediachange(sdio, true); + } + } + else if (!strcmp(argv[1], "eject")) { + if (sdio) { + return sdio_mediachange(sdio, false); + } + } + else if (!strcmp(argv[1], "status")) { + printf("SDcard #%d Status:\n", slotno); +#ifndef CONFIG_MMCSD_HAVECARDDETECT + printf("\t - Without SDcard detect capability\n"); +#endif + return 0; + } } - } - printf("%s: <start" /*|stop|insert|eject*/ "> <slotno>\n", argv[0]); - return -1; + printf("%s: <start|stop|insert|eject|status> {slotno}\n", argv[0]); + return -1; } |