Объект реализует работу с 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
.