====== @amperka/card-reader ======
Библиотека для работы с [[amp>product/troyka-sd?utm_source=man&utm_campaign=troyka-sd&utm_medium=wiki|SD картридером]]. Она почти полностью копирует библиотеку [[js:fs|fs]], но дополнительно предоставляет несколько удобных функций.
===== Функции модуля =====
func:: connect(cs)
Возвращает новый объект ''CardReader'' для работы с SD картридером на пине ''cs''. При этом задействуется интерфейс SPI2, для которого имеются отдельные тройка-разъёмы на [[amp>product/arduino-troyka-slot-shield?utm_source=man&utm_campaign=troyka-sd&utm_medium=wiki|Slot Shield]] и [[amp>product/arduino-troyka-shield?utm_source=man&utm_campaign=troyka-sd&utm_medium=wiki|Troyka Shield]].
func:: connect({spi, cs})
Возвращает новый объект ''CardReader'' для работы с SD картридером по интерфейсу ''spi'' на пине ''cs''.
class:: CardReader
Класс-картридер. Для создания нового объекта, используйте функцию ''connect''.
func:: CardReader.appendFile(fileName, data)
Дописывает в конец файла ''fileName'' данные ''data''. Возвращает ''true'' при успешной записи или ''false'', если запись не удалась.
func:: CardReader.readDir(path)
Возвращает содержимое каталога ''path'' в виде массива. Если параметр ''path'' не передан — выводится информация о корневом каталоге.
func:: CardReader.readFile(fileName)
Функция возвращает содержимое файла ''fileName'' или ошибку. Учтите, размер возвращенных данных может занять всю память! Для работы с большими данными используйте класс [[File]].
func:: CardReader.stat(fileName)
Возвращает объект со свойствами содержащими информацию о файле ''fileName''. Объект имеет свойства:
* ''size'' — размер в байтах
* ''dir'' — путь к файлу
* ''mtime'' — объект [[Date]], содержащий время создания файла
func:: CardReader.unlink(fileName)
Удаляет файл ''fileName'' и возвращает ''true'' при удачном удалении или ''false'', если удаление не произошло.
func:: CardReader.writeFile(fileName, data)
Записывает в файл ''fileName'' данных из параметра ''data''. Если файл существует — он будет перезаписан. Возвращает ''true'' в случае успешной записи или ошибку.
func:: CardReader.readRandomFile(path)
Возвращает содержимое произвольного файла в папке ''path''.
func:: CardReader.isDirectory(fileName)
Возвращает ''true'', если ''fileName'' является каталогом.
===== Пример =====
// Подключим SD картридер, кнопку и пьезопищалку.
var sdCard = require('@amperka/card-reader').connect(P8);
// создадим новый файл с именем «new_data.txt» и запишем в него строку «IoT will save the world».
sdCard.writeFile('new_data.txt', 'IoT will save the world.');
// допишем в файл «new_data.txt» строку «Iskra JS».
sdCard.appendFile('new_data.txt', 'Iskra JS');
// прочитать содержимое файла «new_data.txt».
console.log(sdCard.readFile('new_data.txt'));