RXduino  1.20a
RXduinoマニュアル 最終更新日 平成26年6月29日
sdmmc.h
説明を見る。
1 /*******************************************************************************
2 * RXduinoライブラリ & 特電HAL
3 *
4 * このソフトウェアは特殊電子回路株式会社によって開発されたものです。
5 * 当社Webサイトを通じてダウンロードすることによって使用許諾されます。
6 * このファイルを第三者へ開示・再配布・貸与・譲渡することはできません。
7 * このソフトウェアはあるがままの状態で提供され、内容および動作についての保障はあ
8 * りません。弊社はファイルの内容および実行結果についていかなる責任も負いません。
9 * お客様は、お客様の製品開発のために当ソフトウェアのソースコードを自由に参照し、
10 * 引用していただくことができます。
11 * コンパイル・リンク後のオブジェクトファイル(ELF ファイルまたはMOT,SRECファイル)
12 * であって、デバッグ情報が削除されている場合は第三者に再配布することができます。
13 * (C) Copyright 2011-2014 TokushuDenshiKairo Inc. 特殊電子回路株式会社
14 * http://rx.tokudenkairo.co.jp/
15 *******************************************************************************/
16 
17 #ifndef __H_RXDUINO_SDMMC
18 #define __H_RXDUINO_SDMMC
19 /**************************************************************************/
25 #include "rxduino.h"
26 
27 #ifdef __cplusplus
28  extern "C" {
29 #endif
30 
31 #define SDMMC_LIBRARY_VERSION 0x01200000 // Version 1.20
32 #define SDMMC_LIBRARY_TIME 1402069288 // 2014/6/07 00:41:28
33 
34 #define FILE_BUFFER_SIZE 512
35 #define FILENAME_SIZE 256
36 
37 #define FILE_READ 0x01
38 #define FILE_WRITE 0x02
39 
40 typedef int FILE_MODE;
41 
42 class SDMMC;
43 
44 /*********************************************************************/
49 class File
50 {
51 private:
52  unsigned char rbuf[FILE_BUFFER_SIZE];
53  int rbuf_rptr;
54  int rbuf_datacount;
55  bool eof;
56  int rpos;
57 
58  char wbuf[FILE_BUFFER_SIZE];
59 
60  bool readbuf(); // ファイルからメモリ上のバッファへ読み込む
61 
62  void *handle;
63  int filesize;
64  char filename[FILENAME_SIZE];
65  bool isdir;
66  SDMMC *parent;
67  size_t print_number(unsigned long val,int base);
68 
69 public:
70 /*********************************************************************/
75  void close();
76 
77 /*********************************************************************/
81  bool available();
82 
83 /*********************************************************************/
87  int read();
88 
89 /*********************************************************************/
94  size_t write(unsigned char c);
95 
96 /*********************************************************************/
101  size_t write(const char *str);
102 
103 /*********************************************************************/
109  size_t write(unsigned char *buf,int len);
110 
111 /*********************************************************************/
115  void flush();
116 
117 /*********************************************************************/
122  unsigned char peek();
123 
124 /*********************************************************************/
128  unsigned long position();
129 
130 /*********************************************************************/
135  bool seek(unsigned long pos);
136 
137 /*********************************************************************/
142  size_t print(const char str[]);
143 
144 /*********************************************************************/
149  size_t print(String str);
150 
151 /*********************************************************************/
156  size_t print(const char c);
157 
158 /*********************************************************************/
168  size_t print(unsigned char c, int print_type=DEC);
169 
170 /*********************************************************************/
180  size_t print(int val, int print_type=DEC);
181 
182 /*********************************************************************/
192  size_t print(unsigned int val, int print_type=DEC);
193 
194 /*********************************************************************/
204  size_t print(long val, int print_type=DEC);
205 
206 /*********************************************************************/
216  size_t print(unsigned long val, int print_type=DEC);
217 
218 /*********************************************************************/
224  size_t print(double val, int fpdigit=2);
225 
226 /*********************************************************************/
231  size_t println(const char *str);
232 
233 /*********************************************************************/
238  size_t println(String str);
239 
240 /*********************************************************************/
245  size_t println(const char c);
246 
247 /*********************************************************************/
257  size_t println(unsigned char c, int print_type=DEC);
258 
259 /*********************************************************************/
269  size_t println(int val, int print_type=DEC);
270 
271 /*********************************************************************/
281  size_t println(unsigned int val, int print_type=DEC);
282 
283 /*********************************************************************/
293  size_t println(long val, int print_type=DEC);
294 
295 /*********************************************************************/
305  size_t println(unsigned long val, int print_type=DEC);
306 
307 /*********************************************************************/
313  size_t println(double val, int fpdigit=2);
314 
315 /*********************************************************************/
320  size_t println(void);
321 
322 /*********************************************************************/
326  unsigned long size();
327 
328 /*********************************************************************/
334  char *name();
335 
336 /*********************************************************************/
340  bool isDirectory();
341 
342 /*********************************************************************/
346  File openNextFile();
347 
348 /*********************************************************************/
352  void rewindDirectory();
353 
354  // 以下の関数やメンバ変数には、ユーザは操作しないこと
355  File(void *handle,int size,const char *name,bool isdir,SDMMC *parent);
356  operator int() {if(!handle) return 0; return 1;}
357  operator bool() {if(!handle) return false; return true;}
358 
359 };
360 
361 /*********************************************************************/
367 class SDMMC
368 {
369 private:
370  void *sdmmc_handle;
371 
372 public:
373 /*********************************************************************/
384  static unsigned long getVersion(version_info *vi);
385 
386  SDMMC();
387 
388 /*********************************************************************/
394  void begin();
395 
396 /*********************************************************************/
403  void begin(int cspin);
404 
405 /*********************************************************************/
411  void insert(bool ins);
412 
413 /*********************************************************************/
419  bool exists(const char *filename);
420 
421 /*********************************************************************/
427  bool mkdir(const char *pathname);
428 
429 /*********************************************************************/
438  File open(const char *filename, FILE_MODE mode = FILE_READ);
439 
440 /*********************************************************************/
446  bool remove(const char *filename);
447 
448 /*********************************************************************/
455  bool rename(const char *oldname, const char *newname);
456 
457 /*********************************************************************/
463  bool rmdir(const char *pathname);
464 };
465 
466 #ifdef __cplusplus
467  }
468 #endif
469 
470 #endif
size_t println(void)
改行コードのみ出力する
bool mkdir(const char *pathname)
ディレクトリを作成する
bool rename(const char *oldname, const char *newname)
ファイル名を変更する
size_t print(const char str[])
ファイルに文字列を書き込む
void begin()
メモリカードを使用するためにライブラリを初期化する
bool exists(const char *filename)
目的のファイルが存在するかどうか調べる
unsigned long position()
ファイルからの読み出し位置を取得する
bool available()
読み出せるデータがあるかどうか調べる
void close()
ファイルを閉じる
SDカードやMMCカードを操作する
Definition: sdmmc.h:367
bool rmdir(const char *pathname)
ディレクトリを削除する
char * name()
開いているファイルの名前を調べる
File openNextFile()
ディレクトリオブジェクトの場合、次のファイルオブジェクトを返す
unsigned char peek()
ファイルから読み出すデータの先頭の1バイトを覗き見る。ファイルの読み出しポインタには影響を与えない。
unsigned long size()
ファイルのサイズを調べる
Renesas RX62N/63N用のArduino互換ライブラリ
void insert(bool ins)
カードの挿入状態をライブラリに支持する
bool isDirectory()
開いているファイルオブジェクトが、ファイルか、ディレクトリかを調べる
static unsigned long getVersion(version_info *vi)
ライブラリのバージョン情報を取得する
void flush()
未書き込みのデータをファイルに書き込む
bool seek(unsigned long pos)
ファイルからの読み出し位置を移動する
size_t write(unsigned char c)
ファイルに1バイト書き込む
ファイルを扱うためのクラス
Definition: sdmmc.h:49
File open(const char *filename, FILE_MODE mode=FILE_READ)
指定されたファイルを開く
void rewindDirectory()
ディレクトリの検索を最初に戻す
バージョン情報構造体
Definition: tkdn_version.h:31
int read()
ファイルから1バイト読み込む