Test
Dependencies: mbed-dev-OS5_10_4
SdCard/SdGlobals.cpp@0:014fad4dfb9d, 2020-08-07 (annotated)
- Committer:
- kevman
- Date:
- Fri Aug 07 07:24:21 2020 +0000
- Revision:
- 0:014fad4dfb9d
Test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kevman | 0:014fad4dfb9d | 1 | /*------------------------------------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 2 | Program Name: SDGlobals.cpp |
kevman | 0:014fad4dfb9d | 3 | Version: 1.x |
kevman | 0:014fad4dfb9d | 4 | Sprache: C++ |
kevman | 0:014fad4dfb9d | 5 | Compiler: mbed |
kevman | 0:014fad4dfb9d | 6 | Autors: UFa/PS |
kevman | 0:014fad4dfb9d | 7 | |
kevman | 0:014fad4dfb9d | 8 | Funktion: Globale Variablen für die SD-Card Zugriffe |
kevman | 0:014fad4dfb9d | 9 | |
kevman | 0:014fad4dfb9d | 10 | Modified: |
kevman | 0:014fad4dfb9d | 11 | 17.04.16 PS: entfernen der Stringklassen |
kevman | 0:014fad4dfb9d | 12 | |
kevman | 0:014fad4dfb9d | 13 | --------------------------------------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 14 | |
kevman | 0:014fad4dfb9d | 15 | #include "mbed.h" |
kevman | 0:014fad4dfb9d | 16 | |
kevman | 0:014fad4dfb9d | 17 | #include <stdio.h> |
kevman | 0:014fad4dfb9d | 18 | #include <algorithm> |
kevman | 0:014fad4dfb9d | 19 | |
kevman | 0:014fad4dfb9d | 20 | #include "SdGlobals.h" |
kevman | 0:014fad4dfb9d | 21 | #include "SdCard.h" |
kevman | 0:014fad4dfb9d | 22 | |
kevman | 0:014fad4dfb9d | 23 | #include "SDBlockDevice.h" |
kevman | 0:014fad4dfb9d | 24 | #include "FATFileSystem.h" |
kevman | 0:014fad4dfb9d | 25 | |
kevman | 0:014fad4dfb9d | 26 | // Globale Variablen und Klassen |
kevman | 0:014fad4dfb9d | 27 | |
kevman | 0:014fad4dfb9d | 28 | //SDFileSystem sd_x(PTE3, PTE1, PTE2, PTE4, "sd"); // MOSI, MISO, SCK, CS |
kevman | 0:014fad4dfb9d | 29 | SDBlockDevice bd( |
kevman | 0:014fad4dfb9d | 30 | MBED_CONF_SD_SPI_MOSI, |
kevman | 0:014fad4dfb9d | 31 | MBED_CONF_SD_SPI_MISO, |
kevman | 0:014fad4dfb9d | 32 | MBED_CONF_SD_SPI_CLK, |
kevman | 0:014fad4dfb9d | 33 | MBED_CONF_SD_SPI_CS); |
kevman | 0:014fad4dfb9d | 34 | |
kevman | 0:014fad4dfb9d | 35 | FATFileSystem fs("SDCard"); |
kevman | 0:014fad4dfb9d | 36 | |
kevman | 0:014fad4dfb9d | 37 | STR_FILE_NAMES FileNames; |
kevman | 0:014fad4dfb9d | 38 | |
kevman | 0:014fad4dfb9d | 39 | StorageCard clSdCard; |
kevman | 0:014fad4dfb9d | 40 | STR_SD_CARD SdCard; // Variablen Struktur fuer die SdCard |
kevman | 0:014fad4dfb9d | 41 | |
kevman | 0:014fad4dfb9d | 42 | char strFileRwBuf[512]; |
kevman | 0:014fad4dfb9d | 43 | |
kevman | 0:014fad4dfb9d | 44 | |
kevman | 0:014fad4dfb9d | 45 | bool g_SdInitSuccess; |
kevman | 0:014fad4dfb9d | 46 | |
kevman | 0:014fad4dfb9d | 47 | |
kevman | 0:014fad4dfb9d | 48 | // Funktionen |
kevman | 0:014fad4dfb9d | 49 | |
kevman | 0:014fad4dfb9d | 50 | /*-------------------------------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 51 | /*-------------------------------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 52 | Initialisieren der SD-FileSystem Klasse. |
kevman | 0:014fad4dfb9d | 53 | ---------------------------------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 54 | int InitSdFileSystem() |
kevman | 0:014fad4dfb9d | 55 | { |
kevman | 0:014fad4dfb9d | 56 | int FReturn; |
kevman | 0:014fad4dfb9d | 57 | |
kevman | 0:014fad4dfb9d | 58 | FReturn = false; |
kevman | 0:014fad4dfb9d | 59 | InitFileNames(); |
kevman | 0:014fad4dfb9d | 60 | |
kevman | 0:014fad4dfb9d | 61 | // OLD MySd = new SDFileSystem(PTE3, PTE1, PTE2, PTE4, "SDCard"); // MOSI, MISO, SCK, CS |
kevman | 0:014fad4dfb9d | 62 | // OLD MySd->disk_initialize(); |
kevman | 0:014fad4dfb9d | 63 | |
kevman | 0:014fad4dfb9d | 64 | g_SdInitSuccess = true; |
kevman | 0:014fad4dfb9d | 65 | if(g_SdInitSuccess == true) |
kevman | 0:014fad4dfb9d | 66 | { |
kevman | 0:014fad4dfb9d | 67 | // OLD Ret = CheckDiscStatus(); |
kevman | 0:014fad4dfb9d | 68 | FReturn = true; |
kevman | 0:014fad4dfb9d | 69 | } |
kevman | 0:014fad4dfb9d | 70 | |
kevman | 0:014fad4dfb9d | 71 | InitclSdCard(); |
kevman | 0:014fad4dfb9d | 72 | bd.init(); |
kevman | 0:014fad4dfb9d | 73 | fs.mount(&bd); |
kevman | 0:014fad4dfb9d | 74 | return(FReturn); |
kevman | 0:014fad4dfb9d | 75 | } |
kevman | 0:014fad4dfb9d | 76 | /*-------------------------------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 77 | InitFileNames: Zeichenfelder mit Dateinamen und Pfaden vorbelegen |
kevman | 0:014fad4dfb9d | 78 | ---------------------------------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 79 | void InitFileNames() |
kevman | 0:014fad4dfb9d | 80 | { |
kevman | 0:014fad4dfb9d | 81 | strcpy(FileNames.IniFileName, "/SDCard/ecmini.CFG"); |
kevman | 0:014fad4dfb9d | 82 | strcpy(FileNames.DevIdFileName,"/SDCard/DevIni.cfg"); |
kevman | 0:014fad4dfb9d | 83 | strcpy(FileNames.ParaFileName, "/SDCard/cfg/parameters.CFG"); |
kevman | 0:014fad4dfb9d | 84 | strcpy(FileNames.ConfigFileName,"/SDCard/cfg/config.CFG"); |
kevman | 0:014fad4dfb9d | 85 | strcpy(FileNames.DataPathName,"/SDCard/data/"); |
kevman | 0:014fad4dfb9d | 86 | strcpy(FileNames.SeqPathName,"/SDCard/scandat/"); |
kevman | 0:014fad4dfb9d | 87 | strcpy(FileNames.FileReadMode,"r+"); |
kevman | 0:014fad4dfb9d | 88 | strcpy(FileNames.FileWriteMode,"w+"); |
kevman | 0:014fad4dfb9d | 89 | strcpy(FileNames.FileAppendMode,"a"); |
kevman | 0:014fad4dfb9d | 90 | |
kevman | 0:014fad4dfb9d | 91 | strcpy(FileNames.AutoFileName,"/SDCard/autostart.CFG"); |
kevman | 0:014fad4dfb9d | 92 | } |
kevman | 0:014fad4dfb9d | 93 | /*-------------------------------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 94 | Initialisieren der SD-Card. Das Anlegen der |
kevman | 0:014fad4dfb9d | 95 | ---------------------------------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 96 | int CheckDiscStatus() |
kevman | 0:014fad4dfb9d | 97 | { |
kevman | 0:014fad4dfb9d | 98 | // OLD return(MySd->disk_status()); |
kevman | 0:014fad4dfb9d | 99 | return(true); |
kevman | 0:014fad4dfb9d | 100 | } |
kevman | 0:014fad4dfb9d | 101 | |
kevman | 0:014fad4dfb9d | 102 | /*-------------------------------------------------------------------------------------------------------- |
kevman | 0:014fad4dfb9d | 103 | Initialisieren der eigenen SD-Card Klasse. |
kevman | 0:014fad4dfb9d | 104 | ---------------------------------------------------------------------------------------------------------*/ |
kevman | 0:014fad4dfb9d | 105 | void InitclSdCard() |
kevman | 0:014fad4dfb9d | 106 | { |
kevman | 0:014fad4dfb9d | 107 | clSdCard.Init(); |
kevman | 0:014fad4dfb9d | 108 | } |
kevman | 0:014fad4dfb9d | 109 | |
kevman | 0:014fad4dfb9d | 110 |