AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

BLE auf Android furchtbar langsam

Ein Thema von dudi · begonnen am 18. Sep 2023 · letzter Beitrag vom 25. Sep 2023
Antwort Antwort
dudi

Registriert seit: 21. Dez 2004
7 Beiträge
 
#1

AW: BLE auf Android furchtbar langsam

  Alt 21. Sep 2023, 10:17
Moin,
@Rollo62
ja, das ist so angelegt. Es werden in OnReadChar nur die Bytes abgeholt und in eine Queue geworfen.
Z.Z. werden die Daten sogar verworfen und es läuft nur noch ein Zähler.

@jaenicke
Danke für den Tipp, wenn man weiß wonach man suchen muss, dann ist es einfacher, etwas zu finden. Ich bin aber ehrlich, ich bin gar nicht auf die Idee gekommen dort zu schauen. Erste Anlaufstelle war das Internet, das glänzt aber mit wenig Auskünften, was BLE u. FMX u. Priority angeht. Ist wohl zu speziell. Wie es in Android Studio geht, hingegen kein Problem.
Die Hilfe von Embarcadero hält sich an der Stelle auch vornehm zurück.

In C ist das dann "Androidapi.JNI.Bluetooth.hpp".
Hier sind dann
virtual bool __cdecl requestConnectionPriority(int connectionPriority) = 0 ;
virtual bool __cdecl requestMtu(int mtu) = 0 ;

zu finden. Leider wird die Funktion nicht requestConnectionPriority nicht durchgereicht, requestMtu schon (das geht, soweit ich weiß auch unter MS).
Na mal sehen ob ich das hinbekomme.
  Mit Zitat antworten Zitat
dudi

Registriert seit: 21. Dez 2004
7 Beiträge
 
#2

AW: BLE auf Android furchtbar langsam

  Alt 21. Sep 2023, 15:15
Moin zusammen,
eigentlich hatte ich gedacht, ich bekomme das mit den vorherigen Tips hin, Fehlanzeige!
Habe nun den ganzen Tag damit verdaddelt.
Muss nochmal den Rat der Experten einholen.

Ich nahm eigentlich an, das folgender Code ausreichend ist um an die requestConnectionPriority zu kommen.
Androidapi.JNI.Bluetooth ist in uses eingebunden und in Androidapi.JNI.Bluetooth.pas so deklariert.

TJBluetoothGatt = class(TJavaGenericImport<JBluetoothGattClass, JBluetoothGatt>) end;

Hier nun mein Code:

<snip>
var
JBluetoothGatt:TJBluetoothGatt; // requestConnectionPriority added in API level 21

begin

JBluetoothGatt.Create;

JBluetoothGatt.Wrap(self).requestConnectionPriorit y(JBluetoothGatt.JavaClass.CONNECTION_PRIORITY_HIG H); // das ist quatsch aber alle Funktionsaufrufe sind sichtbar, warum ????

JBluetoothGatt.Free;

end;

<snip>

Ich hätte jetzt eher so einen Funktion erwartet: JBluetoothGatt.requestConnectionPriority(CONNECTIO N_PRIORITY_HIGH);

JBluetoothGatt hat keine Funktionen. Erst Wrap lässt mich auf die Funktionen (Liste) zugreifen.
Ich habe keinen Ahnung was AJINIObjektID oder IJavaInstance sein soll, mit der Wrap aufzurufen ist.

Wie auch immer, ich bin mir sicher, das das völlig anders zu handeln ist. Wie geht's richtig? Vielleicht geht mir ja dann ein auf.
  Mit Zitat antworten Zitat
dudi

Registriert seit: 21. Dez 2004
7 Beiträge
 
#3

AW: BLE auf Android furchtbar langsam

  Alt 25. Sep 2023, 16:01
Moin,
Ich befürchte, das es noch nicht reicht. Leider ist für mich das FMX u. dort BLE völliges Neuland.
Ich habe nachdem das Device verbunden ist und auch die Notification eingeschaltet ist, versucht, requestConnectionPriority() aufzurufen.

wie hier:
ADevice ist das verbundenen Device in der Form "const ADevice: TBluetoothLEDevice".


TJBluetoothGatt.Wrap(ADevice).requestConnectionPri ority(TJBluetoothGatt.JavaClass.CONNECTION_PRIORIT Y_LOW);

Leider werden meinen Aufrufe mit einem Exception quittiert. Vielleicht kannst mir da jemand den kompletten Funktionsauruf als Beispiel zeigen.
Ich habe schon zu viel Zeit mit probieren vertan.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz