Étape 8: Créer le logiciel d’acquisition de données de l’os à nu - part2 : interruption des données et transmission
Si l’étape de previsios s’est déroulée, sur la broche de nDRDY de la ADS1299 une impulsion avec une fréquence de 1kHz doit être présente : c’est le signal de prêt de données acquises.
Un GPIO avec interruption doit être utilisé. Heureusement le SDK a aussi un exemple pour cela. La seule moddification est dans la fonction de gestionnaire ISR.
La partie supérieure mentionné petit bout de code affiche la petite monnaie. Dans le gestionnaire d’interruption, nous vérifions l’état de la GPIO. S’il est faible, nous avons des données valides, donc nous l’avons lu. Les données sont dans l’ordre suivant: OP CH1 CH2 CH3... CH8. L’OP contient quelques options comme la détection de plomb, tandis que le RCS est les données sur le chanel n (24 b de données).
Pour la transmission, le périphérique UART est utilisé puisque the Start condition a lieu lorsque l’utilisateur commence l’acquisition du téléphone, une interruption doit être utilisée à l’extrémité du récepteur. Mon réglage pour la communication Bluetooth UART était 230400 bauds/s vitesse avec le protocole suivant :
250P p... p 255 est le protocole patient, ici nous avons commencer à envoyer des informations telles que nom, date, etc de naissance.
251... 255 est la fin du protocole de données sur les patients.
- 252 p p... p 255 est le protocole de démarrage, avec cela l’acquisition de données est démarrée - ici les bits de p seront traduira par des paramètres d’échantillonnage comme, un tir avec intervalle défini, un seul coup indéfiniment, fréquence d’échantillonnage, etc.
- p p 253... p 255 est le protocole d’arrêt
- 254D d... d 254 est le protocole de données ECG
Jusqu'à présent, un paquet de longueur 16 b est utilisé : START CH_NUM(2) CHi(3) CHj(3) CHk(3) CHl(3) s’arrêter, où 2 octets sont utilisés pour l’identification des données, et 24 b 4 données distinctes sont envoyées vers l’appareil android.
Après quelques observations, que la conclusion était de réduire la taille des paquets, l’affichage sur ces appareils android est si petit, qu'un changement de 8 b dans les données est tolérable, avec 16 b des données échantillonnées, la taille de paquet final est 11 b, étant donné que le nombre de Chanel peut également être redimensionné. Cet octet CH_NUM sera utile lorsque vous utilisez tous les 8 chaines de l’ADC, mais seulement transmiting 4.