mbed OS SDCard Driver for GR-PEACH.
Dependents: mbed-os-storage-access GR-PEACH_Digital_Signage GR-PEACH-mbed-os-storage-access
You can access it faster than using sd-driver as it is.
SDBlockDevice_GR_PEACH.h@0:4bc3a3f17825, 2017-03-16 (annotated)
- Committer:
- dkato
- Date:
- Thu Mar 16 05:55:07 2017 +0000
- Revision:
- 0:4bc3a3f17825
- Child:
- 1:98b088c91edd
first commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dkato | 0:4bc3a3f17825 | 1 | #ifndef MBED_SDFILESYSTEM_GR_PEACH_H |
dkato | 0:4bc3a3f17825 | 2 | #define MBED_SDFILESYSTEM_GR_PEACH_H |
dkato | 0:4bc3a3f17825 | 3 | |
dkato | 0:4bc3a3f17825 | 4 | #include "SDBlockDevice.h" |
dkato | 0:4bc3a3f17825 | 5 | |
dkato | 0:4bc3a3f17825 | 6 | /** |
dkato | 0:4bc3a3f17825 | 7 | * A class to communicate a SD |
dkato | 0:4bc3a3f17825 | 8 | */ |
dkato | 0:4bc3a3f17825 | 9 | class SDBlockDevice_GR_PEACH : public SDBlockDevice { |
dkato | 0:4bc3a3f17825 | 10 | public: |
dkato | 0:4bc3a3f17825 | 11 | |
dkato | 0:4bc3a3f17825 | 12 | /** |
dkato | 0:4bc3a3f17825 | 13 | * Constructor |
dkato | 0:4bc3a3f17825 | 14 | * |
dkato | 0:4bc3a3f17825 | 15 | * @param rootdir mount name |
dkato | 0:4bc3a3f17825 | 16 | */ |
dkato | 0:4bc3a3f17825 | 17 | SDBlockDevice_GR_PEACH() : SDBlockDevice(P8_5, P8_6, P8_3, P8_4), _sd_cd(P7_8), _connect(false) { |
dkato | 0:4bc3a3f17825 | 18 | // Set SPI clock rate to 20MHz for data transfer |
dkato | 0:4bc3a3f17825 | 19 | // It is necessary to change "private" of "SDBlockDevice.h" to "pretected". |
dkato | 0:4bc3a3f17825 | 20 | // _transfer_sck = 20000000; |
dkato | 0:4bc3a3f17825 | 21 | } |
dkato | 0:4bc3a3f17825 | 22 | |
dkato | 0:4bc3a3f17825 | 23 | /** |
dkato | 0:4bc3a3f17825 | 24 | * Check if a SD is connected |
dkato | 0:4bc3a3f17825 | 25 | * |
dkato | 0:4bc3a3f17825 | 26 | * @return true if a SD is connected |
dkato | 0:4bc3a3f17825 | 27 | */ |
dkato | 0:4bc3a3f17825 | 28 | bool connected() { |
dkato | 0:4bc3a3f17825 | 29 | if (_sd_cd.read() != 0) { |
dkato | 0:4bc3a3f17825 | 30 | _connect = false; |
dkato | 0:4bc3a3f17825 | 31 | } |
dkato | 0:4bc3a3f17825 | 32 | return _connect; |
dkato | 0:4bc3a3f17825 | 33 | } |
dkato | 0:4bc3a3f17825 | 34 | |
dkato | 0:4bc3a3f17825 | 35 | /** |
dkato | 0:4bc3a3f17825 | 36 | * Try to connect to a SD |
dkato | 0:4bc3a3f17825 | 37 | * |
dkato | 0:4bc3a3f17825 | 38 | * @return true if connection was successful |
dkato | 0:4bc3a3f17825 | 39 | */ |
dkato | 0:4bc3a3f17825 | 40 | bool connect() { |
dkato | 0:4bc3a3f17825 | 41 | if (_sd_cd.read() == 0) { |
dkato | 0:4bc3a3f17825 | 42 | _connect = true; |
dkato | 0:4bc3a3f17825 | 43 | } else { |
dkato | 0:4bc3a3f17825 | 44 | _connect = false; |
dkato | 0:4bc3a3f17825 | 45 | } |
dkato | 0:4bc3a3f17825 | 46 | return _connect; |
dkato | 0:4bc3a3f17825 | 47 | } |
dkato | 0:4bc3a3f17825 | 48 | |
dkato | 0:4bc3a3f17825 | 49 | |
dkato | 0:4bc3a3f17825 | 50 | private: |
dkato | 0:4bc3a3f17825 | 51 | DigitalIn _sd_cd; |
dkato | 0:4bc3a3f17825 | 52 | bool _connect; |
dkato | 0:4bc3a3f17825 | 53 | }; |
dkato | 0:4bc3a3f17825 | 54 | |
dkato | 0:4bc3a3f17825 | 55 | #endif |