0
writeQ関数で20バイト以上を送信しようとしましたが、うまくいきませんでした。もちろん、私は私がsthを間違えたと思う私の送信関数です:イオン交換のbluetoothleプラグインで20バイト以上を送信
$scope.sendText = function (inputText) {
var bytes = bluetoothle.stringToBytes(inputText);
var encodedString = bluetoothle.bytesToEncodedString(bytes);
if (inputText.length < 20) {
bluetoothle.write(
function (result) {
alert("data transmitted" + JSON.stringify(result));
},
function (error) {
alert("data transmission failed" + JSON.stringify(error));
},
{
value: encodedString,
service: $scope.sendCharService.serviceId,
characteristic: $scope.sendCharService.uuid,
type: "noResponse",
address: $scope.deviceId
}
);
}
else {
bluetoothle.writeQ(
function (result) {
alert("data transmitted" + JSON.stringify(result));
},
function (error) {
alert("data transmission failed" + JSON.stringify(error));
},
{
value: encodedString,
service: $scope.sendCharService.serviceId,
characteristic: $scope.sendCharService.uuid,
type: "noResponse",
address: $scope.deviceId
}
);
}
}
if文ブロックは完全に動作しますが、elseはありません! 私は何が欠けていますか?
実際に応答なしの書き込みの背後にあるATT書き込みコマンドは、最大で「ATT_MTU-3」バイトまで動作します。 'ATT_MTU'はデフォルトで23で始まりますが、MTU交換後にはもっと高くなる可能性があります。 –
@BogdanAlexandru長いMTUについてお聞きしますか?常にサポートされているわけではありません。 –
@ EirikM問題は、私が持っている「書き込み」、「応答なしで書き込み」、「読み取り」、「通知」の唯一の特性です。 –