JavaScript — чтение данных с устройства

Чтение данных с устройства

Я пытаюсь прочитать данные с внешнего устройства.

Я пытаюсь (и понимаю, как) использовать обещание.

В моем случае я могу прочитать три типа «Сервис», один для ускорения, гироскопический и магнитометр, один для давления и один для батареи.

 async setupNotifications1(device) { var timeagm = 0 var time = 0 const service = this.serviceGeneral(); const serviceBat = this.serviceBattery(); const promises = [ device.readCharacteristicForService(service, this.AccGyrMg), device.readCharacteristicForService(service, this.Pressure), device.readCharacteristicForService(serviceBat, this.Battery) ] Promise.all(promises) .then((values) ={amp}gt; { const bufAccGyrMg = Buffer.from(values[0].value, "base64"); const [...acc_dx] = [2, 4, 6].map(index ={amp}gt; bufAccGyrMg.readInt16LE(index)); this.setState(state ={amp}gt; ({ acc_dx, array_acc_dx: [...state.array_acc_dx, [timeagm, acc_dx]] })); const [...gyr_dx] = [8, 10, 12].map(index ={amp}gt; bufAccGyrMg.readInt16LE(index)); this.setState(state ={amp}gt; ({ gyr_dx, array_gyr_dx: [...state.array_gyr_dx, [timeagm, gyr_dx]] })); const [...mg_dx] = [14, 16, 18].map(index ={amp}gt; bufAccGyrMg.readInt16LE(index)); this.setState(state ={amp}gt; ({ mg_dx, array_mg_dx: [...state.array_mg_dx, [timeagm, mg_dx]] })); timeagm  = 20 /* Pressione */ const bufPressure = Buffer.from(values[1].value, "base64"); const [...pressure_dx] = [0, 2, 4, 6, 8].map(index ={amp}gt; bufPressure.readUInt16LE(index)); this.setState(state ={amp}gt; ({ pressure_dx, array_pressure_dx: [...state.array_pressure_dx, [time, pressure_dx]] })); time  = 20 /* Battery */ const batterylv = Buffer.from(values[2].value, "base64").readInt8(0); this.state.batterylv_dx = batterylv }) .catch(error ={amp}gt; { this.error(error.message); }); } 

В этом случае мой код печатает массив пустым.

ReadCharacteristicForService выглядит так:

 device.readCharacteristicForService( serviceUUID: UUID, characteristicUUID: UUID, transactionId: ?TransactionId ): Promise{amp}lt;Characteristic{amp}gt; 

Как я могу сделать, чтобы исправить свой код? Спасибо

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector