PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → BTLECaractéristiqueChangementValeur - latences et instances de CallBack
BTLECaractéristiqueChangementValeur - latences et instances de CallBack
Débuté par Pucpood, 11 juil. 2024 12:16 - Aucune réponse
Membre enregistré
385 messages
Posté le 11 juillet 2024 - 12:16
Hello,

Après quelques déboires mais un succès pour me brancher sur les caractéristiques voulues de mon device BTLE, je reçois parfaitement les premiers octets qu'il m'envoie.
Seulement il semble que je ne réponde pas assez vite au device qui, de ce fait, part en timeout au bout de 2 ou 3 échanges.

Je fais appel à BTLECaractéristiqueChangementValeur, qui se déclenche bien. J'ai dans ma callback un minimum de traitement pour déterminer si j'ai bien tout reçu, puis, si c'est le cas, j'envoie l'accusé de réception que le device attend. Mais mon temps de réponse doit être limite : ça passe au début mais pas plus loin, le device part en timeout.

Voici ma CallBack
Procedure BTLEUartRx_CallBack(pCarac est une btleCaractéristique <utile>, pBufValeur est un Buffer)
gbufTrame += pBufValeur // buffer global dans lequel je concatène les octets reçus
// on veut envoyer ACK le plus rapidement possible, mais on doit d'abord s'assurer qu'on a la trame complète car on n'a que 20 octets à la fois.
// et si on attendait un peu et qu'on force une lecture ?...
// Il faut d'abord savoir si plusieurs instances de cette CallBack peuvent être appelées en parallèle ...
SI ( Droite(pBufValeur, 2) = bufCRLF ) ALORS
BTLECaractéristiqueEcritValeur(maCaracUartTxBTLE, 0x06)
FIN


Quelqu'un sait-il comment ça se passe si j'ai une 2ème réception avant que le traitement de la 1ère soit terminé ?
Aurais-je alors plusieurs instances de la CallBack ?
Si je veux réduire ma CallBack à gbufTrame += pBufValeur, quel événement puis-je déclencher pour déléguer le reste de son code ( DemandeMiseAJourUI() ?, ... ) ?
-> il faut un événement qui s'exécute sans délai ...

Je sais que certains d'entre vous on travaillé le sujet @CEZAME, @Philippe, ... avez-vous des expériences à partager ?

A bientôt !