Changeset 321 for EcnlProtoTool/trunk/mrbgems/mruby-arduino/src/sSdCard.c
- Timestamp:
- Aug 23, 2017, 9:27:43 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/mrbgems/mruby-arduino/src/sSdCard.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r270 r321 1 1 /* 2 * SD ã«ã¼ãé¢é£2 * SDカード関連 3 3 * 4 4 * Copyright (c) 2016 Wakayama.rb Ruby Board developers … … 21 21 22 22 /******************************************************/ 23 /* ãã¡ã¤ã«ãåå¨ãããã©ãã調ã¹ã: SD_exists*/23 /*ファイルが存在するかどうか調べる: SD_exists*/ 24 24 /* SD_exists( filename )*/ 25 /* filename: 調ã¹ããã¡ã¤ã«å*/26 /**/ 27 /* æ»ãå¤*/28 /* åå¨ãã: 1, åå¨ããªã: 0*/25 /* filename: 調べるファイル名*/ 26 /**/ 27 /* 戻り値*/ 28 /* 存在する: 1, 存在しない: 0*/ 29 29 /******************************************************/ 30 30 mrb_value mrb_sdcard_exists(mrb_state *mrb, mrb_value self) … … 46 46 47 47 /******************************************************/ 48 /* ãã£ã¬ã¯ããªãä½æãã: SD_mkdir*/48 /* ディレクトリを作成する: SD_mkdir*/ 49 49 /* SD_mkdir( dirname )*/ 50 /* dirname: ä½æãããã£ã¬ã¯ããªå*/51 /**/ 52 /* æ»ãå¤*/53 /* æå: 1, 失æ: 0*/50 /* dirname: 作成するディレクトリ名*/ 51 /**/ 52 /* 戻り値*/ 53 /* 成功: 1, 失敗: 0*/ 54 54 /******************************************************/ 55 55 mrb_value mrb_sdcard_mkdir(mrb_state *mrb, mrb_value self) … … 71 71 72 72 /******************************************************/ 73 /* ãã¡ã¤ã«ãåé¤ãã: SD_remove*/73 /* ファイルを削除する: SD_remove*/ 74 74 /* SD_remove( filename )*/ 75 /* filename: åé¤ãããã¡ã¤ã«å*/76 /**/ 77 /* æ»ãå¤*/78 /* æå: 1, 失æ: 0*/75 /* filename: 削除するファイル名*/ 76 /**/ 77 /* 戻り値*/ 78 /* 成功: 1, 失敗: 0*/ 79 79 /******************************************************/ 80 80 mrb_value mrb_sdcard_remove(mrb_state *mrb, mrb_value self) … … 96 96 97 97 /******************************************************/ 98 /* ãã¡ã¤ã«ãã³ãã¼ãã: SD_copy*/98 /* ファイルをコピーする: SD_copy*/ 99 99 /* SD_copy( srcfilename, distfilename )*/ 100 /* srcfilename: ã³ãã¼å 101 ãã¡ã¤ã«å*/ 102 /* distfilename: ã³ãã¼å 103 ãã¡ã¤ã«å*/ 104 /**/ 105 /* æ»ãå¤*/ 106 /* æå: 1, 失æ: 0*/ 100 /* srcfilename: コピー元ファイル名*/ 101 /* distfilename: コピー先ファイル名*/ 102 /**/ 103 /* 戻り値*/ 104 /* 成功: 1, 失敗: 0*/ 107 105 /******************************************************/ 108 106 mrb_value mrb_sdcard_copy(mrb_state *mrb, mrb_value self) … … 124 122 } 125 123 126 /* æ¢åã®ãã¡ã¤ã«ãã³ãã¼ãã*/124 /*既存のファイルをコピーする*/ 127 125 File *s = &Fp[0]; 128 126 File *d = &Fp[1]; … … 147 145 148 146 /******************************************************/ 149 /* ãã£ã¬ã¯ããªãåé¤ãã: SD_rmdir*/147 /* ディレクトリを削除する: SD_rmdir*/ 150 148 /* SD_rmdir( dirname )*/ 151 /* dirname: åé¤ãããã£ã¬ã¯ããªå*/152 /**/ 153 /* æ»ãå¤*/154 /* æå: 1, 失æ: 0*/149 /* dirname: 削除するディレクトリ名*/ 150 /**/ 151 /* 戻り値*/ 152 /* 成功: 1, 失敗: 0*/ 155 153 /******************************************************/ 156 154 mrb_value mrb_sdcard_rmdir(mrb_state *mrb, mrb_value self) … … 172 170 173 171 /******************************************************/ 174 /* ãã¡ã¤ã«ããªã¼ãã³ãã¾ã: SD_open*/172 /* ファイルをオープンします: SD_open*/ 175 173 /* SD_open( number, filename[, mode] )*/ 176 /* number: ãã¡ã¤ã«çªå· 0 ã¾ãã¯1*/177 /* filename: ãã¡ã¤ã«å(8.3å½¢å¼)*/174 /* number: ファイル番号 0 または 1*/ 175 /* filename: ファイル名(8.3形式)*/ 178 176 /* mode: 0:Read, 1:Append, 2:New Create*/ 179 /* æ»ãå¤*/180 /* æå: çªå·, 失æ: -1*/177 /* 戻り値*/ 178 /* 成功: 番号, 失敗: -1*/ 181 179 /******************************************************/ 182 180 mrb_value mrb_sdcard_open(mrb_state *mrb, mrb_value self) … … 196 194 197 195 if (mode == 2) { 198 /* æ°è¦æ¸ãè¾¼ã¿*/196 /*新規書き込み*/ 199 197 if (SD_exists(str) == true) { 200 198 SD_remove(str); … … 221 219 222 220 /******************************************************/ 223 /* open ãããã¡ã¤ã«ãã¯ãã¼ãºãã¾ã: SD_close*/221 /* openしたファイルをクローズします: SD_close*/ 224 222 /* SD_close( number )*/ 225 /* number: ãã¡ã¤ã«çªå· 0 ã¾ãã¯1*/223 /* number: ファイル番号 0 または 1*/ 226 224 /******************************************************/ 227 225 mrb_value mrb_sdcard_close(mrb_state *mrb, mrb_value self) … … 235 233 } 236 234 237 return mrb_nil_value(); /* æ»ãå¤ã¯ç¡ãã§ããã*/238 } 239 240 /******************************************************/ 241 /* open ãããã¡ã¤ã«ãã1ãã¤ãèªã¿è¾¼ã¿ã¾ã: SD_read*/235 return mrb_nil_value(); /*戻り値は無しですよ。*/ 236 } 237 238 /******************************************************/ 239 /* openしたファイルから1バイト読み込みます: SD_read*/ 242 240 /* SD_read( number )*/ 243 /* number: ãã¡ã¤ã«çªå· 0 ã¾ãã¯1*/244 /* æ»ãå¤*/245 /* 0x00 ï½0xFFãè¿ãããã¡ã¤ã«ã®æå¾ã ã£ãã-1ãè¿ãã*/241 /* number: ファイル番号 0 または 1*/ 242 /* 戻り値*/ 243 /* 0x00~0xFFが返る。ファイルの最後だったら-1が返る。*/ 246 244 /******************************************************/ 247 245 mrb_value mrb_sdcard_read(mrb_state *mrb, mrb_value self) … … 260 258 261 259 /******************************************************/ 262 /* open ãããã¡ã¤ã«ã®èªã¿åºãä½ç½®ã移åãã: SD_seek*/260 /* openしたファイルの読み出し位置を移動する: SD_seek*/ 263 261 /* SD_seek( number, byte )*/ 264 /* number: ãã¡ã¤ã«çªå· 0 ã¾ãã¯1*/265 /* byte: seek ãããã¤ãæ°(-1)ã§ãã¡ã¤ã«ã®æå¾ã«ç§»åãã*/266 /* æ»ãå¤*/267 /* æå: 1, 失æ: 0*/262 /* number: ファイル番号 0 または 1*/ 263 /* byte: seekするバイト数(-1)でファイルの最後に移動する*/ 264 /* 戻り値*/ 265 /* 成功: 1, 失敗: 0*/ 268 266 /******************************************************/ 269 267 mrb_value mrb_sdcard_seek(mrb_state *mrb, mrb_value self) … … 291 289 292 290 /******************************************************/ 293 /* open ãããã¡ã¤ã«ã«ãã¤ããªãã¼ã¿ãæ¸ãè¾¼ã: SD_write*/291 /* openしたファイルにバイナリデータを書き込む: SD_write*/ 294 292 /* SD_write( number, buf, len )*/ 295 /* number: ãã¡ã¤ã«çªå· 0 ã¾ãã¯1*/296 /* buf: æ¸ãè¾¼ããã¼ã¿*/297 /* len: æ¸ãè¾¼ããã¼ã¿ãµã¤ãº*/298 /* æ»ãå¤*/299 /* å®éã«æ¸ãããã¤ãæ°*/293 /* number: ファイル番号 0 または 1*/ 294 /* buf: 書き込むデータ*/ 295 /* len: 書き込むデータサイズ*/ 296 /* 戻り値*/ 297 /* 実際に書いたバイト数*/ 300 298 /******************************************************/ 301 299 mrb_value mrb_sdcard_write(mrb_state *mrb, mrb_value self) … … 318 316 319 317 /******************************************************/ 320 /* open ãããã¡ã¤ã«ã®æ¸ãè¾¼ã¿ããã©ãã·ã¥ãã¾ã: SD_flush*/318 /* openしたファイルの書き込みをフラッシュします: SD_flush*/ 321 319 /* SD_flush( number )*/ 322 /* number: ãã¡ã¤ã«çªå· 0 ã¾ãã¯1*/320 /* number: ファイル番号 0 または 1*/ 323 321 /******************************************************/ 324 322 mrb_value mrb_sdcard_flush(mrb_state *mrb, mrb_value self) … … 332 330 } 333 331 334 return mrb_nil_value(); /* æ»ãå¤ã¯ç¡ãã§ããã*/335 } 336 337 /******************************************************/ 338 /* open ãããã¡ã¤ã«ã®ãµã¤ãºãåå¾ãã¾ã: SD_size*/332 return mrb_nil_value(); /*戻り値は無しですよ。*/ 333 } 334 335 /******************************************************/ 336 /* openしたファイルのサイズを取得します: SD_size*/ 339 337 /* SD_size( number )*/ 340 /* number: ãã¡ã¤ã«çªå· 0 ã¾ãã¯1*/341 /**/ 342 /* æ»ãå¤*/343 /* ãã¡ã¤ã«ãµã¤ãº*/338 /* number: ファイル番号 0 または 1*/ 339 /**/ 340 /* 戻り値*/ 341 /* ファイルサイズ*/ 344 342 /******************************************************/ 345 343 mrb_value mrb_sdcard_size(mrb_state *mrb, mrb_value self) … … 358 356 359 357 /******************************************************/ 360 /* open ãããã¡ã¤ã«ã®seekä½ç½®ãåå¾ãã¾ã: SD_position*/358 /* openしたファイルのseek位置を取得します: SD_position*/ 361 359 /* SD_position( number )*/ 362 /* number: ãã¡ã¤ã«çªå· 0 ã¾ãã¯1*/363 /**/ 364 /* æ»ãå¤*/365 /* ã·ã¼ã¯ä½ç½®*/360 /* number: ファイル番号 0 または 1*/ 361 /**/ 362 /* 戻り値*/ 363 /* シーク位置*/ 366 364 /******************************************************/ 367 365 mrb_value mrb_sdcard_position(mrb_state *mrb, mrb_value self) … … 380 378 381 379 /******************************************************/ 382 /* ã©ã¤ãã©ãªãå®ç¾©ãã¾ã*/380 /* ライブラリを定義します*/ 383 381 /******************************************************/ 384 382 int sdcard_Init(mrb_state *mrb) 385 383 { 386 /* æ¥ä»ã¨æå»ãè¿ãé¢æ°ãç»é²*/384 /*日付と時刻を返す関数を登録*/ 387 385 /*SdFile::dateTimeCallback( &SD_DateTime );*/ 388 386 … … 408 406 409 407 /******************************************************/ 410 /* æ¥ä»ã¨æå»ãè¿ãã³ã¼ã«ããã¯é¢æ°*/408 /* 日付と時刻を返すコールバック関数*/ 411 409 /******************************************************/ 412 410 void SD_DateTime(uint16_t *date, uint16_t *time) … … 427 425 second = tm->tm_sec; 428 426 429 /* FAT_DATE ãã¯ãã§ãã£ã¼ã«ããåãã¦æ¥ä»ãè¿ã*/427 /* FAT_DATEマクロでフィールドを埋めて日付を返す*/ 430 428 *date = (year - 1980) << 9 | month << 5 | day; 431 429 432 /* FAT_TIME ãã¯ãã§ãã£ã¼ã«ããåãã¦æéãè¿ã*/430 /* FAT_TIMEマクロでフィールドを埋めて時間を返す*/ 433 431 *time = hour << 11 | minute << 5 | second >> 1; 434 432 }
Note:
See TracChangeset
for help on using the changeset viewer.