diff options
author | Cristian Maglie <c.maglie@bug.st> | 2013-06-07 17:39:03 +0200 |
---|---|---|
committer | Cristian Maglie <c.maglie@bug.st> | 2013-06-07 17:39:03 +0200 |
commit | 842a235ec4352b4d4d040743a87bc7b69daef4f9 (patch) | |
tree | 09d15fa176de76e78fd239c4cc007d76aef96a1e /libraries/Bridge/FileIO.cpp.disabled | |
parent | 514b18bb059f86a7e9f125c529befa914a1cde48 (diff) |
Bridge: Added File I/O
Diffstat (limited to 'libraries/Bridge/FileIO.cpp.disabled')
-rw-r--r-- | libraries/Bridge/FileIO.cpp.disabled | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/libraries/Bridge/FileIO.cpp.disabled b/libraries/Bridge/FileIO.cpp.disabled deleted file mode 100644 index fc6d3df..0000000 --- a/libraries/Bridge/FileIO.cpp.disabled +++ /dev/null @@ -1,162 +0,0 @@ -/* - Copyright (c) 2013 Arduino LLC. All right reserved. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include <FileIO.h> - -File::File() : mode(255), filename(NULL) { - // Empty -} - -File::File(const char *_filename, uint8_t _mode) : mode(_mode) { - filename = new char[strlen(_filename)+1]; - strcpy(filename, _filename); -} - -File::operator bool() { - return (mode != 255); -} - -File::~File() { - if (filename) - delete[] filename; -} - -char toHex(uint8_t c) { - if (c<10) - return '0' + c; - else - return 'A' + c - 10; -} - -size_t File::write(uint8_t c) { - Process echo; - echo.begin("arduino-append"); - echo.addParameter(filename); - char chars[] = { '\\', 'x', toHex(c >> 4), toHex(c & 0x0F), '\0' }; - echo.addParameter(chars); - echo.run(); - return 1; -} - -size_t File::write(const uint8_t *buf, size_t size) { - Process echo; - echo.begin("arduino-append"); - echo.addParameter(filename); - echo.addParameter(" \"", true); - for (unsigned int i=0; i<size; i++) { - // slow but requires less memory - char c = buf[i]; - char chars[] = { '\\', 'x', toHex(c >> 4), toHex(c & 0x0F), '\0' }; - echo.addParameter(chars, true); - } - echo.addParameter("\"", true); - echo.run(); - return size; -} - -int File::read() { - return 1; -} - -int File::peek() { - return 1; -} - -int File::available() { - return 1; -} - -void File::flush() { -} - -//int read(void *buf, uint16_t nbyte) -//boolean seek(uint32_t pos) -//uint32_t position() -//uint32_t size() - -void File::close() { - mode = 255; -} - -char *File::name() { - return filename; -} - -//boolean isDirectory(void) -//File openNextFile(uint8_t mode = O_RDONLY); -//void rewindDirectory(void) - - - - - - -boolean SDClass::begin() { - return true; -} - -File SDClass::open(const char *filename, uint8_t mode) { - if (mode == FILE_READ) { - if (exists(filename)) - return File(filename, mode); - } - if (mode == FILE_WRITE) { - Process touch; - touch.begin(">"); - touch.addParameter(filename); - int res = touch.run(); - if (res == 0) - return File(filename, mode); - } - return File(); -} - -boolean SDClass::exists(const char *filepath) { - Process ls; - ls.begin("ls"); - ls.addParameter(filepath); - int res = ls.run(); - return (res == 0); -} - -boolean SDClass::mkdir(const char *filepath) { - Process mk; - mk.begin("mkdir"); - mk.addParameter("-p"); - mk.addParameter(filepath); - int res = mk.run(); - return (res == 0); -} - -boolean SDClass::remove(const char *filepath) { - Process rm; - rm.begin("rm"); - rm.addParameter(filepath); - int res = rm.run(); - return (res == 0); -} - -boolean SDClass::rmdir(const char *filepath) { - Process rm; - rm.begin("rmdir"); - rm.addParameter(filepath); - int res = rm.run(); - return (res == 0); -} - -SDClass SD; |