====== @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'));