(ЛОГОТИП) Based on Espruino 1v91.193 (c) 2016 G.Williams, Amperka LLC Support the work of core developers: http://espruino.com/Donate >Erasing Flash.... Writing.......... Compressed 87200 bytes to 7316 Checking... Done! Loading 7316 bytes from flash... ERROR: Prompt not detected - upload failed. Trying to recover... Uncaught InternalError: Timeout on I2C Write Transmit Mode 2 at line 1 col 352 ...o(this._PN532_I2C_ADDRESS,f),this._imWaitingFor.push(this._r... ^ in function "_sendCommandCheckAck" called from line 1 col 164 ...eckAck(this._packetBuffer,1),this._imWaitingFor.push(this._S... ^ in function "wakeUp" called from line 18 col 2 }); ^ > =undefined >echo(1) =undefined >
Код // настраиваем I2C1 для работы модуля I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000}); // подключаем модуль к I2C1 и пину прерывания var nfc = require('@amperka/nfc').connect({i2c: I2C1, irqPin: P10}); // активируем модуль nfc.wakeUp(function(error) { if (error) { print('wake up error', error); } else { print('wake up OK'); // слушаем новые метки nfc.listen(); } }); // указываем страницу для чтения данных var page2read = 5; nfc.on('tag', function(error, data) { if (error) { print('tag read error'); } else { // выводим в консоль полученные данные print(data); // читаем указанную страницу данных nfc.readPage(page2read, function(error, buffer) { if(error) { print('page read error'); } else { print('page read result: ', buffer); // обновляем данные для записи. Например, увеличиваем на единицу for (var i in buffer) { buffer++; } // перезаписываем метку новыми данными на ту же страницу nfc.writePage(page2read, buffer, function(error) { if (error) { print('write page ERROR'); } else { print('write page OK'); } }); } }); } // каждые 1000 миллисекунд слушаем новую метку setTimeout(function () { nfc.listen(); }, 1000); });
Код (Javascript): // настраиваем I2C1 для работы модуля I2C1.setup({sda: SDA, scl: SCL, bitrate: 400000}); // подключаем модуль к I2C1 и пину прерывания var nfc = require('@amperka/nfc').connect({i2c: I2C1, irqPin: P10}); // активируем модуль nfc.wakeUp(function(error) { if (error) { print('wake up error', error); } else { print('wake up OK'); // слушаем новые метки nfc.listen(); } }); // указываем страницу для чтения данных var page2read = 5; nfc.on('tag', function(error, data) { if (error) { print('tag read error'); } else { // выводим в консоль полученные данные print(data); // читаем указанную страницу данных nfc.readPage(page2read, function(error, buffer) { if(error) { print('page read error'); } else { print('page read result: ', buffer); // обновляем данные для записи. Например, увеличиваем на единицу for (var i in buffer) { buffer++; } // перезаписываем метку новыми данными на ту же страницу nfc.writePage(page2read, buffer, function(error) { if (error) { print('write page ERROR'); } else { print('write page OK'); } }); } }); } // каждые 1000 миллисекунд слушаем новую метку setTimeout(function () { nfc.listen(); }, 1000); });
Uncaught InternalError: Timeout on I2C Write Transmit Mode 2 at line 1 col 352 ...o(this._PN532_I2C_ADDRESS,f),this._imWaitingFor.push(this._r... ^ in function "_sendCommandCheckAck" called from line 1 col 164 ...eckAck(this._packetBuffer,1),this._imWaitingFor.push(this._S... ^ in function "wakeUp" called from line 18 col 2 }); ^ Теперь вот