Объект реализует работу с SD-картами. Класс написан по аналогии с модулем fs Node.js. Ввиду ограничений платформы, реализовать асинхронные обращения к карте памяти невозможно — все методы работают в синхронном режиме. Для подключения модуля, необходимо воспользоваться командой var fs = require('fs').
Если вам необходимо обрабатывать файлы большого размера, следует использовать класс File. Этот класс поддерживает блочное чтение файлов, что позволит избежать ошибки нехватки памяти.
Дописывает в конец файла fileName данные data. Возвращает true при успешной записи или false, если запись не удалась.
Дописывает в конец файла fileName данные data. Возвращает true при успешной записи или false, если запись не удалась. Так как асинхронность не поддерживается из-за аппаратных ограничений, работает аналогично функции fs.appendFileSync.
Возвращает содержимое каталога 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" ] */
Возвращает содержимое каталога path в виде массива. Если параметр path не передан — выводится информация о корневом каталоге. Так как асинхронность не поддерживается из-за аппаратных ограничений, работает аналогично функции fs.readdirSync.
Функция возвращает содержимое файла 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 */
Возвращает содержимое файла fileName или ошибку. Так как асинхронность не поддерживается из-за аппаратных ограничений, работает аналогично функции fs.readFileSync.
Возвращает объект со свойствами содержащими информацию о файле 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 } } */
Удаляет файл fileName и возвращает true при удачном удалении или false, если удаление не произошло.
Удаляет файл fileName и возвращает true при удачном удалении или false, если удаление не произошло. Так как асинхронность не поддерживается из-за аппаратных ограничений, работает аналогично функции fs.unlinkSync.
Записывает в файл 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 - если запись была успешной */
Записывает в файл fileName данных из параметра data. Так как асинхронность не поддерживается из-за аппаратных ограничений, работает аналогично функции fs.writeFileSync.