Bonjour,
Alors je vais essayer d'exposer au mieux mon problème. J'étudie actuellement un réseau Bluetooth en scatternet via un kit de développement. L'un de mes device est en passerelle et reçoit les données de deux autres devices en mode multiplex.
Je m'explique : sur ce device différentes trames de données arrivent des autres modules connectés. Ces trames sont de la forme suivante :
[8bits] de start of frame fixé à 0xBF
[8bits] de link ID
[6bits] frame flags tjrs a 0x00
[10bits] taille des données
[0-1023bits] Données
[8bits] link Xor 0xFF
Elles arrivent bien sur de façon aléatoire et s'entre-mêlent ! Bon les mots que j'utilise ne sont pas tres techniques ....
Je vais essayer de donner un exemple : un materiel envoie le mot BONJOUR et un autre CIAO. A la réception les trames vont etre de la forme BF XX XX 03 BON XX / BF XX XX 04 CI AO XX / BF XX XX 04 JO UR XX
Je voudrai pouvoir dissocier les trames en fonction donc du link ID puis recoller les morceaux pour les afficher. Alors c'est là que tout se corse !
J'envisage donc de bufferiser les données pour ensuite découper la chaîne de donnée suivant le délimiteur 0xBF et par la suite extraire une sous-chaîne (DATA) de la chaine restante. Le code me semble tres lourd pour la tache à réaliser, je me demande donc si il n'y a pas d'autres moyens connus des développeurs ??!!! Ou peut etre que je me complique la tâche et que je ne cerne pas bien la problématique...
Pouvez vous me conseiller sur la possibilité de ce choix ?
Merci d'avance !!!
Partager