====== E ====== class:: E() Объект содержит различные вспомогательные методы специфичные для платформы Espruino. event:: E.on('init', callback) Возникает сразу после старта работы, непосредственно после загрузки сохранённого состояния интерпретатора в оперативную память. Параметр ''callback'' — функция обратного вызова, запускаемая при возникновении события. E.on('init', function() { console.log("Hello World!"); }); Подписка на событие имеет смысл только с последующим вызовом ''[[builtins#save|save]]'', т.к. на текущую сессию она не влияет. func:: E.clip(x, min, max) Возвращает значение параметра ''x'', если оно не выходит за пределы диапазона от ''min'' до ''max''. Если значение ''x'' меньше минимального, возвращается ''min'', если больше максимального, то ''max''. Все параметры — числа с плавающей точкой. E.clip(3.5, 2.1, 5.2); // Вернет 3.5, так как "x" лежит в диапазоне от min до max E.clip(1.1, 2.1, 5.2); // Вернет 2.1, так как "x" меньше минимального E.clip(5.3, 2.1, 5.2); // Вернет 5.2, так как "x" больше максимального func:: E.connectSDCard(spi, csPin) Настраивает файловую систему для работы с SD-картой через методы ''E.openFile()'' и ''require('fs')*''. В качестве параметров передаются настроенный объект SPI и контакт CS. var spi = new SPI(); spi.setup({mosi:C7,miso:C8,sck:C9}); E.connectSDCard(spi,C6); console.log(require("fs").readdirSync()); func:: E.convolve(arr1, arr2, offset) Возвращает результат свертки последовательностей переменных ''arr1'' и ''arr2'' (массивы), со сдвигом от начала ''offsett''. func:: E.dumpStr() func:: E.dumpTimers() func:: E.enableWatchdog(timeout) func:: E.FFT(arrReal, arrImage, inverse) func:: E.getAnalogVRef() Функция возвращает значение опорного напряжения АЦП. Используется для расчета напряжения на аналоговом входе. Если необходима высокая точность, считайте значение несколько раз и усредните. analogRead(A0) * E.getAnalogVRef(); func:: E.getErrorFlags() Возвращает флаги ошибок в виде массива строк, после чего сбрасывает их. Возможные значения флагов: * ''FIFO_FULL'' — буфер FIFO переполнен, данные потеряны. Может возникать при setWatch или при получении символов. * ''BUFFER_FULL'' — заполнен буфер и данные потеряны. Может возникать при взаимодействии по протоколам http, последовательному порту и другим, использующих потоки. * ''CALLBACK'' — функция обратного вызова (''setWatch'', ''setInterval'', ''on('data',...)'') содержит ошибку и будет проигнорирована. * ''LOW_MEMORY'' — свободной памяти очень мало, будет вызван сборщик мусора и очищена история команд. * ''MEMORY'' — свободная память закончилась. func:: E.getSizeOf(v, depth) Возвращает занимаемый переменной ''v'' размер памяти в блоках. Переменная может быть как простого типа, массивом или объектом (функцией). При этом рассчитывается размер занимаемой памяти для всего объекта (функции). В случае использования рекурсии, ее глубина задается параметром ''depth''. func:: E.getTemperature() Возвращает температуру микроконтроллера в градусах Цельсия. func:: E.HSBtoRGB(hue, sat, bri) Конвертирует пространство цветов HSB(hue, saturation, brightness) в RGB(red, green, blue). Возвращает 24-х битное число типа ''0xBBGGRR''. func:: E.hwRand() Генерирует и возвращает случайное число. В отличии от псевдослучайной ''Math.random()'', функция использует значение опорного напряжения, случайность которого усиливается булевой математикой. func:: E.interpolate(array, index) func:: E.interpolate2d(array, width, x, y) func:: E.mapInPlace(from, to, map, bits) func:: E.nativeCall(addr, sig, data) func:: E.openFile(path, mode) func:: E.reverseByte(x) func:: E.sendUSBHID(data) func:: E.setBootCode(code) Сохраняет в флеш-памяти микроконтроллера JavaScript-код ''code'', который исполняется первым делом всякий раз при старте платы или аппаратном сбросе. E.setBootCode('var on=false;setInterval(function(){on=!on;digitalWrite(LED1,on);},500);'); Используйте пустую строку в качестве ''code'' для очистки кода загрузки. //Доступна с версии 1v85.1113// func:: E.setUSBHID(opts) func:: E.srand(v) func:: E.sum(arr) func:: E.toArrayBuffer(str) func:: E.toString(args0, args1, ... , argsN) Конвертирует набор переменных 'args0'...'argsN', где переменная может быть числом, массивом или строкой в объеденную строку. При этом числовые переменные конвертируются в соответствующие символы ASCII. E.toString('A',65,[66,67]); // Выведет AABC func:: E.toUint8Array(args, ...) func:: E.unmountSD() Функция размонтирует SD-карту func:: E.variance(arr, mean)