SDCard.hpp
1 //
2 // Created by xiong on 2021/6/1.
3 //
4 
5 #ifndef EMX_SDCard_HPP
6 #define EMX_SDCard_HPP
7 
8 #include "EmxCore.hpp"
9 
10 namespace Emx {
16  class SDCard {
17  public:
19  enum class StatE : uint8_t {
20  Rejected,
21  Inserted,
22  Normal,
23  Formatting,
24  };
26  enum class FileSystemE : uint8_t {
27  None,
28  Fat32,
29  Fat64,
30  Ntfs,
31  };
33  struct Info {
34  static const int MaxDevSize = 32;
36  bool rw;
38  uint32_t total;
39  uint32_t free;
40  uint32_t used;
41  char dev[MaxDevSize];
42  char mountPoint[EMX_MAX_PATH_SIZE];
43  };
44 
45  SDCard(int chn) : m_chn(chn) {}
46 
51  virtual ErrCodeE Mount() = 0;
52 
57  virtual ErrCodeE UnMount() = 0;
58 
63  virtual ErrCodeE Format() = 0;
64 
70  virtual ErrCodeE GetInfo(Info &info) = 0;
71 
76  virtual ErrCodeE Check() = 0;
77 
82  int GetChn() { return m_chn; }
83 
84  protected:
85  int m_chn;
86  };
87 
89 }
90 
91 #endif //EMX_SDCard_HPP
提供操作设备SD卡相关接口
Definition: SDCard.hpp:16
virtual ErrCodeE Mount()=0
挂载SD卡
virtual ErrCodeE UnMount()=0
卸载SD卡
virtual ErrCodeE Check()=0
检查SD卡是否读写正常
FileSystemE
文件系统类型
Definition: SDCard.hpp:26
int GetChn()
获取当前SD卡所属通道
Definition: SDCard.hpp:82
StatE
SD卡状态
Definition: SDCard.hpp:19
@ Inserted
已插入,未挂载
@ Formatting
格式化中
@ Normal
正常挂载运行
@ Rejected
未插入
SDCard(int chn)
Definition: SDCard.hpp:45
virtual ErrCodeE GetInfo(Info &info)=0
获取SD卡信息
int m_chn
Definition: SDCard.hpp:85
virtual ErrCodeE Format()=0
格式化SD卡
ErrCodeE
错误码定义
Definition: EmxTypeDef.hpp:29
Definition: EmxGpio.hpp:10
SD卡信息
Definition: SDCard.hpp:33
uint32_t free
空闲大小MB
Definition: SDCard.hpp:39
bool rw
SD卡是否可读写
Definition: SDCard.hpp:36
StatE stat
SD卡状态
Definition: SDCard.hpp:35
uint32_t total
总大小MB
Definition: SDCard.hpp:38
char mountPoint[EMX_MAX_PATH_SIZE]
设备挂载路径
Definition: SDCard.hpp:42
static const int MaxDevSize
设备名称最大长度
Definition: SDCard.hpp:34
FileSystemE fileSystem
文件系统类型
Definition: SDCard.hpp:37
char dev[MaxDevSize]
设备名称
Definition: SDCard.hpp:41
uint32_t used
已使用大小MB
Definition: SDCard.hpp:40