====== fs ====== Объект реализует работу с SD-картами. Класс написан по аналогии с модулем ''fs'' Node.js. Ввиду ограничений платформы, реализовать асинхронные обращения к карте памяти невозможно — все методы работают в синхронном режиме. Для подключения модуля, необходимо воспользоваться командой ''var fs = require('fs')''. Если вам необходимо обрабатывать файлы большого размера, следует использовать класс [[File]]. Этот класс поддерживает блочное чтение файлов, что позволит избежать ошибки нехватки памяти. func:: fs.appendFileSync(fileName, data) Дописывает в конец файла ''fileName'' данные ''data''. Возвращает ''true'' при успешной записи или ''false'', если запись не удалась. func:: fs.appendFile(fileName, data) Дописывает в конец файла ''fileName'' данные ''data''. Возвращает ''true'' при успешной записи или ''false'', если запись не удалась. Так как асинхронность не поддерживается из-за аппаратных ограничений, работает аналогично функции ''fs.appendFileSync''. func:: fs.pipe(source, destination, options) func:: fs.readdirSync([path]) Возвращает содержимое каталога ''path'' в виде массива. Если параметр ''path'' не передан — выводится информация о корневом каталоге. // Настаиваем SPI2 SPI2.setup({mosi:B15, miso:B14, sck:B13}); // Подключаем объект работы с файловой системой var fs = require("fs"); // Подключаем SD-карту E.connectSDCard(SPI2, P4 /*CS*/); // Выводим список файлов в корне карты print(fs.readdirSync()); /* [ "System Volume Information", "CXT.TXT", "1.wav", "index.htm", "headers.htm", "http.htm", "htmll.htm", "index2.htm", "index3.htm", "index4.htm", "index5.htm", "index6.htm", "index7.htm", "index8.htm", "index9.htm", "indexP2.htm", "indexP1.htm", "indexP3.htm", "Arduino.raw" ] */ func:: fs.readdir([path]) Возвращает содержимое каталога ''path'' в виде массива. Если параметр ''path'' не передан — выводится информация о корневом каталоге. Так как асинхронность не поддерживается из-за аппаратных ограничений, работает аналогично функции ''fs.readdirSync''. func:: fs.readFileSync(fileName) Функция возвращает содержимое файла ''fileName'' или ошибку. Учтите, размер возвращенных данных может занять всю память! Для работы с большими данными используйте класс [[File]]. // Настаиваем SPI2 SPI2.setup({mosi:B15, miso:B14, sck:B13}); // Подключаем объект работы с файловой системой var fs = require("fs"); // Подключаем SD-карту E.connectSDCard(SPI2, P4 /*CS*/); // Выводим список файлов в корне карты var files = fs.readdirSync(); // Выводим информацию, хранящуюся в 3-м файле print(fs.readFileSync(files[2])); /* Пример вывода: test */ func:: fs.readFile(fileName) Возвращает содержимое файла ''fileName'' или ошибку. Так как асинхронность не поддерживается из-за аппаратных ограничений, работает аналогично функции ''fs.readFileSync''. func:: fs.statSync(fileName) Возвращает объект со свойствами содержащими информацию о файле ''fileName''. Объект имеет свойства: * ''size'' — размер в байтах * ''dir'' — путь к файлу * ''mtime'' — объект [[Date]], содержащий время создания файла // Настаиваем SPI2 SPI2.setup({mosi:B15, miso:B14, sck:B13}); // Подключаем объект работы с файловой системой var fs = require("fs"); // Подключаем SD-карту E.connectSDCard(SPI2, P4 /*CS*/); // Выводим список файлов в корне карты var files = fs.readdirSync(); // Выводим информацию о 3-м файле print(fs.statSync(files[2])); /* Пример выводимой информации { "size": 131103, "dir": false, "mtime": { "ms": 949366800000 } } */ func:: fs.unlinkSync(fileName) Удаляет файл ''fileName'' и возвращает ''true'' при удачном удалении или ''false'', если удаление не произошло. func:: fs.unlink(fileName) Удаляет файл ''fileName'' и возвращает ''true'' при удачном удалении или ''false'', если удаление не произошло. Так как асинхронность не поддерживается из-за аппаратных ограничений, работает аналогично функции ''fs.unlinkSync''. func:: fs.writeFileSync(fileName, data) Записывает в файл ''fileName'' данных из параметра ''data''. Если файл существует — он будет перезаписан. Возвращает ''true'' в случае успешной записи или ошибку. // Настаиваем SPI2 SPI2.setup({mosi:B15, miso:B14, sck:B13}); // Подключаем объект работы с файловой системой var fs = require("fs"); // Подключаем SD-карту E.connectSDCard(SPI2, P4 /*CS*/); // Выводим список файлов в корне карты var files = fs.readdirSync(); // Выводим информацию о записи в файл данных print(fs.writeFileSync(files[2], 'new data')); /* Пример вывода: true - если запись была успешной */ func:: fs.writeFile(fileName, data) Записывает в файл ''fileName'' данных из параметра ''data''. Так как асинхронность не поддерживается из-за аппаратных ограничений, работает аналогично функции ''fs.writeFileSync''.